CheckOps
Error Prone
Error Prone is an Apache-2.0 static analysis tool from Google that hooks into the Java compiler to catch common mistakes as compile-time errors, with suggested fixes.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Error Prone catches common Java mistakes as compile-time errors. It plugs into javac as a compiler plugin, so checks run during normal compilation and report problems with source positions and, often, suggested fixes.
Its bug patterns come from Google’s experience with a large Java codebase: misuse of equals, ignored return values, incorrect format strings, dangerous collection calls and more. Severity can be raised or lowered per check, and NullAway, a separate project, builds on it for null safety. Maven, Gradle and Bazel integrations are documented.
In the quality loop Error Prone moves bug detection into the compile step.
The source code is at google/error-prone on GitHub under the Apache-2.0 licence, with about 7,300 stars; the most recent commit was on 11 November 2026.
Features
- Compiler plugin: Runs inside javac.
- Hundreds of bug patterns: Built from real-world Java mistakes.
- Suggested fixes: Patches for many findings.
- Severity control: Per-check levels.
- Custom checks: Write your own BugCheckers.
- Build integrations: Maven, Gradle and Bazel.
Pros
- Zero extra step: Errors appear during compilation.
- Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 11 November 2026.
- Community: About 7,300 GitHub stars.
Cons
- JDK coupling: Requires specific JDK flags.
- Build setup: Configuration differs per build tool.
- Java only: Not for Kotlin.
Usage and Links (Example)
plugins { id("net.ltgt.errorprone") version "<latest>" }
dependencies { errorprone("com.google.errorprone:error_prone_core:2.52.0") }
Resources:
Pricing
Error Prone is free and open source under the Apache-2.0 licence.
Recommended for?
- Java teams wanting compiler-level bug checks.
- Large codebases standardising on Google practices.
Conclusion
Error Prone stops many Java bugs before code even compiles.
Enable it early in new projects to avoid a backlog.
On CheckOps, Error Prone is filed under the Release & CI gates stage. Related tools listed here include PMD, SpotBugs, Checkstyle, Find Security Bugs, SonarQube and Infer. Before standardising on one, compare recent maintenance activity, the pricing model as your usage grows, and the integrations you rely on today. Information on this page was verified against the official website, documentation and repository on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Error Prone side by side.
PPMDPMD is an extensible, BSD-style licensed multi-language static code analyser for Java, Apex, Kotlin, JavaScript and more, with a copy-paste detector (CPD).Compare with Error Prone
SSpotBugsSpotBugs is an LGPL-2.1 static analysis tool, the successor to FindBugs, that inspects Java bytecode for bug patterns, with plugins such as Find Security Bugs.Compare with Error Prone
CCheckstyleCheckstyle is an LGPL-2.1 development tool that checks Java code against a coding standard, with built-in Google and Sun configurations and build integrations.Compare with Error Prone
FFind Security BugsFind Security Bugs is the LGPL-3.0 SpotBugs plugin for security audits of Java web and Android applications, also working with Kotlin, Groovy and Scala projects.Compare with Error Prone
SSonarQubeModernize your AI workflows with code verification for the agentic era.Compare with Error Prone
IInferInfer is an MIT static analyser from Meta for Java, C, C++ and Objective-C that finds null dereferences, resource leaks, races and other bugs with inter-procedural analysis.Compare with Error Prone