FindBugs | |
Developer: | Bill Pugh and David Hovemeyer |
Operating System: | Cross-platform |
Programming Language: | Java |
Genre: | Static code analysis |
License: | GNU Lesser General Public License |
Released: | [1] |
FindBugs is an open-source static code analyser created by Bill Pugh and David Hovemeyer which detects possible bugs in Java programs.[2] [3] 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.[4] 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,[5] NetBeans,[6] IntelliJ IDEA,[7] [8] [9] Gradle, Hudson,[10] Maven,[11] Bamboo[12] and Jenkins.[13]
Additional rule sets can be plugged in FindBugs to increase the set of checks performed.[14]
SpotBugs | |
Developer: | SpotBugs team |
Repo: | GitHub |
Programming Language: | Java |
Operating System: | Cross-platform |
Replaces: | FindBugs |
License: | GNU Lesser General Public License |
Website: | Homepage, Manual |
Released: | [15] |
Latest Release Version: | 4.6.0 |
SpotBugs is the spiritual successor of FindBugs, carrying on from the point where it left off with support of its community.
In 2016, the project lead of FindBugs was inactive but there are many issues in its community so Andrey Loskutov gave an announcement [16] to its community, and some volunteers tried creating a project with support for modern Java platform and better maintainability. On September 21, 2017, Andrey Loskutov again gave an announcement [17] about the status of new community, then released SpotBugs 3.1.0 [18] with support for Java 11 the new LTS, especially Java Platform Module System and invokedynamic
instruction.
There are also plug-ins available for Eclipse,[19] IntelliJ IDEA,[20] Gradle,[21] Maven[22] and SonarQube.[23] SpotBugs also supports all of existing FindBugs plugins such as sb-contrib,[24] find-security-bugs,[25] with several minor changes.[26]
SpotBugs have numerous areas of applications: