OLD | NEW |
1 <html><head> | 1 <html><head> |
2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | 2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
3 <title>第12章 FindBugs™ によるデ
2540;タ・マイニング</title><meta name=
"generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="ind
ex.html" title="FindBugs™ マニュアル"><link
rel="up" href="index.html" title="FindBugs™ マニュӝ
0;ル"><link rel="prev" href="rejarForAnalysis.html" title="第11ĺ
56; rejarForAnalysis の使用方法"><link rel="next"
href="license.html" title="第13章 ライセン&#
12473;"></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">第12章 <span class="appli
cation">FindBugs</span>™ によるデータ&
#12539;マイニング</th></tr><tr><td width="20%" ali
gn="left"><a accesskey="p" href="rejarForAnalysis.html">戻る</a>&nbs
p;</td><th width="60%" align="center"> </th><td width="20%" align="right">&
nbsp;<a accesskey="n" href="license.html">次へ</a></td></tr></table>
<hr></div><div class="chapter" title="第12章 FindBugs™ に
;よるデータ・マイニン
;グ"><div class="titlepage"><div><div><h2 class="title"><a name="dataminin
g"></a>第12章 <span class="application">FindBugs</span>™ {
95;よるデータ・マイニ}
31;グ</h2></div></div></div><div class="toc"><p><b>目次</b></p
><dl><dt><span class="sect1"><a href="datamining.html#commands">1. コ}
10;ンド</a></span></dt><dt><span class="sect1"><a href="datamining.h
tml#examples">2. 例</a></span></dt><dt><span class="sect1"><a href="datami
ning.html#antexample">3. Ant の例</a></span></dt></dl></div><p>|
96;グデータベースへのƌ
40;機能の問い合わせ機Ŋ
21;、および、調査対象{
98;コードの複数のバー|
72;ョンにわたる警告のŰ
61;跡記録機能を、 FindBugs は
0869;蔵しています。これ
2425;を使って次のような
2371;とができます。すな
2431;ち、いつバグが最初
5345;ち込まれたかを捜し
0986;すこと、最終リリー
2473;以後持ち込まれた警
1578;の分析を行うこと、
2414;たは、無限再起ルー
2503;の数を時間軸でグラ
2501;にすることです。</p><p>
371;れらの技術は、 FindBugs が&#
35686;告の保存に使う XML 書ó
35;を使用します。これ|
25;の XML ファイルは、通常
、特定の 1 分析に対す|
27;警告が入れられてい|
14;す。しかしそれらに{
99;、一連のソフトウェ|
50;のビルドやバージョ}
31;に対する分析結果をĊ
84;納することもできま{
77;。</p><p>すべての FindBugs XML バグ
データベースには、バ
ージョン名とタイム・
スタンプ が入れられて
;います。FindBugs は分析がඡ
2;われるファイルの更ਫ
2;時刻からタイム・スӟ
9;ンプを計算します (例
360;ば、タイム・スタン
503;はクラスファイルの
983;成時刻になるように
394;っています。分析が"
892;われた時刻ではあり
414;せん) 。各々のバグデ&#
12540;タベースには、バー&#
12472;ョン名も入れられて&#
12356;ます。バージョン名&#
12392;タイム・スタンプは&#
12289; <span class="command"><strong>setBugDatabaseInfo</strong></span> (<a clas
s="xref" href="datamining.html#setBugDatabaseInfo" title="1.7. setBugDatabaseInf
o">「setBugDatabaseInfo」</a>) コマンド|
34;使用して手動で設定{
77;ることもできます。</p><
p>複数バージョンを格ಁ
3;するバグデータベーӟ
3;においては、分析さӚ
8;るコードの各バージӣ
9;ンごとにシーケンス஽
8;号が割り当てられまӕ
7;。これらのシーケンӟ
3;番号は単に 0 から始ま
2427;連続する整数値です (&
#20363;えば、 4 つのコードӡ
6;ージョンを格納するӡ
6;グデータベースにはӌ
9;バージョン 0~3 が入れら&
#12428;ます) 。バグデータベ
;ースにはまた、各バー
;ジョンの名前とタイム
;・スタンプがそれぞれ
;記録されます。<span class="command"><
strong>filterBugs</strong></span> コマンドを߳
1;用すると、シーケンӟ
3;番号、バージョン名ә
4;たはタイム・スタンӢ
3;からバージョンを参ୗ
1;することができますӍ
0;</p><p>1 バージョンを格納{
77;るバグデータベース{
98;集合から、 1 個の複数&#
12496;ージョンバグデータ&#
12505;ースを作成すること&#
12364;できます。また、複&#
25968;バージョンバグデー&#
12479;ベースに対して、そ&#
12428;以後に作成された 1 バ
;ージョンのバグデータ
;ベースを結合すること
;ができます。</p><p>これら
のコマンドのいくつか
は、 ant タスクとして実
4892;することができます
2290;コマンドの実行方法
2362;よび属性・引数の詳
2048;は、以下を参照して
2367;ださい。以下のすべ
2390;の例においては、 <code clas
s="literal">findbugs.lib</code> <code class="literal">refid</code> がĒ
91;しく設定されている{
71;とを前提としていま{
77;。設定方法の一例をĒ
25;に示します :</p><pre class="programlisting"> | 3 <title>第12章 FindBugs™ によるデ
2540;タ・マイニング</title><meta name=
"generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="ind
ex.html" title="FindBugs™ マニュアル"><link
rel="up" href="index.html" title="FindBugs™ マニュӝ
0;ル"><link rel="prev" href="rejarForAnalysis.html" title="第11ĺ
56; rejarForAnalysis の使用方法"><link rel="next"
href="license.html" title="第13章 ライセン&#
12473;"></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">第12章 <span class="appli
cation">FindBugs</span>™ によるデータ&
#12539;マイニング</th></tr><tr><td width="20%" ali
gn="left"><a accesskey="p" href="rejarForAnalysis.html">戻る</a>&nbs
p;</td><th width="60%" align="center"> </th><td width="20%" align="right">&
nbsp;<a accesskey="n" href="license.html">次へ</a></td></tr></table>
<hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title
"><a name="datamining"></a>第12章 <span class="application">FindBugs
</span>™ によるデータ・マ&
#12452;ニング</h1></div></div></div><div class="toc"><p><b>
0446;次</b></p><dl class="toc"><dt><span class="sect1"><a href="datamining
.html#commands">1. コマンド</a></span></dt><dt><span cla
ss="sect1"><a href="datamining.html#examples">2. 例</a></span></dt><dt><sp
an class="sect1"><a href="datamining.html#antexample">3. Ant の例</a
></span></dt></dl></div><p>バグデータベ}
40;スへの高機能の問い×
12;わせ機能、および、ţ
19;査対象のコードの複ă
68;のバージョンにわた|
27;警告の追跡記録機能|
34;、 FindBugs は内蔵していま
2377;。これらを使って次
2398;ようなことができま
2377;。すなわち、いつバ
2464;が最初持ち込まれた
2363;を捜し出すこと、最
2066;リリース以後持ち込
2414;れた警告の分析を行
2358;こと、または、無限
0877;起ループの数を時間
6600;でグラフにすること
2391;す。</p><p>これらの技術
399;、 FindBugs が警告の保存に&#
20351;う XML 書式を使用しま{
77;。これらの XML ファイル
は、通常、特定の 1 分ĉ
12;に対する警告が入れ|
25;れています。しかし{
81;れらには、一連のソ}
01;トウェアのビルドや|
96;ージョンに対する分ĉ
12;結果を格納すること|
18;できます。</p><p>すべてӗ
8; FindBugs XML バグデータベース
には、バージョン名と
タイム・スタンプ が入
;れられています。FindBugs ӗ
9;分析が行われるファӝ
2;ルの更新時刻からタӝ
2;ム・スタンプを計算ӕ
5;ます (例えば、タイム
539;スタンプはクラスフ
449;イルの生成時刻にな
427;ようになっています
290;分析が行われた時刻
391;はありません) 。各々&#
12398;バグデータベースに&#
12399;、バージョン名も入&#
12428;られています。バー&#
12472;ョン名とタイム・ス&#
12479;ンプは、 <span class="command"><strong>setBugDatab
aseInfo</strong></span> (<a class="xref" href="datamining.html#setBugDatabaseInf
o" title="1.7. setBugDatabaseInfo">「setBugDatabaseInfo」</a>) |
67;マンドを使用して手Ô
05;で設定することもで{
65;ます。</p><p>複数バージӣ
9;ンを格納するバグデӦ
0;タベースにおいてはӌ
9;分析されるコードのࡦ
8;バージョンごとにシӦ
0;ケンス番号が割り当ӗ
0;られます。これらのӟ
1;ーケンス番号は単に 0 
2363;ら始まる連続する整
5968;値です (例えば、 4 つӗ
8;コードバージョンを੬
4;納するバグデータベӦ
0;スには、バージョン 0~3 &
#12364;入れられます) 。バグ
;データベースにはまた
;、各バージョンの名前
;とタイム・スタンプが
;それぞれ記録されます
;。<span class="command"><strong>filterBugs</strong></span> コӣ
0;ンドを使用すると、ӟ
1;ーケンス番号、バーӟ
2;ョン名またはタイムӥ
9;スタンプからバージӣ
9;ンを参照することがӗ
1;きます。</p><p>1 バージョ}
31;を格納するバグデー|
79;ベースの集合から、 1 &#
20491;の複数バージョンバ&#
12464;データベースを作成&#
12377;ることができます。&#
12414;た、複数バージョン&#
12496;グデータベースに対&#
12375;て、それ以後に作成&#
12373;れた 1 バージョンのバ
;グデータベースを結合
;することができます。
;</p><p>これらのコマンドの
いくつかは、 ant タスク
2392;して実行することが
2391;きます。コマンドの
3455;行方法および属性・
4341;数の詳細は、以下を
1442;照してください。以
9979;のすべての例におい
2390;は、 <code class="literal">findbugs.lib</code> <code class="lit
eral">refid</code> が正しく設定さ|
28;ていることを前提と{
75;ています。設定方法{
98;一例を次に示します :</p
><pre class="programlisting"> |
4 | 4 |
5 <!-- findbugs タスク定義 --> | 5 <!-- findbugs タスク定義 --> |
6 <property name="findbugs.home" value="/your/path/to/findbugs" /> | 6 <property name="findbugs.home" value="/your/path/to/findbugs" /> |
7 <path id="findbugs.lib"> | 7 <path id="findbugs.lib"> |
8 <fileset dir="${findbugs.home}/lib"> | 8 <fileset dir="${findbugs.home}/lib"> |
9 <include name="findbugs-ant.jar"/> | 9 <include name="findbugs-ant.jar"/> |
10 </fileset> | 10 </fileset> |
11 </path> | 11 </path> |
12 | 12 |
13 </pre><div class="sect1" title="1. コマンド"><div class=
"titlepage"><div><div><h2 class="title" style="clear: both"><a name="commands"><
/a>1. コマンド</h2></div></div></div><p>FindBugs デ
;ータ・マイニング ツӦ
0;ルはすべてコマンドӤ
1;インから実行するこӗ
2;ができます。また、ӓ
6;くつかのより有用なӞ
7;マンドは、 ant ビルドフ&
#12449;イルから実行するこ&
#12392;ができます。</p><p>コマ&#
12531;ドラインツールにつ&#
12356;て簡単に説明します :
</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><
strong><a class="link" href="datamining.html#unionBugs" title="1.1. unionBugs">u
nionBugs</a></strong></span></span></dt><dd><p>別のクラ&
#12473;に対する別個の分析&
#32080;果を結合します。</p></dd>
<dt><span class="term"><span class="command"><strong><a class="link" href="datam
ining.html#computeBugHistory" title="1.2. computeBugHistory">computeBugHistory</
a></strong></span></span></dt><dd><p>複数バージ
2519;ンから得られた複数
2398;バグ警告を、マージ
2375;て 1 個の複数バージョ
ンバグデータベースに
します。これを使って
、既存の複数バージョ
ンバグデータベースに
更にバージョンを追加
したり、 1 バージョン|
34;格納するバグデータ}
05;ースの集合から 1 個の&#
35079;数バージョンバグデ&#
12540;タベースを作成した&#
12426;、できます。</p></dd><dt><span class="
term"><span class="command"><strong><a class="link" href="datamining.html#setBug
DatabaseInfo" title="1.7. setBugDatabaseInfo">setBugDatabaseInfo</a></strong></s
pan></span></dt><dd><p>リビジョン名や&
#12479;イム・スタンプなど&
#12398;情報を XML データベー
473;に設定します。</p></dd><dt><span c
lass="term"><span class="command"><strong><a class="link" href="datamining.html#
listBugDatabaseInfo" title="1.8. listBugDatabaseInfo">listBugDatabaseInfo</a></s
trong></span></span></dt><dd><p>XML データベー
473;にあるリビジョン名
420;タイム・スタンプな
393;の情報を一覧表示し
414;す。</p></dd><dt><span class="term"><span class="command"><stron
g><a class="link" href="datamining.html#filterBugs" title="1.3. filterBugs">filt
erBugs</a></strong></span></span></dt><dd><p>バグデー
2479;ベースの部分集合を
6984;択します。</p></dd><dt><span class="term"><sp
an class="command"><strong><a class="link" href="datamining.html#mineBugHistory"
title="1.4. mineBugHistory">mineBugHistory</a></strong></span></span></dt><dd><
p>複数バージョンバグӠ
7;ータベースの各バーӟ
2;ョン毎の警告数を一ස
9;にした表を作成しまӕ
7;。</p></dd><dt><span class="term"><span class="command"><strong><a class
="link" href="datamining.html#defectDensity" title="1.5. defectDensity">defectDe
nsity</a></strong></span></span></dt><dd><p>プロジェ
463;ト全体およびクラス
598;・パッケージ毎の不!
391;密度 (1000 NCSS 毎の警告数) ӗ
5;関する情報を一覧表ట
4;します。</p></dd><dt><span class="term"><span class="c
ommand"><strong><a class="link" href="datamining.html#convertXmlToText" title="1
.6. convertXmlToText">convertXmlToText</a></strong></span></span></dt><dd><p>XML
形式のバグ警告を、 1 "
892; 1 バグのテキスト形式&
#12289;または、HTML形式に変ÿ
63;します。</p></dd></dl></div><div class="sect2" title=
"1.1. unionBugs"><div class="titlepage"><div><div><h3 class="title"><a name="uni
onBugs"></a>1.1. unionBugs</h3></div></div></div><p>分析す
427;のにアプリケーショ
531;の jar ファイルを分割し
;ている場合、このコマ
;ンドを使用することで
;、別個に生成された XML &#
12496;グ警告ファイルをす&#
12409;ての警告を含んでい&#
12427; 1 つの ファイルにすӚ
7;ことができます。</p><p>同
;じファイルの異なるバ
;ージョンを分析した結
;果を結合する場合は、
;このコマンドを<span class="emphasis">
<em>使用しないでくださ
356;</em></span>。代わりに <span class="command"><
strong>computeBugHistory</strong></span> を使用して
;ください。</p><p>XML ファイ
523;は、コマンドライン
391;指定してください。 
080;果は、標準出力に送
425;れます。</p></div><div class="sect2" title="1.2. com
puteBugHistory"><div class="titlepage"><div><div><h3 class="title"><a name="comp
uteBugHistory"></a>1.2. computeBugHistory</h3></div></div></div><p>こ{
98;コマンドを使用する{
71;とで、分析するソフ|
88;ウェアの異なるビル|
89;またはバージョンの÷
73;報を含むバグデータ}
05;ースを生成すること{
64;できます入力としてÿ
52;供したファイルの 1 番&#
30446;のファイルから履歴&#
12364;取得されます。後に&#
32154;くファイルは 1 バージ
;ョンのバグデータベー
;スであるようにしてく
;ださい (もし、履歴をý
45;っていたとしても無Š
22;されます) 。</p><p>デフォ
523;トでは、結果は標準
986;力に送られます。</p><p>{
71;の機能は、 ant からも使
用することができます
。まず次に示すように
、ビルドファイルに <span c
lass="command"><strong>computeBugHistory</strong></span> を taskdef ӗ
1;定義します :</p><pre class="programlisting"> | 13 </pre><div class="sect1"><div class="titlepage"><div><div><h2 class="title" styl
e="clear: both"><a name="commands"></a>1. コマンド</h2><
/div></div></div><p>FindBugs データ・マイ
2491;ング ツールはすべて&#
12467;マンドラインから実&#
34892;することができます&#
12290;また、いくつかのよ&#
12426;有用なコマンドは、 a
nt ビルドファイルからê
55;行することができま{
77;。</p><p>コマンドラインӠ
4;ールについて簡単にෞ
0;明します :</p><div class="variablelist"><dl class="var
iablelist"><dt><span class="term"><span class="command"><strong><a class="link"
href="datamining.html#unionBugs" title="1.1. unionBugs">unionBugs</a></strong></
span></span></dt><dd><p>別のクラスに対
する別個の分析結果を
結合します。</p></dd><dt><span class="term">
<span class="command"><strong><a class="link" href="datamining.html#computeBugHi
story" title="1.2. computeBugHistory">computeBugHistory</a></strong></span></spa
n></dt><dd><p>複数バージョンか&#
12425;得られた複数のバグ&#
35686;告を、マージして 1 個
;の複数バージョンバグ
;データベースにします
;。これを使って、既存
;の複数バージョンバグ
;データベースに更にバ
;ージョンを追加したり
;、 1 バージョンを格納
377;るバグデータベース
398;集合から 1 個の複数バ&
#12540;ジョンバグデータベ&
#12540;スを作成したり、で&
#12365;ます。</p></dd><dt><span class="term"><span class="comm
and"><strong><a class="link" href="datamining.html#setBugDatabaseInfo" title="1.
7. setBugDatabaseInfo">setBugDatabaseInfo</a></strong></span></span></dt><dd><p>
リビジョン名やタイム
・スタンプなどの情報
を XML データベースに設
3450;します。</p></dd><dt><span class="term"><span class
="command"><strong><a class="link" href="datamining.html#listBugDatabaseInfo" ti
tle="1.8. listBugDatabaseInfo">listBugDatabaseInfo</a></strong></span></span></d
t><dd><p>XML データベースにあ
2427;リビジョン名やタイ
2512;・スタンプなどの情
2577;を一覧表示します。</p
></dd><dt><span class="term"><span class="command"><strong><a class="link" href=
"datamining.html#filterBugs" title="1.3. filterBugs">filterBugs</a></strong></sp
an></span></dt><dd><p>バグデータベー&#
12473;の部分集合を選択し&#
12414;す。</p></dd><dt><span class="term"><span class="command"><str
ong><a class="link" href="datamining.html#mineBugHistory" title="1.4. mineBugHis
tory">mineBugHistory</a></strong></span></span></dt><dd><p>複数|
96;ージョンバグデータ}
05;ースの各バージョンē
98;の警告数を一覧にし{
83;表を作成します。</p></dd><dt>
<span class="term"><span class="command"><strong><a class="link" href="dataminin
g.html#defectDensity" title="1.5. defectDensity">defectDensity</a></strong></spa
n></span></dt><dd><p>プロジェクト全
0307;およびクラス毎・パ
2483;ケージ毎の不良密度 (1
000 NCSS 毎の警告数) に関す|
27;情報を一覧表示しま{
77;。</p></dd><dt><span class="term"><span class="command"><strong><a clas
s="link" href="datamining.html#convertXmlToText" title="1.6. convertXmlToText">c
onvertXmlToText</a></strong></span></span></dt><dd><p>XML 形式ӗ
8;バグ警告を、 1 行 1 バグ
のテキスト形式、また
は、HTML形式に変換しま
377;。</p></dd></dl></div><div class="sect2"><div class="titlepage"><div><
div><h3 class="title"><a name="unionBugs"></a>1.1. unionBugs</h3></div></div></d
iv><p>分析するのにアプリ&#
12465;ーションの jar ファイ}
23;を分割している場合z
89;このコマンドを使用{
77;ることで、別個に生û
04;された XML バグ警告ファ
イルをすべての警告を
含んでいる 1 つの ファ
452;ルにすることができ
414;す。</p><p>同じファイル{
98;異なるバージョンをÑ
98;析した結果を結合す|
27;場合は、このコマン|
89;を<span class="emphasis"><em>使用しない&#
12391;ください</em></span>。代わӚ
6;に <span class="command"><strong>computeBugHistory</strong></span> |
34;使用してください。</p><
p>XML ファイルは、コマン&#
12489;ラインで指定してく&#
12384;さい。結果は、標準&#
20986;力に送られます。</p></div>
<div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="c
omputeBugHistory"></a>1.2. computeBugHistory</h3></div></div></div><p>こ&#
12398;コマンドを使用する&#
12371;とで、分析するソフ&#
12488;ウェアの異なるビル&#
12489;またはバージョンの&#
24773;報を含むバグデータ&#
12505;ースを生成すること&#
12364;できます入力として&#
25552;供したファイルの 1 番
;目のファイルから履歴
;が取得されます。後に
;続くファイルは 1 バー
472;ョンのバグデータベ
540;スであるようにして
367;ださい (もし、履歴を&#
25345;っていたとしても無&#
35222;されます) 。</p><p>デフォ&
#12523;トでは、結果は標準&
#20986;力に送られます。</p><p>&#
12371;の機能は、 ant からもË
51;用することができま{
77;。まず次に示すよう{
95;、ビルドファイルに <spa
n class="command"><strong>computeBugHistory</strong></span> を taskdef 
2391;定義します :</p><pre class="programlisting"> |
14 | 14 |
15 <taskdef name="computeBugHistory" classname="edu.umd.cs.findbugs.anttask.Comp
uteBugHistoryTask"> | 15 <taskdef name="computeBugHistory" classname="edu.umd.cs.findbugs.anttask.Comp
uteBugHistoryTask"> |
16 <classpath refid="findbugs.lib" /> | 16 <classpath refid="findbugs.lib" /> |
17 </taskdef> | 17 </taskdef> |
18 | 18 |
19 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal"><datafile></code> 要素
2434;入れ子にして入れて
2367;ださい。次に、例を
1034;します:</p><pre class="programlisting"> | 19 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal"><datafile></code> 要素
2434;入れ子にして入れて
2367;ださい。次に、例を
1034;します:</p><pre class="programlisting"> |
20 | 20 |
21 <computeBugHistory home="${findbugs.home}" ...> | 21 <computeBugHistory home="${findbugs.home}" ...> |
22 <datafile name="analyze1.xml"/> | 22 <datafile name="analyze1.xml"/> |
23 <datafile name="analyze2.xml"/> | 23 <datafile name="analyze2.xml"/> |
24 </computeBugHistory> | 24 </computeBugHistory> |
25 | 25 |
26 </pre><div class="table"><a name="computeBugHistoryTable"></a><p class="title"><
b>表12.1 computeBugHistory コマンドのオ
;プション一覧</b></p><div class="table-conte
nts"><table summary="computeBugHistory コマンドの&
#12458;プション一覧" border="1"><colgroup><c
ol><col><col></colgroup><thead><tr><th align="left">コマン
489;ラインオプション</th><th ali
gn="left">Ant 属性</th><th align="left">目的</th></tr></
thead><tbody><tr><td align="left">-output <file></td><td align="left">outp
ut="<file>"</td><td align="left">出力結果を&
#20445;存するファイル名を&
#25351;定します。 (同時に入
;力ファイルにもなりえ
;ます)</td></tr><tr><td align="left">-overrideRevisionNames[:truth]<
/td><td align="left">overrideRevisionNames="[true|false]"</td><td align="left">&
#12501;ァイル名から算出さ&
#12428;るそれぞれのバージ&
#12519;ン名を指定変更しま&
#12377;。</td></tr><tr><td align="left">-noPackageMoves[:truth]</td><td al
ign="left">noPackageMoves="[true|false]"</td><td align="left">パッ&#
12465;ージを移動したクラ&#
12473;がある場合、当該ク&#
12521;スの警告は別の存在&#
12392;して扱われます。</td></tr>
<tr><td align="left">-preciseMatch[:truth]</td><td align="left">preciseMatch="[t
rue|false]"</td><td align="left">バグパターン
;が正確に一致すること
;を要求します。</td></tr><tr><td align
="left">-precisePriorityMatch[:truth]</td><td align="left">precisePriorityMatch=
"[true|false]"</td><td align="left">優先度が正
906;に一致した場合のみ#
686;告が同一であると判
029;されます。</td></tr><tr><td align="left">-quie
t[:truth]</td><td align="left">quiet="[true|false]"</td><td align="left">エ
;ラーが発生しない限り
;、標準出力には何も表
;示されません。</td></tr><tr><td align
="left">-withMessages[:truth]</td><td align="left">withMessages="[true|false]"</
td><td align="left">出力 XML に人間が読
;むことができるバグメ
;ッセージが含まれます
;。</td></tr></tbody></table></div></div><br class="table-break"></div><di
v class="sect2" title="1.3. filterBugs"><div class="titlepage"><div><div><h3 cla
ss="title"><a name="filterBugs"></a>1.3. filterBugs</h3></div></div></div><p>
2371;のコマンドを使用す
2427;ことで、 FindBugs XML 警告フ|
49;イルから一部分を選|
03;出して新規 FindBugs 警告フ
2449;イルに選択された部
0998;を書き込むことがで
2365;ます。</p><p>このコマン
489;には、オプション群
395;続いて 0 個から 2 個の findb
ugs xml バグファイルを指定
することができます。
</p><p>ファイル名をひとつ&
#12418;指定しない場合は、&
#27161;準入力から読んで標&
#28310;出力に出力されます&
#12290;ファイル名を 1 個 指ê
50;した場合は、指定し{
83;ファイルから読んでď
61;準出力に出力されま{
77;。ファイル名を 2 個 指&
#23450;した場合は、 1 番目ӗ
5;指定したファイルかӚ
5;読んで 2 番目に指定し
2383;ファイルに出力され
2414;す。</p><p>この機能は、 ant
からも使用することが
;できます。まず次に示
;すように、ビルドファ
;イルに <span class="command"><strong>filterBugs</strong></spa
n> を taskdef で定義します :</p><pre c
lass="programlisting"> | 26 </pre><div class="table"><a name="computeBugHistoryTable"></a><p class="title"><
b>表12.1 computeBugHistory コマンドのオ
;プション一覧</b></p><div class="table-conte
nts"><table summary="computeBugHistory コマンドの&
#12458;プション一覧" border="1"><colgroup><c
ol><col><col></colgroup><thead><tr><th align="left">コマン
489;ラインオプション</th><th ali
gn="left">Ant 属性</th><th align="left">目的</th></tr></
thead><tbody><tr><td align="left">-output <file></td><td align="left">outp
ut="<file>"</td><td align="left">出力結果を&
#20445;存するファイル名を&
#25351;定します。 (同時に入
;力ファイルにもなりえ
;ます)</td></tr><tr><td align="left">-overrideRevisionNames[:truth]<
/td><td align="left">overrideRevisionNames="[true|false]"</td><td align="left">&
#12501;ァイル名から算出さ&
#12428;るそれぞれのバージ&
#12519;ン名を指定変更しま&
#12377;。</td></tr><tr><td align="left">-noPackageMoves[:truth]</td><td al
ign="left">noPackageMoves="[true|false]"</td><td align="left">パッ&#
12465;ージを移動したクラ&#
12473;がある場合、当該ク&#
12521;スの警告は別の存在&#
12392;して扱われます。</td></tr>
<tr><td align="left">-preciseMatch[:truth]</td><td align="left">preciseMatch="[t
rue|false]"</td><td align="left">バグパターン
;が正確に一致すること
;を要求します。</td></tr><tr><td align
="left">-precisePriorityMatch[:truth]</td><td align="left">precisePriorityMatch=
"[true|false]"</td><td align="left">優先度が正
906;に一致した場合のみ#
686;告が同一であると判
029;されます。</td></tr><tr><td align="left">-quie
t[:truth]</td><td align="left">quiet="[true|false]"</td><td align="left">エ
;ラーが発生しない限り
;、標準出力には何も表
;示されません。</td></tr><tr><td align
="left">-withMessages[:truth]</td><td align="left">withMessages="[true|false]"</
td><td align="left">出力 XML に人間が読
;むことができるバグメ
;ッセージが含まれます
;。</td></tr></tbody></table></div></div><br class="table-break"></div><di
v class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="filt
erBugs"></a>1.3. filterBugs</h3></div></div></div><p>このコ
2510;ンドを使用すること
2391;、 FindBugs XML 警告ファイル{
63;ら一部分を選び出し{
90;新規 FindBugs 警告ファイル
2395;選択された部分を書
2365;込むことができます
2290;</p><p>このコマンドには
289;オプション群に続い
390; 0 個から 2 個の findbugs xml バグ
ファイルを指定するこ
とができます。</p><p>ファ&
#12452;ル名をひとつも指定&
#12375;ない場合は、標準入&
#21147;から読んで標準出力&
#12395;出力されます。ファ&
#12452;ル名を 1 個 指定したá
80;合は、指定したファ|
52;ルから読んで標準出Ó
47;に出力されます。フ|
49;イル名を 2 個 指定した&
#22580;合は、 1 番目に指定ӕ
5;たファイルから読んӗ
1; 2 番目に指定したファ
2452;ルに出力されます。</p
><p>この機能は、 ant からも
;使用することができま
;す。まず次に示すよう
;に、ビルドファイルに
; <span class="command"><strong>filterBugs</strong></span> を taskdef 
391;定義します :</p><pre class="programlisting"> |
27 | 27 |
28 <taskdef name="filterBugs" classname="edu.umd.cs.findbugs.anttask.FilterBugsT
ask"> | 28 <taskdef name="filterBugs" classname="edu.umd.cs.findbugs.anttask.FilterBugsT
ask"> |
29 <classpath refid="findbugs.lib" /> | 29 <classpath refid="findbugs.lib" /> |
30 </taskdef> | 30 </taskdef> |
31 | 31 |
32 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal">input</code> 属性をË
51;用するか、 <code class="literal"><datafile&g
t;</code> 要素を入れ子にしӗ
0;入れてください。次ӗ
5;、例を示します:</p><pre class="progr
amlisting"> | 32 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal">input</code> 属性をË
51;用するか、 <code class="literal"><datafile&g
t;</code> 要素を入れ子にしӗ
0;入れてください。次ӗ
5;、例を示します:</p><pre class="progr
amlisting"> |
33 | 33 |
34 <filterBugs home="${findbugs.home}" ...> | 34 <filterBugs home="${findbugs.home}" ...> |
35 <datafile name="analyze.xml"/> | 35 <datafile name="analyze.xml"/> |
36 </filterBugs> | 36 </filterBugs> |
37 | 37 |
38 </pre><div class="table"><a name="filterOptionsTable"></a><p class="title"><b>&#
34920;12.2 filterBugs コマンドのオプ&#
12471;ョン一覧</b></p><div class="table-contents"><table
summary="filterBugs コマンドのオプ
2471;ョン一覧" border="1"><colgroup><col><col><col></col
group><thead><tr><th align="left">コマンドラӝ
2;ンオプション</th><th align="left">Ant 
646;性</th><th align="left">目的</th></tr></thead><tbody><tr><
td align="left"> </td><td align="left">input="<file>"</td><td align="
left">入力ファイルを指定&#
12375;ます。</td></tr><tr><td align="left"> </td><td alig
n="left">output="<file>"</td><td align="left">出力フ
449;イルを指定します。</td
></tr><tr><td align="left">-not</td><td align="left">not="[true|false]"</td><td
align="left">フィルターのスイ
2483;チを反転します。</td></tr><
tr><td align="left">-withSource[:truth]</td><td align="left">withSource="[true|f
alse]"</td><td align="left">ソースが入手
487;能な警告のみ出力さ
428;ます。</td></tr><tr><td align="left">-exclude <filter f
ile></td><td align="left">exclude="<filter file>"</td><td align="left">
フィルターに一致する
バグが除外されます。
</td></tr><tr><td align="left">-include <filter file></td><td align="left"
>include="<filter file>"</td><td align="left">フィル
479;ーに一致するバグの
415;を含まれます。</td></tr><tr><td al
ign="left">-annotation <text></td><td align="left">annotation="<text>
;"</td><td align="left">手で入力した注
釈に指定した文言を含
む警告のみ出力されま
す。</td></tr><tr><td align="left">-after <when></td><td align
="left">after="<when>"</td><td align="left">指定しӖ
3;バージョンより後に࠶
1;めて出現した警告のә
5;出力されます。</td></tr><tr><td alig
n="left">-before <when></td><td align="left">before="<when>"</td><td
align="left">指定したバージョ&#
12531;より前に初めて出現&#
12375;た警告のみ出力され&#
12414;す。</td></tr><tr><td align="left">-first <when></td><td
align="left">first="<when>"</td><td align="left">指定し
たバージョンに初めて
出現した警告のみ出力
されます。</td></tr><tr><td align="left">-last <
;when></td><td align="left">last="<when>"</td><td align="left">指
定したバージョンが出
現した最後である警告
のみ出力されます。</td></t
r><tr><td align="left">-fixed <when></td><td align="left">fixed="<when&
gt;"</td><td align="left">指定したバーӟ
2;ョンの前回のバージӣ
9;ンが出現した最後でӓ
4;る警告のみ出力されә
4;す。 (<code class="option">-last</code> に優先&#
12375;ます)。</td></tr><tr><td align="left">-present <when&
gt;</td><td align="left">present="<when>"</td><td align="left">指
3450;したバージョンに存
2312;する警告のみ出力さ
2428;ます。</td></tr><tr><td align="left">-absent <when>
</td><td align="left">absent="<when>"</td><td align="left">指定
;したバージョンに存在
;しない警告のみ出力さ
;れます。</td></tr><tr><td align="left">-active[:truth]<
/td><td align="left">active="[true|false]"</td><td align="left">最終
通番に存在する警告の
み出力されます。</td></tr><tr><t
d align="left">-introducedByChange[:truth]</td><td align="left">introducedByChan
ge="[true|false]"</td><td align="left">存在するク&
#12521;スの変更によっても&
#12383;らされた警告のみ出&
#21147;されます。</td></tr><tr><td align="left">-r
emovedByChange[:truth]</td><td align="left">removedByChange="[true|false]"</td><
td align="left">存在するクラスの
変更によって除去され
た警告のみ出力されま
す。</td></tr><tr><td align="left">-newCode[:truth]</td><td align="l
eft">newCode="[true|false]"</td><td align="left">新クラス
;の追加によってもたら
;された警告のみ出力さ
;れます。</td></tr><tr><td align="left">-removedCode[:tr
uth]</td><td align="left">removedCode="[true|false]"</td><td align="left">Ӟ
3;ラスの削除によって༊
0;去された警告のみ出ࡂ
7;されます。</td></tr><tr><td align="left">-priori
ty <level></td><td align="left">priority="<level>"</td><td align="le
ft">指定した優先度以上
398;優先度をもつ警告の
415;出力されます。</td></tr><tr><td al
ign="left">-maxRank <rank></td><td align="left">rank="[1..20]"</td><td ali
gn="left">allow only warnings with this rank or lower</td></tr><tr><td align="le
ft">-class <pattern></td><td align="left">class="<class>"</td><td al
ign="left">指定したパターン{
95;一致する主クラスを|
18;つ警告のみ出力され|
14;す。</td></tr><tr><td align="left">-bugPattern <pattern></t
d><td align="left">bugPattern="<pattern>"</td><td align="left">指
3450;したパターンに一致
2377;るバグ種別をもつ警
1578;のみ出力されます。</t
d></tr><tr><td align="left">-category <category></td><td align="left">cate
gory="<category>"</td><td align="left">指定した
5991;字列で始まるカテゴ
2522;ーの警告のみ出力さ
2428;ます。</td></tr><tr><td align="left">-designation <des
ignation></td><td align="left">designation="<designation>"</td><td alig
n="left">指定したバグ分類指
;定をもつ警告のみ出力
;されます。 (例、 -designation SHOULD_
FIX)</td></tr><tr><td align="left">-withMessages[:truth] </td><td align="left">w
ithMessages="[true|false]"</td><td align="left">テキスト
メッセージを含んだ XML 
2364;生成されます。</td></tr></tbody><
/table></div></div><br class="table-break"></div><div class="sect2" title="1.4.
mineBugHistory"><div class="titlepage"><div><div><h3 class="title"><a name="mine
BugHistory"></a>1.4. mineBugHistory</h3></div></div></div><p>この
2467;マンドを使用するこ
2392;で、複数バージョン
2496;グデータベースの各
2496;ージョン毎の警告数
2434;一覧にした表を作成
2377;ることができます。</p
><p>この機能は、 ant からも
;使用することができま
;す。まず次に示すよう
;に、ビルドファイルに
; <span class="command"><strong>mineBugHistory</strong></span> を taskdef
で定義します :</p><pre class="programlisting
"> | 38 </pre><div class="table"><a name="filterOptionsTable"></a><p class="title"><b>&#
34920;12.2 filterBugs コマンドのオプ&#
12471;ョン一覧</b></p><div class="table-contents"><table
summary="filterBugs コマンドのオプ
2471;ョン一覧" border="1"><colgroup><col><col><col></col
group><thead><tr><th align="left">コマンドラӝ
2;ンオプション</th><th align="left">Ant 
646;性</th><th align="left">目的</th></tr></thead><tbody><tr><
td align="left"> </td><td align="left">input="<file>"</td><td align="
left">入力ファイルを指定&#
12375;ます。</td></tr><tr><td align="left"> </td><td alig
n="left">output="<file>"</td><td align="left">出力フ
449;イルを指定します。</td
></tr><tr><td align="left">-not</td><td align="left">not="[true|false]"</td><td
align="left">フィルターのスイ
2483;チを反転します。</td></tr><
tr><td align="left">-withSource[:truth]</td><td align="left">withSource="[true|f
alse]"</td><td align="left">ソースが入手
487;能な警告のみ出力さ
428;ます。</td></tr><tr><td align="left">-exclude <filter f
ile></td><td align="left">exclude="<filter file>"</td><td align="left">
フィルターに一致する
バグが除外されます。
</td></tr><tr><td align="left">-include <filter file></td><td align="left"
>include="<filter file>"</td><td align="left">フィル
479;ーに一致するバグの
415;を含まれます。</td></tr><tr><td al
ign="left">-annotation <text></td><td align="left">annotation="<text>
;"</td><td align="left">手で入力した注
釈に指定した文言を含
む警告のみ出力されま
す。</td></tr><tr><td align="left">-after <when></td><td align
="left">after="<when>"</td><td align="left">指定しӖ
3;バージョンより後に࠶
1;めて出現した警告のә
5;出力されます。</td></tr><tr><td alig
n="left">-before <when></td><td align="left">before="<when>"</td><td
align="left">指定したバージョ&#
12531;より前に初めて出現&#
12375;た警告のみ出力され&#
12414;す。</td></tr><tr><td align="left">-first <when></td><td
align="left">first="<when>"</td><td align="left">指定し
たバージョンに初めて
出現した警告のみ出力
されます。</td></tr><tr><td align="left">-last <
;when></td><td align="left">last="<when>"</td><td align="left">指
定したバージョンが出
現した最後である警告
のみ出力されます。</td></t
r><tr><td align="left">-fixed <when></td><td align="left">fixed="<when&
gt;"</td><td align="left">指定したバーӟ
2;ョンの前回のバージӣ
9;ンが出現した最後でӓ
4;る警告のみ出力されә
4;す。 (<code class="option">-last</code> に優先&#
12375;ます)。</td></tr><tr><td align="left">-present <when&
gt;</td><td align="left">present="<when>"</td><td align="left">指
3450;したバージョンに存
2312;する警告のみ出力さ
2428;ます。</td></tr><tr><td align="left">-absent <when>
</td><td align="left">absent="<when>"</td><td align="left">指定
;したバージョンに存在
;しない警告のみ出力さ
;れます。</td></tr><tr><td align="left">-active[:truth]<
/td><td align="left">active="[true|false]"</td><td align="left">最終
通番に存在する警告の
み出力されます。</td></tr><tr><t
d align="left">-introducedByChange[:truth]</td><td align="left">introducedByChan
ge="[true|false]"</td><td align="left">存在するク&
#12521;スの変更によっても&
#12383;らされた警告のみ出&
#21147;されます。</td></tr><tr><td align="left">-r
emovedByChange[:truth]</td><td align="left">removedByChange="[true|false]"</td><
td align="left">存在するクラスの
変更によって除去され
た警告のみ出力されま
す。</td></tr><tr><td align="left">-newCode[:truth]</td><td align="l
eft">newCode="[true|false]"</td><td align="left">新クラス
;の追加によってもたら
;された警告のみ出力さ
;れます。</td></tr><tr><td align="left">-removedCode[:tr
uth]</td><td align="left">removedCode="[true|false]"</td><td align="left">Ӟ
3;ラスの削除によって༊
0;去された警告のみ出ࡂ
7;されます。</td></tr><tr><td align="left">-priori
ty <level></td><td align="left">priority="<level>"</td><td align="le
ft">指定した優先度以上
398;優先度をもつ警告の
415;出力されます。</td></tr><tr><td al
ign="left">-maxRank <rank></td><td align="left">rank="[1..20]"</td><td ali
gn="left">allow only warnings with this rank or lower</td></tr><tr><td align="le
ft">-class <pattern></td><td align="left">class="<class>"</td><td al
ign="left">指定したパターン{
95;一致する主クラスを|
18;つ警告のみ出力され|
14;す。</td></tr><tr><td align="left">-bugPattern <pattern></t
d><td align="left">bugPattern="<pattern>"</td><td align="left">指
3450;したパターンに一致
2377;るバグ種別をもつ警
1578;のみ出力されます。</t
d></tr><tr><td align="left">-category <category></td><td align="left">cate
gory="<category>"</td><td align="left">指定した
5991;字列で始まるカテゴ
2522;ーの警告のみ出力さ
2428;ます。</td></tr><tr><td align="left">-designation <des
ignation></td><td align="left">designation="<designation>"</td><td alig
n="left">指定したバグ分類指
;定をもつ警告のみ出力
;されます。 (例、 -designation SHOULD_
FIX)</td></tr><tr><td align="left">-withMessages[:truth] </td><td align="left">w
ithMessages="[true|false]"</td><td align="left">テキスト
メッセージを含んだ XML 
2364;生成されます。</td></tr></tbody><
/table></div></div><br class="table-break"></div><div class="sect2"><div class="
titlepage"><div><div><h3 class="title"><a name="mineBugHistory"></a>1.4. mineBug
History</h3></div></div></div><p>このコマンド
;を使用することで、複
;数バージョンバグデー
;タベースの各バージョ
;ン毎の警告数を一覧に
;した表を作成すること
;ができます。</p><p>この機
能は、 ant からも使用す
2427;ことができます。ま
2378;次に示すように、ビ
2523;ドファイルに <span class="command"><str
ong>mineBugHistory</strong></span> を taskdef で定義
375;ます :</p><pre class="programlisting"> |
39 | 39 |
40 <taskdef name="mineBugHistory" classname="edu.umd.cs.findbugs.anttask.MineBug
HistoryTask"> | 40 <taskdef name="mineBugHistory" classname="edu.umd.cs.findbugs.anttask.MineBug
HistoryTask"> |
41 <classpath refid="findbugs.lib" /> | 41 <classpath refid="findbugs.lib" /> |
42 </taskdef> | 42 </taskdef> |
43 | 43 |
44 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal">input</code> 属性をË
51;用するか、 <code class="literal"><datafile&g
t;</code> 要素を入れ子にしӗ
0;入れてください。次ӗ
5;、例を示します:</p><pre class="progr
amlisting"> | 44 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal">input</code> 属性をË
51;用するか、 <code class="literal"><datafile&g
t;</code> 要素を入れ子にしӗ
0;入れてください。次ӗ
5;、例を示します:</p><pre class="progr
amlisting"> |
45 | 45 |
46 <mineBugHistory home="${findbugs.home}" ...> | 46 <mineBugHistory home="${findbugs.home}" ...> |
47 <datafile name="analyze.xml"/> | 47 <datafile name="analyze.xml"/> |
48 </mineBugHistory> | 48 </mineBugHistory> |
49 | 49 |
50 </pre><div class="table"><a name="mineBugHistoryOptionsTable"></a><p class="titl
e"><b>表12.3 mineBugHistory コマンドのӝ
8;プション一覧</b></p><div class="table-cont
ents"><table summary="mineBugHistory コマンドの
2458;プション一覧" border="1"><colgroup><col
><col><col></colgroup><thead><tr><th align="left">コマンӠ
9;ラインオプション</th><th align
="left">Ant 属性</th><th align="left">目的</th></tr></th
ead><tbody><tr><td align="left"> </td><td align="left">input="<file>"
</td><td align="left">入力ファイルを&#
25351;定します。</td></tr><tr><td align="left">&nb
sp;</td><td align="left">output="<file>"</td><td align="left">出
147;ファイルを指定しま
377;。</td></tr><tr><td align="left">-formatDates</td><td align="left">for
matDates="[true|false]"</td><td align="left">データが
2486;キスト形式で描画さ
2428;ます。</td></tr><tr><td align="left">-noTabs</td><td alig
n="left">noTabs="[true|false]"</td><td align="left">タブの
195;わりに複数スペース
391;カラムが区切られま
377; (下記参照)。</td></tr><tr><td align="left">-s
ummary</td><td align="left">summary="[true|false]"</td><td align="left">最
新 10 件の変更の要約が
986;力されます。</td></tr></tbody></table></
div></div><br class="table-break"><p><code class="option">-noTabs</code> 出
;力を使うことで、固定
;幅フォントのシェルで
;読み易くなります。数
;値カラムは右寄せされ
;るので、スペースがカ
;ラム値の前に挿入され
;ます。また、このオプ
;ションを使用した場合
;、 <code class="option">-formatDates</code> を指定{
75;たときに要約の日付|
34;描画するのに空白がà
75;め込まれなくなりま{
77;。</p><p>出力される表はӌ
9; (<code class="option">-noTabs</code> が無ければ
) タブ区切りで次に示ӕ
7;カラムから成ります :</p>
<div class="table"><a name="mineBugHistoryColumns"></a><p class="title"><b>ŝ
20;12.4 mineBugHistory 出力のカラム一&
#35239;</b></p><div class="table-contents"><table summary="mineBugHistory ࠲
6;力のカラム一覧" border="1"><colgroup
><col><col></colgroup><thead><tr><th align="left">表題</th><th align
="left">目的</th></tr></thead><tbody><tr><td align="left">seq</td><t
d align="left">シーケンス番号 (0 å
87;まりの連続した整数Í
16;)</td></tr><tr><td align="left">version</td><td align="left">バー
ジョン名</td></tr><tr><td align="left">time</td><td alig
n="left">リリースされた日時
;</td></tr><tr><td align="left">classes</td><td align="left">分析
2373;れたクラス数</td></tr><tr><td align="le
ft">NCSS</td><td align="left">コメント文を&#
38500;いた命令数 (Non Commenting Source Statements
)</td></tr><tr><td align="left">added</td><td align="left">前回{
98;バージョンに存在し{
83;クラスにおける新規Ť
86;告数</td></tr><tr><td align="left">newCode</td><td align="left">&
#21069;回のバージョンに存&
#22312;しなかったクラスに&
#12362;ける新規警告数</td></tr><tr><td
align="left">fixed</td><td align="left">現在のバー
;ジョンに存在するクラ
;スにおける除去された
;警告数</td></tr><tr><td align="left">removed</td><td align="l
eft">現在のバージョンに
3384;在しないクラスの前
2238;のバージョンにおけ
2427;警告数</td></tr><tr><td align="left">retained</td><td ali
gn="left">現在のバージョンӗ
2;前回のバージョンのߐ
1;方に存在する警告のਤ
8;</td></tr><tr><td align="left">dead</td><td align="left">以前{
98;バージョンに存在し{
83;が現在のバージョン{
95;も直前のバージョン{
95;も存在しない警告のă
68;</td></tr><tr><td align="left">active</td><td align="left">現在&#
12398;バージョンに存在す&#
12427;警告総数</td></tr></tbody></table></div></div><br
class="table-break"></div><div class="sect2" title="1.5. defectDensity"><div cla
ss="titlepage"><div><div><h3 class="title"><a name="defectDensity"></a>1.5. defe
ctDensity</h3></div></div></div><p>このコマン|
89;を使用することで、}
03;ロジェクト全体およ|
03;クラス毎・パッケー|
72;毎の不良密度 (1000 NCSS 毎の&
#35686;告数) に関する情報を
;一覧表示できます。標
;準入力から読み込む場
;合はファイル指定なし
;で、そうでなければ、
;コマンドラインでファ
;イルを指定して、この
;コマンドを実行します
;。</p><p>出力される表は、
次に示すカラムから成
ります。また、プロジ
ェクト全体情報の行、
および、4 個以上の警࡭
8;を含んでいる各パッӞ
5;ージ情報または各クӤ
1;ス情報の行も出力さӚ
8;ます。</p><div class="table"><a name="defectDensityColumns">
</a><p class="title"><b>表12.5 defectDensity 出力の|
59;ラム一覧</b></p><div class="table-contents"><table su
mmary="defectDensity 出力のカラム一
5239;" border="1"><colgroup><col><col></colgroup><thead><tr><th align="left">
4920;題</th><th align="left">目的</th></tr></thead><tbody><tr>
<td align="left">kind</td><td align="left">プロジェ|
63;ト (project)、パッケージ (package)
またはクラス (class)</td></tr><tr><td align=
"left">name</td><td align="left">プロジェクト
;、パッケージまたはク
;ラスの名前</td></tr><tr><td align="left">density<
/td><td align="left"> 1000 NCSS 毎の警告数</td></t
r><tr><td align="left">bugs</td><td align="left">警告数</td></
tr><tr><td align="left">NCSS</td><td align="left">コメンӠ
8;文を除いた命令数 (Non Commenti
ng Source Statements) </td></tr></tbody></table></div></div><br class="table-bre
ak"></div><div class="sect2" title="1.6. convertXmlToText"><div class="titlepage
"><div><div><h3 class="title"><a name="convertXmlToText"></a>1.6. convertXmlToTe
xt</h3></div></div></div><p>このコマンド
434;使用することで、XML 形
式のバグ警告を、 1 行 1 &#
12496;グのテキスト形式、&#
12414;たは、HTML形式に変換ӕ
7;ることができます。</p><p
>この機能は、 ant からも&#
20351;用することができま&#
12377;。まず次に示すよう&#
12395;、ビルドファイルに <
span class="command"><strong>convertXmlToText</strong></span> を taskdef &
#12391;定義します :</p><pre class="programlisting"
> | 50 </pre><div class="table"><a name="mineBugHistoryOptionsTable"></a><p class="titl
e"><b>表12.3 mineBugHistory コマンドのӝ
8;プション一覧</b></p><div class="table-cont
ents"><table summary="mineBugHistory コマンドの
2458;プション一覧" border="1"><colgroup><col
><col><col></colgroup><thead><tr><th align="left">コマンӠ
9;ラインオプション</th><th align
="left">Ant 属性</th><th align="left">目的</th></tr></th
ead><tbody><tr><td align="left"> </td><td align="left">input="<file>"
</td><td align="left">入力ファイルを&#
25351;定します。</td></tr><tr><td align="left">&nb
sp;</td><td align="left">output="<file>"</td><td align="left">出
147;ファイルを指定しま
377;。</td></tr><tr><td align="left">-formatDates</td><td align="left">for
matDates="[true|false]"</td><td align="left">データが
2486;キスト形式で描画さ
2428;ます。</td></tr><tr><td align="left">-noTabs</td><td alig
n="left">noTabs="[true|false]"</td><td align="left">タブの
195;わりに複数スペース
391;カラムが区切られま
377; (下記参照)。</td></tr><tr><td align="left">-s
ummary</td><td align="left">summary="[true|false]"</td><td align="left">最
新 10 件の変更の要約が
986;力されます。</td></tr></tbody></table></
div></div><br class="table-break"><p><code class="option">-noTabs</code> 出
;力を使うことで、固定
;幅フォントのシェルで
;読み易くなります。数
;値カラムは右寄せされ
;るので、スペースがカ
;ラム値の前に挿入され
;ます。また、このオプ
;ションを使用した場合
;、 <code class="option">-formatDates</code> を指定{
75;たときに要約の日付|
34;描画するのに空白がà
75;め込まれなくなりま{
77;。</p><p>出力される表はӌ
9; (<code class="option">-noTabs</code> が無ければ
) タブ区切りで次に示ӕ
7;カラムから成ります :</p>
<div class="table"><a name="mineBugHistoryColumns"></a><p class="title"><b>ŝ
20;12.4 mineBugHistory 出力のカラム一&
#35239;</b></p><div class="table-contents"><table summary="mineBugHistory ࠲
6;力のカラム一覧" border="1"><colgroup
><col><col></colgroup><thead><tr><th align="left">表題</th><th align
="left">目的</th></tr></thead><tbody><tr><td align="left">seq</td><t
d align="left">シーケンス番号 (0 å
87;まりの連続した整数Í
16;)</td></tr><tr><td align="left">version</td><td align="left">バー
ジョン名</td></tr><tr><td align="left">time</td><td alig
n="left">リリースされた日時
;</td></tr><tr><td align="left">classes</td><td align="left">分析
2373;れたクラス数</td></tr><tr><td align="le
ft">NCSS</td><td align="left">コメント文を&#
38500;いた命令数 (Non Commenting Source Statements
)</td></tr><tr><td align="left">added</td><td align="left">前回{
98;バージョンに存在し{
83;クラスにおける新規Ť
86;告数</td></tr><tr><td align="left">newCode</td><td align="left">&
#21069;回のバージョンに存&
#22312;しなかったクラスに&
#12362;ける新規警告数</td></tr><tr><td
align="left">fixed</td><td align="left">現在のバー
;ジョンに存在するクラ
;スにおける除去された
;警告数</td></tr><tr><td align="left">removed</td><td align="l
eft">現在のバージョンに
3384;在しないクラスの前
2238;のバージョンにおけ
2427;警告数</td></tr><tr><td align="left">retained</td><td ali
gn="left">現在のバージョンӗ
2;前回のバージョンのߐ
1;方に存在する警告のਤ
8;</td></tr><tr><td align="left">dead</td><td align="left">以前{
98;バージョンに存在し{
83;が現在のバージョン{
95;も直前のバージョン{
95;も存在しない警告のă
68;</td></tr><tr><td align="left">active</td><td align="left">現在&#
12398;バージョンに存在す&#
12427;警告総数</td></tr></tbody></table></div></div><br
class="table-break"></div><div class="sect2"><div class="titlepage"><div><div><h
3 class="title"><a name="defectDensity"></a>1.5. defectDensity</h3></div></div><
/div><p>このコマンドを使用
することで、プロジェ
クト全体およびクラス
毎・パッケージ毎の不
良密度 (1000 NCSS 毎の警告数) &#
12395;関する情報を一覧表&#
31034;できます。標準入力&#
12363;ら読み込む場合はフ&#
12449;イル指定なしで、そ&#
12358;でなければ、コマン&#
12489;ラインでファイルを&#
25351;定して、このコマン&#
12489;を実行します。</p><p>出
1147;される表は、次に示
2377;カラムから成ります
2290;また、プロジェクト
0840;体情報の行、および
2289;4 個以上の警告を含ん&
#12391;いる各パッケージ情&
#22577;または各クラス情報&
#12398;行も出力されます。<
/p><div class="table"><a name="defectDensityColumns"></a><p class="title"><b>
4920;12.5 defectDensity 出力のカラム一
覧</b></p><div class="table-contents"><table summary="defectDensity ࠲
6;力のカラム一覧" border="1"><colgroup
><col><col></colgroup><thead><tr><th align="left">表題</th><th align
="left">目的</th></tr></thead><tbody><tr><td align="left">kind</td><
td align="left">プロジェクト (project)ӌ
9;パッケージ (package) または
2463;ラス (class)</td></tr><tr><td align="left">name</td><td align="
left">プロジェクト、パッ&#
12465;ージまたはクラスの&#
21517;前</td></tr><tr><td align="left">density</td><td align="left"> 1000
NCSS 毎の警告数</td></tr><tr><td align="left">bugs
</td><td align="left">警告数</td></tr><tr><td align="left">NCS
S</td><td align="left">コメント文を除&
#12356;た命令数 (Non Commenting Source Statements) </td>
</tr></tbody></table></div></div><br class="table-break"></div><div class="sect2
"><div class="titlepage"><div><div><h3 class="title"><a name="convertXmlToText">
</a>1.6. convertXmlToText</h3></div></div></div><p>このコ}
10;ンドを使用すること{
91;、XML 形式のバグ警告を&
#12289; 1 行 1 バグのテキスト
4418;式、または、HTML形式に
;変換することができま
;す。</p><p>この機能は、 ant 
2363;らも使用することが
2391;きます。まず次に示
2377;ように、ビルドファ
2452;ルに <span class="command"><strong>convertXmlToText</strong></s
pan> を taskdef で定義します :</p><pre
class="programlisting"> |
51 | 51 |
52 <taskdef name="convertXmlToText" classname="edu.umd.cs.findbugs.anttask.Conve
rtXmlToTextTask"> | 52 <taskdef name="convertXmlToText" classname="edu.umd.cs.findbugs.anttask.Conve
rtXmlToTextTask"> |
53 <classpath refid="findbugs.lib" /> | 53 <classpath refid="findbugs.lib" /> |
54 </taskdef> | 54 </taskdef> |
55 | 55 |
56 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。</p><div class="ta
ble"><a name="convertXmlToTextTable"></a><p class="title"><b>表12.6 conver
tXmlToText コマンドのオプシ}
19;ン一覧</b></p><div class="table-contents"><table summary="c
onvertXmlToText コマンドのオプシ
ョン一覧" border="1"><colgroup><col><col><col></colgroup
><thead><tr><th align="left">コマンドライ
2531;オプション</th><th align="left">Ant 属&
#24615;</th><th align="left">目的</th></tr></thead><tbody><tr><td al
ign="left"> </td><td align="left">input="<filename>"</td><td align="l
eft">入力ファイルを指定
2375;ます。</td></tr><tr><td align="left"> </td><td align
="left">output="<filename>"</td><td align="left">出力フ&
#12449;イルを指定します。<
/td></tr><tr><td align="left">-longBugCodes</td><td align="left">longBugCodes="[
true|false]"</td><td align="left">2 文字のバグ
053;称の代わりに、省略
394;しのバグパターンコ
540;ドを使用します。</td></tr><t
r><td align="left"> </td><td align="left">format="text"</td><td align="left
">プレーンテキストの࠲
6;力が作成されます。1 "
892;につき 1 つのバグが出&
#21147;されます。コマンド&
#12521;イン時のデフォルト&
#12391;す。</td></tr><tr><td align="left">-html[:stylesheet]</td><td
align="left">format="html:<stylesheet>"</td><td align="left">指
450;されたスタイルシー
488;を使用して出力が作
104;されます (下記参照) 。
省略した場合は、 default.xsl 
2364;使用されます。</td></tr></tbody><
/table></div></div><br class="table-break"><p>-html/format オプ|
71;ョンには、plain.xsl 、 default.xsl ӌ
9; fancy.xsl 、 fancy-hist.xsl または ユー&#
12470;自身が作成した XSL ス|
79;イルシートのいずれ{
63;を指定することがで{
65;ます。オプション名|
34;よそに、 html 以外の形式
;を出力するスタイルシ
;ートを指定することも
;できます。FindBugs に含まӚ
8;ているスタイルシーӠ
8;(上述)以外のスタイル
471;ートを使用する場合
399;、オプション -html/format でঈ
3;該スタイルシートへӗ
8;パスまたは URL を指定し&
#12390;ください。</p></div><div class="sect2" titl
e="1.7. setBugDatabaseInfo"><div class="titlepage"><div><div><h3 class="title"><
a name="setBugDatabaseInfo"></a>1.7. setBugDatabaseInfo</h3></div></div></div><p
>このコマンドを使用す
;ることで、指定したバ
;グ警告にメタ情報を設
;定することができます
;。このコマンドには次
;に示すオプションがあ
;ります:</p><p>この機能は、
; ant からも使用すること&#
12364;できます。まず次に&#
31034;すように、ビルドフ&#
12449;イルに <span class="command"><strong>setBugDatabaseInfo<
/strong></span> を taskdef で定義します
; :</p><pre class="programlisting"> | 56 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。</p><div class="ta
ble"><a name="convertXmlToTextTable"></a><p class="title"><b>表12.6 conver
tXmlToText コマンドのオプシ}
19;ン一覧</b></p><div class="table-contents"><table summary="c
onvertXmlToText コマンドのオプシ
ョン一覧" border="1"><colgroup><col><col><col></colgroup
><thead><tr><th align="left">コマンドライ
2531;オプション</th><th align="left">Ant 属&
#24615;</th><th align="left">目的</th></tr></thead><tbody><tr><td al
ign="left"> </td><td align="left">input="<filename>"</td><td align="l
eft">入力ファイルを指定
2375;ます。</td></tr><tr><td align="left"> </td><td align
="left">output="<filename>"</td><td align="left">出力フ&
#12449;イルを指定します。<
/td></tr><tr><td align="left">-longBugCodes</td><td align="left">longBugCodes="[
true|false]"</td><td align="left">2 文字のバグ
053;称の代わりに、省略
394;しのバグパターンコ
540;ドを使用します。</td></tr><t
r><td align="left"> </td><td align="left">format="text"</td><td align="left
">プレーンテキストの࠲
6;力が作成されます。1 "
892;につき 1 つのバグが出&
#21147;されます。コマンド&
#12521;イン時のデフォルト&
#12391;す。</td></tr><tr><td align="left">-html[:stylesheet]</td><td
align="left">format="html:<stylesheet>"</td><td align="left">指
450;されたスタイルシー
488;を使用して出力が作
104;されます (下記参照) 。
省略した場合は、 default.xsl 
2364;使用されます。</td></tr></tbody><
/table></div></div><br class="table-break"><p>-html/format オプ|
71;ョンには、plain.xsl 、 default.xsl ӌ
9; fancy.xsl 、 fancy-hist.xsl または ユー&#
12470;自身が作成した XSL ス|
79;イルシートのいずれ{
63;を指定することがで{
65;ます。オプション名|
34;よそに、 html 以外の形式
;を出力するスタイルシ
;ートを指定することも
;できます。FindBugs に含まӚ
8;ているスタイルシーӠ
8;(上述)以外のスタイル
471;ートを使用する場合
399;、オプション -html/format でঈ
3;該スタイルシートへӗ
8;パスまたは URL を指定し&
#12390;ください。</p></div><div class="sect2"><div
class="titlepage"><div><div><h3 class="title"><a name="setBugDatabaseInfo"></a>
1.7. setBugDatabaseInfo</h3></div></div></div><p>このコマ
;ンドを使用することで
;、指定したバグ警告に
;メタ情報を設定するこ
;とができます。このコ
;マンドには次に示すオ
;プションがあります:</p><p
>この機能は、 ant からも&#
20351;用することができま&#
12377;。まず次に示すよう&#
12395;、ビルドファイルに <
span class="command"><strong>setBugDatabaseInfo</strong></span> を taskdef
で定義します :</p><pre class="programlistin
g"> |
57 | 57 |
58 <taskdef name="setBugDatabaseInfo" classname="edu.umd.cs.findbugs.anttask.Set
BugDatabaseInfoTask"> | 58 <taskdef name="setBugDatabaseInfo" classname="edu.umd.cs.findbugs.anttask.Set
BugDatabaseInfoTask"> |
59 <classpath refid="findbugs.lib" /> | 59 <classpath refid="findbugs.lib" /> |
60 </taskdef> | 60 </taskdef> |
61 | 61 |
62 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal">input</code> 属性をË
51;用するか、 <code class="literal"><datafile&g
t;</code> 要素を入れ子にしӗ
0;入れてください。次ӗ
5;、例を示します:</p><pre class="progr
amlisting"> | 62 </pre><p>この ant タスクに指定&#
12391;きる属性を、下表に&#
19968;覧で示します。入力&#
12501;ァイルを指定するに&#
12399;、 <code class="literal">input</code> 属性をË
51;用するか、 <code class="literal"><datafile&g
t;</code> 要素を入れ子にしӗ
0;入れてください。次ӗ
5;、例を示します:</p><pre class="progr
amlisting"> |
63 | 63 |
64 <setBugDatabaseInfo home="${findbugs.home}" ...> | 64 <setBugDatabaseInfo home="${findbugs.home}" ...> |
65 <datafile name="analyze.xml"/> | 65 <datafile name="analyze.xml"/> |
66 </setBugDatabaseInfo> | 66 </setBugDatabaseInfo> |
67 | 67 |
68 </pre><div class="table"><a name="setBugDatabaseInfoOptions"></a><p class="title
"><b>表12.7 setBugDatabaseInfo オプション
9968;覧</b></p><div class="table-contents"><table summary="setBugDatabaseI
nfo オプション一覧" border="1"><colgro
up><col><col><col></colgroup><thead><tr><th align="left">コマン
;ドラインオプション</th><t
h align="left">Ant 属性</th><th align="left">目的</th></
tr></thead><tbody><tr><td align="left"> </td><td align="left">input="<fi
le>"</td><td align="left">入力ファイル
2434;指定します。</td></tr><tr><td align="le
ft"> </td><td align="left">output="<file>"</td><td align="left">Ñ
86;力ファイルを指定し|
14;す。</td></tr><tr><td align="left">-name <name></td><td ali
gn="left">name="<name>"</td><td align="left">最新リ|
99;ジョンの名前を設定{
75;ます。</td></tr><tr><td align="left">-timestamp <when>
;</td><td align="left">timestamp="<when>"</td><td align="left">最
6032;リビジョンのタイム
2539;スタンプを設定しま
2377;。</td></tr><tr><td align="left">-source <directory></td><td al
ign="left">source="<directory>"</td><td align="left">ソー|
73;を検索するディレク|
88;リーを追加指定しま{
77;。</td></tr><tr><td align="left">-findSource <directory></td><td
align="left">findSource="<directory>"</td><td align="left">指定
;したディレクトリー内
;を検索して関連するソ
;ースの場所を追加しま
;す。</td></tr><tr><td align="left">-suppress <filter file></t
d><td align="left">suppress="<filter file>"</td><td align="left">指&
#23450;したファイルに一致&
#12377;る警告を抑止します
(以前に指定した抑止設
;定は置き換えられます
;)。</td></tr><tr><td align="left">-withMessages</td><td align="left">with
Messages="[true|false]"</td><td align="left">XMLにテキス
トメッセージを追加し
ます。</td></tr><tr><td align="left">-resetSource</td><td alig
n="left">resetSource="[true|false]"</td><td align="left">ソース
;検索パスをすべて削除
;します。</td></tr></tbody></table></div></div><br class
="table-break"></div><div class="sect2" title="1.8. listBugDatabaseInfo"><div cl
ass="titlepage"><div><div><h3 class="title"><a name="listBugDatabaseInfo"></a>1.
8. listBugDatabaseInfo</h3></div></div></div><p>このコマ
ンドの実行においては
、コマンドラインで 0 Ì
91;以上の xml バグデータベ
ースファイル名を指定
します。ファイル名を
1つも指定しなければ、
;標準出力から読み込み
;を行いテーブルのヘッ
;ダーは生成されません
;。</p><p>このコマンドには
1 つだけオプションが{
54;ります : <code class="option">-formatDates</code> を&
#25351;定するとテキスト形&
#24335;でデータが描画され&
#12414;す。</p><p>出力される表&#
12399;、各バグデータベー&#
12473;ごとに行を持ち、次&#
12395;示すカラムから成り&#
12414;す :</p><div class="table"><a name="listBugDatabaseInfoColumns"></a>
<p class="title"><b>表12.8 listBugDatabaseInfo カラム
9968;覧</b></p><div class="table-contents"><table summary="listBugDatabase
Info カラム一覧" border="1"><colgroup><col><col></
colgroup><thead><tr><th align="left">カラム</th><th align="lef
t">目的</th></tr></thead><tbody><tr><td align="left">version</td><td
align="left">バージョン名</td></tr><tr><td
align="left">time</td><td align="left">リリースさ&
#12428;た日時</td></tr><tr><td align="left">classes</td><td al
ign="left">分析されたクラスă
68;</td></tr><tr><td align="left">NCSS</td><td align="left">コメ
531;ト文を除いた命令数 (No
n Commenting Source Statements)</td></tr><tr><td align="left">total</td><td alig
n="left">全警告数</td></tr><tr><td align="left">high</td
><td align="left">優先度(高)の警告
398;総数</td></tr><tr><td align="left">medium</td><td align="left">&
#20778;先度(中)の警告の総数
;</td></tr><tr><td align="left">low</td><td align="left">優先度
;(低)の警告の総数</td></tr><tr><td ali
gn="left">filename</td><td align="left">データベー
スのファイル名</td></tr></tbody></tabl
e></div></div><br class="table-break"></div></div><div class="sect1" title="2. &
#20363;"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="examples"></a>2. 例</h2></div></div></div><div class="sect2" titl
e="2.1. 提供されたシェル・
スクリプトを使用して
の履歴マイニング"><div class="ti
tlepage"><div><div><h3 class="title"><a name="unixscriptsexamples"></a>2.1. 
552;供されたシェル・ス
463;リプトを使用しての
653;歴マイニング</h3></div></div></div><p>&#
20197;下はすべて、 jdk1.6.0-b12, jdk1.6.0-b1
3, ..., jdk1.6.0-b60 のディレクトリ
2395;対してコマンドを実
4892;しています。</p><p>以下
398;コマンドを実行して
415;ます :</p><pre class="screen"> | 68 </pre><div class="table"><a name="setBugDatabaseInfoOptions"></a><p class="title
"><b>表12.7 setBugDatabaseInfo オプション
9968;覧</b></p><div class="table-contents"><table summary="setBugDatabaseI
nfo オプション一覧" border="1"><colgro
up><col><col><col></colgroup><thead><tr><th align="left">コマン
;ドラインオプション</th><t
h align="left">Ant 属性</th><th align="left">目的</th></
tr></thead><tbody><tr><td align="left"> </td><td align="left">input="<fi
le>"</td><td align="left">入力ファイル
2434;指定します。</td></tr><tr><td align="le
ft"> </td><td align="left">output="<file>"</td><td align="left">Ñ
86;力ファイルを指定し|
14;す。</td></tr><tr><td align="left">-name <name></td><td ali
gn="left">name="<name>"</td><td align="left">最新リ|
99;ジョンの名前を設定{
75;ます。</td></tr><tr><td align="left">-timestamp <when>
;</td><td align="left">timestamp="<when>"</td><td align="left">最
6032;リビジョンのタイム
2539;スタンプを設定しま
2377;。</td></tr><tr><td align="left">-source <directory></td><td al
ign="left">source="<directory>"</td><td align="left">ソー|
73;を検索するディレク|
88;リーを追加指定しま{
77;。</td></tr><tr><td align="left">-findSource <directory></td><td
align="left">findSource="<directory>"</td><td align="left">指定
;したディレクトリー内
;を検索して関連するソ
;ースの場所を追加しま
;す。</td></tr><tr><td align="left">-suppress <filter file></t
d><td align="left">suppress="<filter file>"</td><td align="left">指&
#23450;したファイルに一致&
#12377;る警告を抑止します
(以前に指定した抑止設
;定は置き換えられます
;)。</td></tr><tr><td align="left">-withMessages</td><td align="left">with
Messages="[true|false]"</td><td align="left">XMLにテキス
トメッセージを追加し
ます。</td></tr><tr><td align="left">-resetSource</td><td alig
n="left">resetSource="[true|false]"</td><td align="left">ソース
;検索パスをすべて削除
;します。</td></tr></tbody></table></div></div><br class
="table-break"></div><div class="sect2"><div class="titlepage"><div><div><h3 cla
ss="title"><a name="listBugDatabaseInfo"></a>1.8. listBugDatabaseInfo</h3></div>
</div></div><p>このコマンドの実&
#34892;においては、コマン&
#12489;ラインで 0 個以上の xml &
#12496;グデータベースファ&
#12452;ル名を指定します。&
#12501;ァイル名を1つも指定
しなければ、標準出力
から読み込みを行いテ
ーブルのヘッダーは生
成されません。</p><p>この&
#12467;マンドには 1 つだけӝ
8;プションがあります : <co
de class="option">-formatDates</code> を指定する&#
12392;テキスト形式でデー&#
12479;が描画されます。</p><p>
0986;力される表は、各バ
2464;データベースごとに
4892;を持ち、次に示すカ
2521;ムから成ります :</p><div class="t
able"><a name="listBugDatabaseInfoColumns"></a><p class="title"><b>表12.8
listBugDatabaseInfo カラム一覧</b></p><div class="
table-contents"><table summary="listBugDatabaseInfo カラム
968;覧" border="1"><colgroup><col><col></colgroup><thead><tr><th align="le
ft">カラム</th><th align="left">目的</th></tr></th
ead><tbody><tr><td align="left">version</td><td align="left">バー
2472;ョン名</td></tr><tr><td align="left">time</td><td align="
left">リリースされた日時</
td></tr><tr><td align="left">classes</td><td align="left">分析ӕ
3;れたクラス数</td></tr><tr><td align="left"
>NCSS</td><td align="left">コメント文をƁ
00;いた命令数 (Non Commenting Source Statements)</
td></tr><tr><td align="left">total</td><td align="left">全警告
数</td></tr><tr><td align="left">high</td><td align="left">優先
;度(高)の警告の総数</td></tr><tr
><td align="left">medium</td><td align="left">優先度(中)
の警告の総数</td></tr><tr><td align="left">l
ow</td><td align="left">優先度(低)の警࡭
8;の総数</td></tr><tr><td align="left">filename</td><td align=
"left">データベースのファ&
#12452;ル名</td></tr></tbody></table></div></div><br class="table-br
eak"></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="
title" style="clear: both"><a name="examples"></a>2. 例</h2></div></div></
div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a nam
e="unixscriptsexamples"></a>2.1. 提供されたシ
;ェル・スクリプトを使
;用しての履歴マイニン
;グ</h3></div></div></div><p>以下はすべ{
90;、 jdk1.6.0-b12, jdk1.6.0-b13, ..., jdk1.6.0-b60 のデӝ
1;レクトリに対してコӣ
0;ンドを実行していまӕ
7;。</p><p>以下のコマンドを
;実行してみます :</p><pre class="scree
n"> |
69 computeBugHistory jdk1.6.0-b* | filterBugs -bugPattern IL_ | mineBugHistory -for
matDates | 69 computeBugHistory jdk1.6.0-b* | filterBugs -bugPattern IL_ | mineBugHistory -for
matDates |
70 </pre><p>すると、次のような
;出力が行われます :</p><pre clas
s="screen"> | 70 </pre><p>すると、次のような
;出力が行われます :</p><pre clas
s="screen"> |
71 seq version time classes NCSS added newCode fixed removed retained
dead active | 71 seq version time classes NCSS added newCode fixed removed retained
dead active |
72 0 jdk1.6.0-b12 "Thu Nov 11 09:07:20 EST 2004" 13128 811569 0
4 0 0 0 0 4 | 72 0 jdk1.6.0-b12 "Thu Nov 11 09:07:20 EST 2004" 13128 811569 0
4 0 0 0 0 4 |
73 1 jdk1.6.0-b13 "Thu Nov 18 06:02:06 EST 2004" 13128 811570 0
0 0 0 4 0 4 | 73 1 jdk1.6.0-b13 "Thu Nov 18 06:02:06 EST 2004" 13128 811570 0
0 0 0 4 0 4 |
74 2 jdk1.6.0-b14 "Thu Dec 02 06:12:26 EST 2004" 13145 811786 0
0 2 0 2 0 2 | 74 2 jdk1.6.0-b14 "Thu Dec 02 06:12:26 EST 2004" 13145 811786 0
0 2 0 2 0 2 |
75 3 jdk1.6.0-b15 "Thu Dec 09 06:07:04 EST 2004" 13174 811693 0
0 1 0 1 2 1 | 75 3 jdk1.6.0-b15 "Thu Dec 09 06:07:04 EST 2004" 13174 811693 0
0 1 0 1 2 1 |
76 4 jdk1.6.0-b16 "Thu Dec 16 06:21:28 EST 2004" 13175 811715 0
0 0 0 1 3 1 | 76 4 jdk1.6.0-b16 "Thu Dec 16 06:21:28 EST 2004" 13175 811715 0
0 0 0 1 3 1 |
77 5 jdk1.6.0-b17 "Thu Dec 23 06:27:22 EST 2004" 13176 811974 0
0 0 0 1 3 1 | 77 5 jdk1.6.0-b17 "Thu Dec 23 06:27:22 EST 2004" 13176 811974 0
0 0 0 1 3 1 |
78 6 jdk1.6.0-b19 "Thu Jan 13 06:41:16 EST 2005" 13176 812011 0
0 0 0 1 3 1 | 78 6 jdk1.6.0-b19 "Thu Jan 13 06:41:16 EST 2005" 13176 812011 0
0 0 0 1 3 1 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 35 jdk1.6.0-b52 "Thu Sep 15 02:04:08 EDT 2005" 16477 979399 0
0 1 1 1433 197 1433 | 157 35 jdk1.6.0-b52 "Thu Sep 15 02:04:08 EDT 2005" 16477 979399 0
0 1 1 1433 197 1433 |
158 36 jdk1.6.0-b53 "Thu Sep 22 02:00:28 EDT 2005" 16019 957900 13
12 16 20 1397 199 1422 | 158 36 jdk1.6.0-b53 "Thu Sep 22 02:00:28 EDT 2005" 16019 957900 13
12 16 20 1397 199 1422 |
159 37 jdk1.6.0-b54 "Thu Sep 29 01:54:34 EDT 2005" 16019 957900 0
0 0 0 1422 235 1422 | 159 37 jdk1.6.0-b54 "Thu Sep 29 01:54:34 EDT 2005" 16019 957900 0
0 0 0 1422 235 1422 |
160 38 jdk1.6.0-b55 "Thu Oct 06 01:54:14 EDT 2005" 16051 959014 1
4 7 0 1415 235 1420 | 160 38 jdk1.6.0-b55 "Thu Oct 06 01:54:14 EDT 2005" 16051 959014 1
4 7 0 1415 235 1420 |
161 39 jdk1.6.0-b56 "Thu Oct 13 01:54:12 EDT 2005" 16211 970835 6
8 37 0 1383 242 1397 | 161 39 jdk1.6.0-b56 "Thu Oct 13 01:54:12 EDT 2005" 16211 970835 6
8 37 0 1383 242 1397 |
162 40 jdk1.6.0-b57 "Thu Oct 20 01:55:26 EDT 2005" 16279 971627 0
0 0 0 1397 279 1397 | 162 40 jdk1.6.0-b57 "Thu Oct 20 01:55:26 EDT 2005" 16279 971627 0
0 0 0 1397 279 1397 |
163 41 jdk1.6.0-b58 "Thu Oct 27 01:56:30 EDT 2005" 16283 971945 0
1 1 0 1396 279 1397 | 163 41 jdk1.6.0-b58 "Thu Oct 27 01:56:30 EDT 2005" 16283 971945 0
1 1 0 1396 279 1397 |
164 42 jdk1.6.0-b59 "Thu Nov 03 01:56:58 EST 2005" 16232 972193 6
0 5 0 1392 280 1398 | 164 42 jdk1.6.0-b59 "Thu Nov 03 01:56:58 EST 2005" 16232 972193 6
0 5 0 1392 280 1398 |
165 43 jdk1.6.0-b60 "Thu Nov 10 01:54:18 EST 2005" 16235 972346 0
0 0 0 1398 285 1398 | 165 43 jdk1.6.0-b60 "Thu Nov 10 01:54:18 EST 2005" 16235 972346 0
0 0 0 1398 285 1398 |
166 44 jdk1.6.0-b61 "Thu Nov 17 01:58:42 EST 2005" 16202 971134 2
0 4 0 1394 285 1396 | 166 44 jdk1.6.0-b61 "Thu Nov 17 01:58:42 EST 2005" 16202 971134 2
0 4 0 1394 285 1396 |
167 </pre></div><div class="sect2" title="2.2. 増分履歴}
13;ンテナンス"><div class="titlepage"><div><div><h
3 class="title"><a name="incrementalhistory"></a>2.2. 増分履&#
27508;メンテナンス</h3></div></div></div><p>
仮に、 db.xml がビルド b12 - b60 {
95;対する findbugs 実行結果を
0445;持している場合、次
2395;示すコマンドを実行
2377;ることで、 db.xml に b61 にळ
0;する実行結果を追加ӕ
7;ることができます :</p><pre cla
ss="screen"> | 167 </pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title
"><a name="incrementalhistory"></a>2.2. 増分履歴メ
ンテナンス</h3></div></div></div><p>仮ӗ
5;、 db.xml がビルド b12 - b60 に対
2377;る findbugs 実行結果を保持&
#12375;ている場合、次に示&
#12377;コマンドを実行する&
#12371;とで、 db.xml に b61 に対す
427;実行結果を追加する
371;とができます :</p><pre class="screen"> |
168 computeBugHistory -output db.xml db.xml jdk1.6.0-b61/jre/lib/rt.xml | 168 computeBugHistory -output db.xml db.xml jdk1.6.0-b61/jre/lib/rt.xml |
169 </pre></div></div><div class="sect1" title="3. Ant の例"><div class=
"titlepage"><div><div><h2 class="title" style="clear: both"><a name="antexample"
></a>3. Ant の例</h2></div></div></div><p>findbugs の実&
#34892;とその後のデータ・&
#12510;イニングツールの活&
#29992;の両方を実行してい&
#12427; ant スクリプトの完全
394;例を以下に示します :</
p><pre class="screen"> | 169 </pre></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class=
"title" style="clear: both"><a name="antexample"></a>3. Ant の例</h2
></div></div></div><p>findbugs の実行とその&
#24460;のデータ・マイニン&
#12464;ツールの活用の両方&
#12434;実行している ant スク
522;プトの完全な例を以
979;に示します :</p><pre class="screen"> |
170 | 170 |
171 <project name="analyze_asm_util" default="findbugs"> | 171 <project name="analyze_asm_util" default="findbugs"> |
172 <!-- findbugs タスク定義 --> | 172 <!-- findbugs タスク定義 --> |
173 <property name="findbugs.home" value="/Users/ben/Documents/workspace/findb
ugs/findbugs" /> | 173 <property name="findbugs.home" value="/Users/ben/Documents/workspace/findb
ugs/findbugs" /> |
174 <property name="jvmargs" value="-server -Xss1m -Xmx800m -Duser.language=en
-Duser.region=EN -Dfindbugs.home=${findbugs.home}" /> | 174 <property name="jvmargs" value="-server -Xss1m -Xmx800m -Duser.language=en
-Duser.region=EN -Dfindbugs.home=${findbugs.home}" /> |
175 | 175 |
176 <path id="findbugs.lib"> | 176 <path id="findbugs.lib"> |
177 <fileset dir="${findbugs.home}/lib"> | 177 <fileset dir="${findbugs.home}/lib"> |
178 <include name="findbugs-ant.jar"/> | 178 <include name="findbugs-ant.jar"/> |
179 </fileset> | 179 </fileset> |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 <mineBugHistory home="${findbugs.home}" | 271 <mineBugHistory home="${findbugs.home}" |
272 formatDates="true" | 272 formatDates="true" |
273 noTabs="true" | 273 noTabs="true" |
274 input="${hist.file}" | 274 input="${hist.file}" |
275 output="${hist.summary.file}"/> | 275 output="${hist.summary.file}"/> |
276 </target> | 276 </target> |
277 | 277 |
278 </project> | 278 </project> |
279 | 279 |
280 </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Naviga
tion footer"><tr><td width="40%" align="left"><a accesskey="p" href="rejarForAna
lysis.html">戻る</a> </td><td width="20%" align="center">
</td><td width="40%" align="right"> <a accesskey="n" href="license.html">&#
27425;へ</a></td></tr><tr><td width="40%" align="left" valign="top">౑
2;11章 rejarForAnalysis の使用方法 </td
><td width="20%" align="center"><a accesskey="h" href="index.html">ホ}
40;ム</a></td><td width="40%" align="right" valign="top"> 第13&
#31456; ライセンス</td></tr></table></div></body><
/html> | 280 </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Naviga
tion footer"><tr><td width="40%" align="left"><a accesskey="p" href="rejarForAna
lysis.html">戻る</a> </td><td width="20%" align="center">
</td><td width="40%" align="right"> <a accesskey="n" href="license.html">&#
27425;へ</a></td></tr><tr><td width="40%" align="left" valign="top">౑
2;11章 rejarForAnalysis の使用方法 </td
><td width="20%" align="center"><a accesskey="h" href="index.html">ホ}
40;ム</a></td><td width="40%" align="right" valign="top"> 第13&
#31456; ライセンス</td></tr></table></div></body><
/html> |
OLD | NEW |