Software Open Access

NullAway: Practical Type-Based Null Safety for Java

Subarno Banerjee; Lazaro Clapp; Manu Sridharan


Dublin Core Export

<?xml version='1.0' encoding='utf-8'?>
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:creator>Subarno Banerjee</dc:creator>
  <dc:creator>Lazaro Clapp</dc:creator>
  <dc:creator>Manu Sridharan</dc:creator>
  <dc:date>2019-07-01</dc:date>
  <dc:description>NullAway is a tool to help eliminate NullPointerExceptions (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.</dc:description>
  <dc:identifier>https://zenodo.org/record/3267950</dc:identifier>
  <dc:identifier>10.5281/zenodo.3267950</dc:identifier>
  <dc:identifier>oai:zenodo.org:3267950</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>doi:10.5281/zenodo.3267949</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>http://www.opensource.org/licenses/MIT</dc:rights>
  <dc:subject>static code analysis</dc:subject>
  <dc:subject>pluggable type systems</dc:subject>
  <dc:subject>null safety</dc:subject>
  <dc:subject>java</dc:subject>
  <dc:title>NullAway: Practical Type-Based Null Safety for Java</dc:title>
  <dc:type>info:eu-repo/semantics/other</dc:type>
  <dc:type>software</dc:type>
</oai_dc:dc>
43
4
views
downloads
All versions This version
Views 4343
Downloads 44
Data volume 5.0 MB5.0 MB
Unique views 3131
Unique downloads 44

Share

Cite as