Home | History | Annotate | Download | only in doc
      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
     60 on the concept of <i>bug patterns</i>.&nbsp; A bug pattern is a code
     61 idiom that is often an error.&nbsp; Bug patterns arise for a variety
     62 of 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
     73 for occurrences of bug patterns.&nbsp;
     74 Static analysis means that FindBugs can find bugs by simply inspecting
     75 a program's code: executing the program is not necessary.&nbsp;
     76 This makes FindBugs very easy to use: in general, you should be
     77 able to use it to look for bugs in your code within a few minutes of downloading it.&nbsp;
     78 FindBugs works by analyzing Java bytecode (compiled class files),
     79 so you don't even need the program's source code to use it.&nbsp;
     80 Because its analysis is
     81 sometimes imprecise, FindBugs can report <i>false warnings</i>,
     82 which are warnings that do not indicate real errors.&nbsp; 
     83 In practice, the rate of false warnings reported by FindBugs
     84 is less than 50%.
     85 </p>
     86 
     87 <p>
     88 FindBugs supports a plugin architecture allowing anyone to add new
     89 bug detectors.&nbsp; The <a href="publications.html">publications page</a>
     90 contains links to articles describing how to write a new detector
     91 for FindBugs.&nbsp; If you are familiar with Java bytecode
     92 you 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;
     97 It is written in Java, and can be run with any virtual machine compatible
     98 with Sun's JDK 1.5.&nbsp; It can analyze programs written for any version
     99 of Java.&nbsp; FindBugs was originally developed by Bill Pugh and David Hovemeyer.&nbsp;
    100 It is maintained by  Bill Pugh, and
    101 a <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
    105 analyze Java bytecode.&nbsp;
    106 As of version 1.1, FindBugs also supports bug detectors written using
    107 the <a href="http://asm.objectweb.org/">ASM</a> bytecode framework.&nbsp;
    108 FindBugs uses <a href="http://dom4j.org/">dom4j</a>
    109 for XML manipulation.
    110 </p>
    111 
    112 
    113 <hr> <p> 
    114 <script language="JavaScript" type="text/javascript"> 
    115 <!---//hide script from old browsers 
    116 document.write( "Last updated "+ document.lastModified + "." ); 
    117 //end hiding contents ---> 
    118 </script> 
    119 <p> Send comments to <a class="sidebar" href="mailto:findbugs (a] cs.umd.edu">findbugs (a] cs.umd.edu</a> 
    120 <p> 
    121 <A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?group_id=96405&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