FindBugs is an open-source static code analyser created by Bill Pugh and David Hovemeyer which detects possible bugs in Java programs. Potential errors are classified in four ranks: (i) scariest, (ii) scary, (iii) troubling and (iv) of concern. This is a hint to the developer about their possible impact or severity. FindBugs operates on Java bytecode, rather than source code. The software is distributed as a stand-alone GUI application. There are also plug-ins available for Eclipse, NetBeans, IntelliJ IDEA, Gradle, Hudson, Maven, Bamboo and Jenkins.

Additional rule sets can be plugged in FindBugs to increase the set of checks performed.

FindBugs

See also

List of tools for static code analysis

External links

Manual

List of bug patterns

fb-contrib: additional bug detectors for FindBugs

FindSecurityBugs: additional security-oriented bug detectors for FindBugs

FindBugs-IDEA – The FindBugs Plugin for IntelliJ IDEA

SpotBugs

SpotBugs is the spiritual successor of FindBugs, carrying on from the point where it left off with support of its community.

FindBugs

In 2016, the project lead of FindBugs was inactive but there are many issues in its community so Andrey Loskutov gave an announcement to its community, and some volunteers tried creating a project with support for modern Java platform and better maintainability. In 2017 Sep, Andrey Loskutov again gave an announcement about the status of new community, then released SpotBugs 3.1.0 with support for Java 11 the new LTS, especially Java Platform Module System and invokedynamic instruction.

FindBugs

There are also plug-ins available for Eclipse, IntelliJ IDEA, Gradle, Maven and SonarQube. SpotBugs also supports all of existing FindBugs plugins such as sb-contrib, find-security-bugs, with several minor changes.

Applications

SpotBugs have numerous areas of applications:

Testing during a Continuous Integration or Delivery Cycle. Locating faults in an application. During a code review.

External links

SpotBugs Official Website

SpotBugs Manual

List of bug patterns

References

Static program analysis tools

Java development tools

Free software testing tools