1<html>
2<head>
3<title>FindBugs&trade; Fact Sheet</title>
4<link rel="stylesheet" type="text/css" href="findbugs.css">
5
6</head>
7<body>
8
9<table width="100%"><tr>
10
11
12<td bgcolor="#b9b9fe" valign="top" align="left" width="20%">
13<table width="100%" cellspacing="0" border="0">
14<tr><td><a class="sidebar" href="index.html"><img src="umdFindbugs.png" alt="FindBugs"></a></td></tr>
15
16<tr><td>&nbsp;</td></tr>
17
18<tr><td><b>Docs and Info</b></td></tr>
19<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr>
20<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr>
21<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr>
22<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr>
23<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr>
24<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr>
25<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr>
26<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr>
27<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr>
28<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr>
29<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr>
30<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr>
31
32<tr><td>&nbsp;</td></tr>
33
34<tr><td><a class="sidebar" href="downloads.html"><b>Downloads</b></a></td></tr>
35
36<tr><td>&nbsp;</td></tr>
37
38<tr><td><a class="sidebar" href="http://www.cafeshops.com/findbugs"><b>FindBugs Swag</b></a></td></tr>
39
40<tr><td>&nbsp;</td></tr>
41
42<tr><td><b>Development</b></td></tr>
43<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr>
44<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr>
45<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr>
46<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr>
47<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr>
48<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr>
49<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr>
50<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr>
51<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr>
52</table>
53</td>
54
55<td align="left" valign="top">
56
57<h1>FindBugs&trade; Fact Sheet</h1>
58
59<p> FindBugs looks for bugs in Java programs.&nbsp; It is based
60on the concept of <i>bug patterns</i>.&nbsp; A bug pattern is a code
61idiom that is often an error.&nbsp; Bug patterns arise for a variety
62of reasons:
63</p>
64
65<ul>
66<li> Difficult language features
67<li> Misunderstood API methods
68<li> Misunderstood invariants when code is modified during maintenance
69<li> Garden variety mistakes: typos, use of the wrong boolean operator
70</ul>
71
72<p> FindBugs uses <i>static analysis</i> to inspect Java bytecode
73for occurrences of bug patterns.&nbsp;
74Static analysis means that FindBugs can find bugs by simply inspecting
75a program's code: executing the program is not necessary.&nbsp;
76This makes FindBugs very easy to use: in general, you should be
77able to use it to look for bugs in your code within a few minutes of downloading it.&nbsp;
78FindBugs works by analyzing Java bytecode (compiled class files),
79so you don't even need the program's source code to use it.&nbsp;
80Because its analysis is
81sometimes imprecise, FindBugs can report <i>false warnings</i>,
82which are warnings that do not indicate real errors.&nbsp;
83In practice, the rate of false warnings reported by FindBugs
84is less than 50%.
85</p>
86
87<p>
88FindBugs supports a plugin architecture allowing anyone to add new
89bug detectors.&nbsp; The <a href="publications.html">publications page</a>
90contains links to articles describing how to write a new detector
91for FindBugs.&nbsp; If you are familiar with Java bytecode
92you can write a new FindBugs detector in as little as a few minutes.
93</p>
94
95<p> FindBugs is free software, available under the terms of the
96<a href="http://www.gnu.org/copyleft/lesser.html">Lesser GNU Public License</a>.&nbsp;
97It is written in Java, and can be run with any virtual machine compatible
98with Sun's JDK 1.5.&nbsp; It can analyze programs written for any version
99of Java.&nbsp; FindBugs was originally developed by Bill Pugh and David Hovemeyer.&nbsp;
100It is maintained by  Bill Pugh, and
101a <a href="team.html">team of volunteers</a>.
102</p>
103
104<p> FindBugs uses <a href="http://jakarta.apache.org/bcel/">BCEL</a> to
105analyze Java bytecode.&nbsp;
106As of version 1.1, FindBugs also supports bug detectors written using
107the <a href="http://asm.objectweb.org/">ASM</a> bytecode framework.&nbsp;
108FindBugs uses <a href="http://dom4j.org/">dom4j</a>
109for XML manipulation.
110</p>
111
112
113<hr> <p>
114<script language="JavaScript" type="text/javascript">
115<!---//hide script from old browsers
116document.write( "Last updated "+ document.lastModified + "." );
117//end hiding contents --->
118</script>
119<p> Send comments to <a class="sidebar" href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a>
120<p>
121<A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?group_id=96405&amp;type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A>
122
123</td>
124
125</tr></table>
126
127</body>
128</html>
129