1<html><head>
2      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3   <title>Chapter&nbsp;9.&nbsp;Analysis Properties</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="filter.html" title="Chapter&nbsp;8.&nbsp;Filter Files"><link rel="next" href="annotations.html" title="Chapter&nbsp;10.&nbsp;Annotations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;9.&nbsp;Analysis Properties</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="filter.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="annotations.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;9.&nbsp;Analysis Properties"><div class="titlepage"><div><div><h2 class="title"><a name="analysisprops"></a>Chapter&nbsp;9.&nbsp;Analysis Properties</h2></div></div></div><p>
4<span class="application">FindBugs</span> allows several aspects of the analyses it performs to be
5customized.  System properties are used to configure these options.
6This chapter describes the configurable analysis options.
7</p><p>
8The analysis options have two main purposes.  First, they allow you
9to inform <span class="application">FindBugs</span> about the meaning of methods in your application,
10so that it can produce more accurate results, or produce fewer
11false warnings.  Second, they allow you to configure the precision
12of the analysis performed.  Reducing analysis precision can save
13memory and analysis time, at the expense of missing some real bugs,
14or producing more false warnings.
15</p><p>
16The analysis options are set using the <span class="command"><strong>-property</strong></span>
17command line option.  For example:
18</p><pre class="screen">
19<code class="prompt">$ </code><span class="command"><strong>findbugs -textui -property "cfg.noprune=true" <em class="replaceable"><code>myApp.jar</code></em></strong></span>
20</pre><p>
21</p><p>
22The list of configurable analysis properties is shown in
23<a class="xref" href="analysisprops.html#analysisproptable" title="Table&nbsp;9.1.&nbsp;Configurable Analysis Properties">Table&nbsp;9.1, &#8220;Configurable Analysis Properties&#8221;</a>.
24</p><div class="table"><a name="analysisproptable"></a><p class="title"><b>Table&nbsp;9.1.&nbsp;Configurable Analysis Properties</b></p><div class="table-contents"><table summary="Configurable Analysis Properties" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">Property Name</th><th align="left">Value</th><th align="left">Meaning</th></tr></thead><tbody><tr><td align="left">findbugs.assertionmethods</td><td align="left">Comma-separated list of fully qualified method names:
25      e.g., "com.foo.MyClass.checkAssertion"</td><td align="left">This property specifies the names of methods that are used
26      to check program assertions.  Specifying these methods allows
27      the null pointer dereference bug detector to avoid reporting
28      false warnings for values which are checked by assertion
29      methods.</td></tr><tr><td align="left">findbugs.de.comment</td><td align="left">true or false</td><td align="left">If true, the DroppedException detector scans source code
30        for empty catch blocks for a comment, and if one is found, does
31        not report a warning.</td></tr><tr><td align="left">findbugs.maskedfields.locals</td><td align="left">true or false</td><td align="left">If true, emit low priority warnings for local variables
32      which obscure fields.  Default is false.</td></tr><tr><td align="left">findbugs.nullderef.assumensp</td><td align="left">true or false</td><td align="left">not used
33      (intention: If true, the null dereference detector assumes that any
34      reference value returned from a method or passed to a method
35      in a parameter might be null.  Default is false.  Note that
36      enabling this property will very likely cause a large number
37      of false warnings to be produced.)</td></tr><tr><td align="left">findbugs.refcomp.reportAll</td><td align="left">true or false</td><td align="left">If true, all suspicious reference comparisons
38        using the == and != operators are reported.&nbsp; If false,
39        only one such warning is issued per method.&nbsp; Default
40        is false.</td></tr><tr><td align="left">findbugs.sf.comment</td><td align="left">true or false</td><td align="left">If true, the SwitchFallthrough detector will only report
41      warnings for cases where the source code does not have a comment
42      containing the words "fall" or "nobreak".  (An accurate source
43      path must be used for this feature to work correctly.)
44      This helps find cases where the switch fallthrough is likely
45      to be unintentional.</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="filter.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="annotations.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;8.&nbsp;Filter Files&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;10.&nbsp;Annotations</td></tr></table></div></body></html>