<html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>第9章 分析プロパティー</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs™ マニュアル"><link rel="up" href="index.html" title="FindBugs™ マニュアル"><link rel="prev" href="filter.html" title="第8章 フィルターファイル"><link rel="next" href="annotations.html" title="第10章 アノテーション"></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">第9章 分析プロパティー</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="filter.html">戻る</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="annotations.html">次へ</a></td></tr></table><hr></div><div class="chapter" title="第9章 分析プロパティー"><div class="titlepage"><div><div><h2 class="title"><a name="analysisprops"></a>第9章 分析プロパティー</h2></div></div></div><p><span class="application">FindBugs</span> は分析する場合にいくつかの観点を持っています。そして、観点をカスタマイズして実行することができます。システムプロパティーを使って、それらのオプションを設定します。この章では、分析オプションの設定方法を説明します。</p><p>分析オプションの主な目的は、 2 つあります。1 番目は、 <span class="application">FindBugs</span> に対して分析されるアプリケーションのメソッドの意味を伝えることです。そうすることで <span class="application">FindBugs</span> がより正確な結果を出すことができ、誤検出を減らすことができます。2 番目に、分析を行うに当たりその精度を設定できるようにすることです。分析の精度を落とすことで、メモリ使用量と分析時間を減らすことができます。ただし、本当のバグを見逃したり、誤検出の数が増えるという代償があります。</p><p>コマンドラインオプション <span class="command"><strong>-property</strong></span> を使って、分析オプションを設定することができます。次に、例を示します:</p><pre class="screen"> <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -property "cfg.noprune=true" <em class="replaceable"><code>myApp.jar</code></em></strong></span> </pre><p> </p><p>設定することができる分析オプションの一覧を <a class="xref" href="analysisprops.html#analysisproptable" title="表9.1 設定可能な分析プロパティー">表9.1「設定可能な分析プロパティー」</a> に示します。</p><div class="table"><a name="analysisproptable"></a><p class="title"><b>表9.1 設定可能な分析プロパティー</b></p><div class="table-contents"><table summary="設定可能な分析プロパティー" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">プロパティー名</th><th align="left">設定値</th><th align="left">目的</th></tr></thead><tbody><tr><td align="left">findbugs.assertionmethods</td><td align="left">コンマ区切りの完全修飾メソッド名リスト : 例、 "com.foo.MyClass.checkAssertion"</td><td align="left">このプロパティーには、プログラムが正しいことをチェックするために使われるメソッドを指定します。これらのメソッドを指定することで、 チェックメソッドで確認した値に対する null 参照アクセスディテクタの誤検出を回避できます。</td></tr><tr><td align="left">findbugs.de.comment</td><td align="left">true または false</td><td align="left">true に設定すると、 DroppedException (無視された例外) ディテクタは空の catch ブロック にコメントが無いか探します。そして、コメントがみつかった場合には警告が報告されません。</td></tr><tr><td align="left">findbugs.maskedfields.locals</td><td align="left">true または false</td><td align="left">true に設定すると、フィールドを隠蔽しているローカル変数に対して優先度(低)の警告が発行されます。デフォルトは、 false です。</td></tr><tr><td align="left">findbugs.nullderef.assumensp</td><td align="left">true または false</td><td align="left">使用されません。 (意図 : true に設定すると、null 参照アクセスディテクタはメソッドからの戻り値、または、メソッドに受け渡される引数を null であると仮定します。デフォルトは、 false です。このプロパティーを有効にすると、大量の誤検出が生成されるであろうことに注意してください。)</td></tr><tr><td align="left">findbugs.refcomp.reportAll</td><td align="left">true または false</td><td align="left">true に設定すると、 == および != 演算子を使っている疑わしい参照比較がすべて報告されます。 false に設定すると、同様の警告は 1 メソッドにつき 1 つしか発行されません。デフォルトは、 false です。</td></tr><tr><td align="left">findbugs.sf.comment</td><td align="left">true または false</td><td align="left">true に設定すると、 SwitchFallthrough ディテクタはソースコードに「fall」または「nobreak」という単語を含んだコメントを記載していない caseラベル に限り警告を報告します。(この機能が正しく動作するためには、正確なソースパスが必要です。) これにより、意図的ではない switch 文の fallthrough を発見し易くなります。</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">戻る</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="annotations.html">次へ</a></td></tr><tr><td width="40%" align="left" valign="top">第8章 フィルターファイル </td><td width="20%" align="center"><a accesskey="h" href="index.html">ホーム</a></td><td width="40%" align="right" valign="top"> 第10章 アノテーション</td></tr></table></div></body></html>