SYSTEM Cited by 1 source
NullAway (Uber)¶
NullAway is Uber's open-source static-analysis tool for Java null-safety. Built on top of ErrorProne; runs as a checker during compilation. Source: github.com/uber/NullAway.
Role in the wiki¶
NullAway is named in the 2024-12-18 Meta post alongside Nullsafe as the canonical "null-safe Java" tooling a large Android codebase would use before it could meaningfully translate to Kotlin: "by 'null safe' we mean code checked by a static analyzer such as Nullsafe or NullAway." Meta's pipeline assumes one of these classes of tool is in place on the Java side; otherwise, Kotlin translation injects NPEs at scale.
Shared limitation with Nullsafe¶
NullAway, like Nullsafe, is a static analyser, and
"static analysis is only 100% effective for 100% code
coverage." Both tools accept annotations; both can't prevent
a non-annotated dependent from passing null into an
annotated method. The Meta post argues this is why
runtime nullability
telemetry becomes necessary as a migration matures.
Seen in¶
- sources/2024-12-18-meta-translating-10m-lines-of-java-to-kotlin — named alongside Nullsafe as the class of tool translation depends on.
Related¶
- systems/nullsafe — Meta's sibling tool.
- concepts/interlanguage-null-safety — the broader problem.
- companies/uber — Uber is the author.