CheckOps
SpotBugs
SpotBugs 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.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
SpotBugs is FindBugs’ successor: a static analysis tool that looks for bugs in Java code. It analyses compiled bytecode rather than source, which lets it reason about the program as the JVM sees it.
It ships hundreds of bug patterns, such as null pointer dereferences, infinite recursion, bad equals and hashCode implementations, resource leaks and concurrency mistakes, grouped by category and rank. Plugins extend it, most notably Find Security Bugs for security checks. Gradle, Maven, Ant and Eclipse integrations run it in builds and IDEs.
In the quality loop SpotBugs catches correctness bugs that source-level linters miss.
The source code is at spotbugs/spotbugs on GitHub under the LGPL-2.1 licence, with about 4,000 stars; the most recent commit was on 11 November 2026.
Features
- Bytecode analysis: Works on compiled classes.
- Hundreds of patterns: Correctness, performance, concurrency and more.
- Ranks and confidence: Prioritise findings.
- Plugins: Find Security Bugs and others.
- Filters: Include and exclude files.
- Build integrations: Gradle, Maven, Ant and IDEs.
Pros
- Finds real bugs: Long track record from FindBugs.
- Free to use: Open source under the LGPL-2.1 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 11 November 2026.
- Community: About 4,000 GitHub stars.
Cons
- Needs compiled code: Runs after compilation.
- False positives: Some patterns need suppression.
- JVM only: Java and JVM bytecode.
Usage and Links (Example)
plugins { id("com.github.spotbugs") version "<latest>" }
./gradlew spotbugsMain
Resources:
Pricing
SpotBugs is free and open source under the LGPL-2.1 licence.
Recommended for?
- Java teams wanting bug-pattern detection.
- Security-conscious teams adding Find Security Bugs.
Conclusion
SpotBugs remains one of the best ways to catch real Java bugs statically.
Run it in CI and suppress patterns deliberately.
On CheckOps, SpotBugs is filed under the Release & CI gates and Security testing stages. Related tools listed here include PMD, Checkstyle, Error Prone, 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 SpotBugs 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 SpotBugs
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 SpotBugs
EError ProneError 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.Compare with SpotBugs
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 SpotBugs
SSonarQubeModernize your AI workflows with code verification for the agentic era.Compare with SpotBugs
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 SpotBugs