The long good-bye to NPE
summary
Eleven years after the original promise, NullPointerExceptions still occur; the work produces concrete advances: JDT implements flow analysis for locals, method-level null contracts, and a conservative syntactic field checks rule that forbids any intervening code between null check and dereference. Java 8 type-use annotations let generics carry nullness, and an external annotation format (.eea) plus IDE Ctrl‑1 support, exportable artifact handling and classpath-container integration let CI and the IDE share annotations. A brute-force batch-compile mode scans classpath entries for external .eea files to reduce runtime NPE risk.
AI-written summary · about
chapters (6)
- 0:00Start
- 3:02Null Reference Analysis
- 4:45Using Annotations for Null Checking
- 9:40Null Annotations on Types
- 19:58Generics meet Legacy
- 23:53How do clients see my code?
related talks
52mPreventing null pointer exceptions at compile time
36mJSpecify: Getting Rid of the Billion-Dollar Mistake in Java for Good This Time
53mNulls are dead
48mNull-safe applications with Spring Boot 4
36mRetrofitting Null-Safety into Java
54mJava Puzzlers NG: The strange, the bizarre, and the wonderful
41mNull Safety in Java with JSpecify and NullAway
29mHow (Not) To Write Java Pointer Analyses After 2020
