| <html> |
| <head> |
| <title>FindBugs™ Fact Sheet</title> |
| <link rel="stylesheet" type="text/css" href="findbugs.css"> |
| |
| </head> |
| <body> |
| |
| <table width="100%"><tr> |
| |
| |
| <td bgcolor="#b9b9fe" valign="top" align="left" width="20%"> |
| <table width="100%" cellspacing="0" border="0"> |
| <tr><td><a class="sidebar" href="index.html"><img src="umdFindbugs.png" alt="FindBugs"></a></td></tr> |
| |
| <tr><td> </td></tr> |
| |
| <tr><td><b>Docs and Info</b></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="ja/manual/index.html">Manual(ja/日本語)</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/日本語)</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="links.html">Links</a></font></td></tr> |
| |
| <tr><td> </td></tr> |
| |
| <tr><td><a class="sidebar" href="downloads.html"><b>Downloads</b></a></td></tr> |
| |
| <tr><td> </td></tr> |
| |
| <tr><td><a class="sidebar" href="http://www.cafeshops.com/findbugs"><b>FindBugs Swag</b></a></td></tr> |
| |
| <tr><td> </td></tr> |
| |
| <tr><td><b>Development</b></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="http://sourceforge.net/p/findbugs/bugs/">Open bugs</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="team.html">Dev team</a></font></td></tr> |
| <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> |
| <tr><td><font size="-1"> <a class="sidebar" href="Changes.html">Change log</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> |
| <tr><td><font size="-1"> <a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> |
| </table> |
| </td> |
| |
| <td align="left" valign="top"> |
| |
| <h1>FindBugs™ Fact Sheet</h1> |
| |
| <p> FindBugs looks for bugs in Java programs. It is based |
| on the concept of <i>bug patterns</i>. A bug pattern is a code |
| idiom that is often an error. Bug patterns arise for a variety |
| of reasons: |
| </p> |
| |
| <ul> |
| <li> Difficult language features |
| <li> Misunderstood API methods |
| <li> Misunderstood invariants when code is modified during maintenance |
| <li> Garden variety mistakes: typos, use of the wrong boolean operator |
| </ul> |
| |
| <p> FindBugs uses <i>static analysis</i> to inspect Java bytecode |
| for occurrences of bug patterns. |
| Static analysis means that FindBugs can find bugs by simply inspecting |
| a program's code: executing the program is not necessary. |
| This makes FindBugs very easy to use: in general, you should be |
| able to use it to look for bugs in your code within a few minutes of downloading it. |
| FindBugs works by analyzing Java bytecode (compiled class files), |
| so you don't even need the program's source code to use it. |
| Because its analysis is |
| sometimes imprecise, FindBugs can report <i>false warnings</i>, |
| which are warnings that do not indicate real errors. |
| In practice, the rate of false warnings reported by FindBugs |
| is less than 50%. |
| </p> |
| |
| <p> |
| FindBugs supports a plugin architecture allowing anyone to add new |
| bug detectors. The <a href="publications.html">publications page</a> |
| contains links to articles describing how to write a new detector |
| for FindBugs. If you are familiar with Java bytecode |
| you can write a new FindBugs detector in as little as a few minutes. |
| </p> |
| |
| <p> FindBugs is free software, available under the terms of the |
| <a href="http://www.gnu.org/copyleft/lesser.html">Lesser GNU Public License</a>. |
| It is written in Java, and can be run with any virtual machine compatible |
| with Sun's JDK 1.5. It can analyze programs written for any version |
| of Java. FindBugs was originally developed by Bill Pugh and David Hovemeyer. |
| It is maintained by Bill Pugh, and |
| a <a href="team.html">team of volunteers</a>. |
| </p> |
| |
| <p> FindBugs uses <a href="http://jakarta.apache.org/bcel/">BCEL</a> to |
| analyze Java bytecode. |
| As of version 1.1, FindBugs also supports bug detectors written using |
| the <a href="http://asm.objectweb.org/">ASM</a> bytecode framework. |
| FindBugs uses <a href="http://dom4j.org/">dom4j</a> |
| for XML manipulation. |
| </p> |
| |
| |
| <hr> <p> |
| <script language="JavaScript" type="text/javascript"> |
| <!---//hide script from old browsers |
| document.write( "Last updated "+ document.lastModified + "." ); |
| //end hiding contents ---> |
| </script> |
| <p> Send comments to <a class="sidebar" href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a> |
| <p> |
| <a href="http://sourceforge.net/projects/findbugs/"><img src="http://sourceforge.net/sflogo.php?group_id=96405&type=5" width="210" height="62" border="0" alt="FindBugs on SourceForge.net" /></a> |
| |
| </td> |
| |
| </tr></table> |
| |
| </body> |
| </html> |