Contributor
the1derer

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.