Hacker ApprovedDepartments

NullAway

Shares rank 10 of 12 static analyzers by recommenders

Recommended as a way to add compile-time null safety to Java, pairing with JSpecify annotations. One critic says full annotation leaves code cluttered with checks and Optional wrappers.

Recommended as a way to add compile-time null safety to Java, pairing with JSpecify annotations. One critic says full annotation leaves code cluttered with checks and Optional wrappers.

6 people gave an opinion

recommend it
5
criticize it
1
approval share
83%
Each figure is one person. RecommendsCriticizes

Recommended in 3 of 13 months

  1. November 2025: not recommended
  2. December 2025: not recommended
  3. January 2026: recommended
  4. February 2026: not recommended
  5. March 2026: not recommended
  6. April 2026: not recommended
  7. May 2026: not recommended
  8. June 2026: recommended
  9. July 2026: not recommended
  10. August 2026: not recommended
  11. September 2026: recommended
  12. October 2026: not recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 5 people recommend itNeeds 10 or more, not met.
  • 5 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 3 of 13 monthsNeeds 4 or more, not met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Compile-time null safety for Java

    “Combine that with NullAway are you have compile time null safety”

    Comment from 21 Jun 2026 in “Excessive nil pointer checks in Go”

    “are a really good way to add null safety to Java applications”

    Comment from 15 Sep 2026 in “Java 27”

    “Use NullAway and it basically makes the problem go away.”

    Comment from 15 Sep 2026 in “Java 27”
  • Forces fully annotated non-nullable types

    “NullAway and JSpecify encourage making as many types non-nullable as possible”

    Comment from 16 Sep 2026 in “Java 27”

    “NullAway really forces you to correctly and fully null annotate your code.”

    Comment from 21 Jun 2026 in “Excessive nil pointer checks in Go”

    “Any serious project will be using NullAway and annotating everything”

    Comment from 15 Sep 2026 in “Java 27”
  • Makes null problems go away

    “Use NullAway and it basically makes the problem go away.”

    Comment from 15 Sep 2026 in “Java 27”

    “already (in my opinion) a solved problem”

    Comment from 5 Jan 2026 in “Was It Really a Billion Dollar Mistake?”

Other static analyzers people recommend

The four most recommended other static analyzers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

NullAway compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
zizmor19195%6—Approved
Semgrep141058%7——
clang-tidy14478%6—Approved
PHPStan110100%7—Approved
NullAwayThis page5183%3——
See all 12 static analyzers, ranked

What people said

All 8 comments that mention it, newest first. Each links to the original comment.

“NullAway and JSpecify encourage making as many types non-nullable as possible”

RecommendsComment from 16 Sep 2026 in “Java 27”

“sprinkled your code with ugly annotations and ifs and Optional Optional.of(x).map(y) all over the place”

CriticizesComment from 15 Sep 2026 in “Java 27”

“Use NullAway and it basically makes the problem go away.”

RecommendsComment from 15 Sep 2026 in “Java 27”

“are a really good way to add null safety to Java applications”

RecommendsComment from 15 Sep 2026 in “Java 27”

“Any serious project will be using NullAway and annotating everything”

RecommendsComment from 15 Sep 2026 in “Java 27”

“NullAway really forces you to correctly and fully null annotate your code.”

RecommendsComment from 21 Jun 2026 in “Excessive nil pointer checks in Go”

“Combine that with NullAway are you have compile time null safety”

RecommendsComment from 21 Jun 2026 in “Excessive nil pointer checks in Go”

“already (in my opinion) a solved problem”

RecommendsComment from 5 Jan 2026 in “Was It Really a Billion Dollar Mistake?”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.