Nullness Checker Case Study on Bazel Build tool
- Mentors
- Suzanne Millstein, Michael Ernst
- Organization
- Checker Framework
As seen on Bazel’s Issue Page, Bazel suffers from numerous NullPointerException
( NPE ). These NPEs come out at runtime as RuntimeException
causing a crash at runtime this leads to a large number of Issues being generated. This could be a result of not handling possible null
values not being handled in many cases or outright poor design choices(as seen in many issues due to not handling null
OR empty string as arguments while using certain flags).
Checker Framework's Nullness Checker runs as a compiler plug-in, and it issues a warning at every possible null pointer dereference. If it issues no warnings, the code is guaranteed not to throw a NullPointerException
at run time.
My project will ensure the significant reduction of these NullPointerException(s) before they happen (by checking them at compile time) rather than relying on users to report them and fixing them.