{"repo":"uber/NullAway","free":true,"listed":false,"github":"https://github.com/uber/NullAway","clone":"git clone https://github.com/uber/NullAway.git","description":"A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead","language":"Java","stars":4090,"topics":["java","static-analysis","android","nullability","nullability-analysis","static-code-analysis"],"license":"MIT","category":"mobile-apps","readme_excerpt":"NullAway: Fast Annotation-Based Null Checking for Java 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 be null . Given these annotations, NullAway performs a series of type-based, local checks to ensure that any pointer that gets dereferenced in your code cannot be null . 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.\" Installation Overview NullAway requires that you build your code with JDK 17 or higher and Error Prone, version 2.36.0 or higher. See the Error Prone documentation for instructions on getting started with Error Prone and integration with your build system. The instructions below assume you are using Gradle; see the docs for discussion of other build systems. If you are building with JSpecify mode enabled, we recommend building with the most recent JDK available; see the wiki docs on ","default_branch":null,"files":null,"tree":[],"storefront":"/r/uber","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/uber/NullAway/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}