FindBugs™ Manual

David H. Hovemeyer

William W. Pugh

This manual is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

The name FindBugs and the FindBugs logo is trademarked by the University of Maryland.

10:24:29 EDT, 31 May, 2007


Table of Contents

1. Introduction
1. Requirements
2. Installing and Running FindBugs
1. Extracting the Distribution
2. Configuration
3. Command Line Options
3. Building FindBugs™ from Source
1. Prerequisites
2. Extracting the Source Distribution
3. Modifying build.properties
4. Running Ant
5. Running FindBugs
4. Using the FindBugs™ Graphical User Interface
1. Creating a Project
2. Running the Analysis
3. Browsing Results
4. Loading and saving results
5. Using the FindBugs™ Command Line Interface
6. Using the FindBugsAnt task
1. Installing the Ant task
2. Modifying build.xml
3. Executing the task
4. Parameters
7. Using the FindBugs™ Eclipse plugin
1. Requirements
2. Installation
3. Using the Plugin
4. Troubleshooting
8. Filter Files
1. Introduction to Filter Files
2. Types of Match clauses
3. Java element name matching
4. Caveats
5. Examples
6. Complete Example
9. Analysis Properties
10. Annotations
11. Data mining of bugs with FindBugs
1. Commands
2. Examples
3. Ant exemple
12. License
13. Acknowledgments
1. Contributors
2. Software Used

List of Tables

9.1. Configurable Analysis Properties
11.1. Options for filterBugs command
11.2. Columns in mineBugHistory output
11.3. Columns in defectDensity output
11.4. setBugDatabaseInfo Options
11.5. listBugDatabaseInfo Columns