Software Open Access

NullAway: Practical Type-Based Null Safety for Java

Subarno Banerjee; Lazaro Clapp; Manu Sridharan

Citation Style Language JSON Export

  "publisher": "Zenodo", 
  "DOI": "10.5281/zenodo.3267950", 
  "language": "eng", 
  "title": "NullAway: Practical Type-Based Null Safety for Java", 
  "issued": {
    "date-parts": [
  "abstract": "<p>NullAway is a tool to help eliminate&nbsp;<code>NullPointerException</code>s (NPEs) in your Java code. To use NullAway, first add&nbsp;<code>@Nullable&nbsp;</code>annotations in your code wherever a field, method parameter, or return value may be&nbsp;<code>null</code>. 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&nbsp;<code>null</code>. NullAway is similar to the type-based nullability checking in the Kotlin and Swift languages, and the&nbsp;<a href=\"\">Checker Framework</a>&nbsp;and&nbsp;<a href=\"\">Eradicate</a>&nbsp;null checkers for Java.</p>\n\n<p>NullAway is&nbsp;<em>fast</em>. It is built as a plugin to&nbsp;<a href=\"\">Error Prone</a>&nbsp;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&nbsp;<em>practical</em>: 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.</p>", 
  "author": [
      "family": "Subarno Banerjee"
      "family": "Lazaro Clapp"
      "family": "Manu Sridharan"
  "version": "0.6.4", 
  "type": "article", 
  "id": "3267950"
All versions This version
Views 106106
Downloads 88
Data volume 10.0 MB10.0 MB
Unique views 9494
Unique downloads 88


Cite as