uber/nullaway

A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 9 minutes ago
Type:Library / SDKCategory(s):Code Quality & Static AnalysisDeveloper Tools
Added to GitGenius on September 16th, 2026
Created on September 1st, 2017
Open Issues & Pull Requests: 162 (+0)
GitHub issues: Enabled
Number of forks: 369
Total Stargazers: 4,108 (+0)
Total Subscribers: 68 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 17.9 hours
Mean response time: 63.1 days
90th percentile: 76.4 days
Tracked items: 332

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 10% of issues opened in the past year have never received a reply. 51% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "enhancement" is answered fastest, typically in about 9 hours, while "jspecify" waits about 4 days. 42% of tracked open issues have had no activity in three months. 74% of issues opened in the past year have been closed, leaving a working backlog.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 79
New in 7 days: 10
Closed in 7 days: 8
Avg open age: 378 days
Stale 30+ days: 53
Stale 90+ days: 47

Recent activity

Opened in 7 days: 8
Closed in 7 days: 8
Comments in 7 days: 5
Events in 7 days: 16

Top labels

  • jspecify (81)
  • bug (28)
  • highpriority (18)
  • enhancement (15)
  • false positive (11)
  • good first issue (10)
  • lowpriority (8)
  • false negative (6)

Detailed Description

NullAway is a static analysis tool that helps eliminate NullPointerExceptions in Java code with minimal build-time overhead.

NullPointerExceptions remain a common source of runtime failures in Java applications. NullAway addresses this by performing nullability analysis during compilation, identifying potential null pointer dereferences before code reaches production. The tool integrates into the Java compiler as a plugin and tracks which variables and fields can be null, flagging unsafe dereferences as compiler warnings or errors depending on configuration.

NullAway suits teams working on large Java codebases where null safety is a priority but where adopting a fully null-safe language is not feasible. It works well for Android development and server-side Java applications alike. The tool is designed to be adopted incrementally, allowing teams to enable checking on specific packages or modules without requiring immediate changes across an entire codebase. Its low build-time overhead makes it practical for continuous integration pipelines where compilation speed matters.

The project shows sustained development activity with regular engagement on issues and pull requests. Contributions come from multiple developers beyond the original authors, indicating community investment in the tool's evolution. The maintainers actively review and merge changes that improve the analysis accuracy and expand the tool's capabilities. Development discussions demonstrate attention to edge cases in nullability detection and practical concerns around integrating the tool into existing build systems.