fb-contrib™: A FindBugs™ auxiliary detector plugin
fb-contrib™ is an extra detector plugin to be used with the static bug
finder FindBugs™ (findbugs.sourceforge.net). Just download the fb-contrib.jar
file, and place it in the appropriate location based on how you wish to use it. (See below). FindBugs™ will
automatically pick up the jar file, and incorporate these detectors with its
fb-contrib can be used from the Findbugs™ Gui, Ant, or the eclipse plugin.
To run fb-contrib from the gui, or ant, just place the fb-contrib jar in the plugins directory inside of the
To run fb-contrib from eclipse, assuming that the main FindBugs plugin is installed,
simply drop the fb-contrib.jar in the plugins directory of eclipse, and restart eclipse.
The latest version of fb-contrib is 6.0.1 available for download
This version requires FindBugs 3.0.1 or better
Please note that active development for this project is now done on
github. If this site seems behind, please check there.
I will try to keep this site up to date, but I'd appreciate a poke if you see something missing.
Detectors added in git
- [STB] Stacked Try Blocks
Looks for two or more try catch blocks that are consecutive and catch the
same kind of exception, and throw the same exception always. These blocks can
be coalesced into one.
- [CSI] Charset Issues
Looks for issues related to manually specified charsets by using string literals.
- [CBC] Contains based Conditional
Looks for complex if expressions made up of multiple conditions joined by OR, whereit is much cleaner
to build a static set of the possible values, and use the contains method on that set.
- [OPM] Overly Permissive Method
Looks for methods that are declared more permissively than the code is using. For instance, declaring
a method public, when it could just be declared private.
- [CIS] Class Impersonating String
Looks for string fields that appear to be built with parsing or calling
toString() on another object, or from objects that are fields.
- [SLS] Suspicious Loop Search
Looks for loops where an equality check is made and a variable is set because of it.
It would seem once the item is found, the loop can be terminated, but is not.
- [CRF] Conflating Resources and Files
Looks for code that uses the File api on URI/URLs where the reference is not a file based one.
In the case of classpath URIs, this may work if the classpath is resolving to a folder, but will
fall for jar files.
Detectors added in v6.0.0
Detectors added in v5.2.0
Detectors added in v5.0.0
Detectors added in v4.8.0
Detectors added in v4.6.0
Detectors added in v4.4.0
Detectors added in v4.2.0
Detectors added in v4.0.0
Detectors added in v3.8.0
Detectors added in v3.6.0
Detectors added in v3.4.0
Detectors added in v3.2.0
Detectors added in v3.0.0
Detectors added in v2.8.0
Detectors added in v2.6.0
Detectors added in v2.4.0
Detectors added in v2.2.0
Detectors added in v2.0.0
Detectors added in v1.8.0
Detectors added in v1.6.0
Detectors added in v1.4.0
Detectors added in v1.2.0
Detectors added in v1.0.0
Detectors added in v0.9.3
fb-contrib is a trademark of MeBigFatGuy.com
FindBugs is a trademark of University of Maryland