https://github.com/uber/NullAway
Saved on 2024-04-28 [19841 edays] via github.com
Modified 2024-04-28 [19841 edays]
java programming
NullAway is a tool to help eliminate
NullPointerException
s (NPEs) in your Java code. To use NullAway, first add@Nullable
annotations in your code wherever a field, method parameter, or return value may benull
. Given these annotations, NullAway performs a series of type-based, local checks to ensure that any pointer that gets dereferenced in your code cannot benull
. NullAway is similar to the type-based nullability checking in the Kotlin and Swift languages, and the Checker Framework and Eradicate null checkers for Java.NullAway is fast. It is built as a plugin to Error Prone and can run on every single build of your code. In our measurements, the build-time overhead of running NullAway is usually less than 10%. NullAway is also practical: it does not prevent all possible NPEs in your code, but it catches most of the NPEs we have observed in production while imposing a reasonable annotation burden, giving a great "bang for your buck."