1<html><head>
2      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3   <title>&#31532;12&#31456; FindBugs&#8482; &#12395;&#12424;&#12427;&#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="rejarForAnalysis.html" title="&#31532;11&#31456; rejarForAnalysis &#12398;&#20351;&#29992;&#26041;&#27861;"><link rel="next" href="license.html" title="&#31532;13&#31456; &#12521;&#12452;&#12475;&#12531;&#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">&#31532;12&#31456; <span class="application">FindBugs</span>&#8482; &#12395;&#12424;&#12427;&#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="rejarForAnalysis.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="license.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;12&#31456; FindBugs&#8482; &#12395;&#12424;&#12427;&#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464;"><div class="titlepage"><div><div><h2 class="title"><a name="datamining"></a>&#31532;12&#31456; <span class="application">FindBugs</span>&#8482; &#12395;&#12424;&#12427;&#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="datamining.html#commands">1. &#12467;&#12510;&#12531;&#12489;</a></span></dt><dt><span class="sect1"><a href="datamining.html#examples">2. &#20363;</a></span></dt><dt><span class="sect1"><a href="datamining.html#antexample">3. Ant &#12398;&#20363;</a></span></dt></dl></div><p>&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12408;&#12398;&#39640;&#27231;&#33021;&#12398;&#21839;&#12356;&#21512;&#12431;&#12379;&#27231;&#33021;&#12289;&#12362;&#12424;&#12403;&#12289;&#35519;&#26619;&#23550;&#35937;&#12398;&#12467;&#12540;&#12489;&#12398;&#35079;&#25968;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#12431;&#12383;&#12427;&#35686;&#21578;&#12398;&#36861;&#36321;&#35352;&#37682;&#27231;&#33021;&#12434;&#12289; FindBugs &#12399;&#20869;&#34101;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12434;&#20351;&#12387;&#12390;&#27425;&#12398;&#12424;&#12358;&#12394;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;&#12356;&#12388;&#12496;&#12464;&#12364;&#26368;&#21021;&#25345;&#12385;&#36796;&#12414;&#12428;&#12383;&#12363;&#12434;&#25436;&#12375;&#20986;&#12377;&#12371;&#12392;&#12289;&#26368;&#32066;&#12522;&#12522;&#12540;&#12473;&#20197;&#24460;&#25345;&#12385;&#36796;&#12414;&#12428;&#12383;&#35686;&#21578;&#12398;&#20998;&#26512;&#12434;&#34892;&#12358;&#12371;&#12392;&#12289;&#12414;&#12383;&#12399;&#12289;&#28961;&#38480;&#20877;&#36215;&#12523;&#12540;&#12503;&#12398;&#25968;&#12434;&#26178;&#38291;&#36600;&#12391;&#12464;&#12521;&#12501;&#12395;&#12377;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290;</p><p>&#12371;&#12428;&#12425;&#12398;&#25216;&#34899;&#12399;&#12289; FindBugs &#12364;&#35686;&#21578;&#12398;&#20445;&#23384;&#12395;&#20351;&#12358; XML &#26360;&#24335;&#12434;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12398; XML &#12501;&#12449;&#12452;&#12523;&#12399;&#12289;&#36890;&#24120;&#12289;&#29305;&#23450;&#12398; 1 &#20998;&#26512;&#12395;&#23550;&#12377;&#12427;&#35686;&#21578;&#12364;&#20837;&#12428;&#12425;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#12375;&#12363;&#12375;&#12381;&#12428;&#12425;&#12395;&#12399;&#12289;&#19968;&#36899;&#12398;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;&#12398;&#12499;&#12523;&#12489;&#12420;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23550;&#12377;&#12427;&#20998;&#26512;&#32080;&#26524;&#12434;&#26684;&#32013;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12377;&#12409;&#12390;&#12398; FindBugs XML &#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12399;&#12289;&#12496;&#12540;&#12472;&#12519;&#12531;&#21517;&#12392;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503; &#12364;&#20837;&#12428;&#12425;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;FindBugs &#12399;&#20998;&#26512;&#12364;&#34892;&#12431;&#12428;&#12427;&#12501;&#12449;&#12452;&#12523;&#12398;&#26356;&#26032;&#26178;&#21051;&#12363;&#12425;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12434;&#35336;&#31639;&#12375;&#12414;&#12377; (&#20363;&#12360;&#12400;&#12289;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12399;&#12463;&#12521;&#12473;&#12501;&#12449;&#12452;&#12523;&#12398;&#29983;&#25104;&#26178;&#21051;&#12395;&#12394;&#12427;&#12424;&#12358;&#12395;&#12394;&#12387;&#12390;&#12356;&#12414;&#12377;&#12290;&#20998;&#26512;&#12364;&#34892;&#12431;&#12428;&#12383;&#26178;&#21051;&#12391;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;) &#12290;&#21508;&#12293;&#12398;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12399;&#12289;&#12496;&#12540;&#12472;&#12519;&#12531;&#21517;&#12418;&#20837;&#12428;&#12425;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#12496;&#12540;&#12472;&#12519;&#12531;&#21517;&#12392;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12399;&#12289; <span class="command"><strong>setBugDatabaseInfo</strong></span> (<a class="xref" href="datamining.html#setBugDatabaseInfo" title="1.7. setBugDatabaseInfo">&#12300;setBugDatabaseInfo&#12301;</a>) &#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12375;&#12390;&#25163;&#21205;&#12391;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#26684;&#32013;&#12377;&#12427;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12362;&#12356;&#12390;&#12399;&#12289;&#20998;&#26512;&#12373;&#12428;&#12427;&#12467;&#12540;&#12489;&#12398;&#21508;&#12496;&#12540;&#12472;&#12519;&#12531;&#12372;&#12392;&#12395;&#12471;&#12540;&#12465;&#12531;&#12473;&#30058;&#21495;&#12364;&#21106;&#12426;&#24403;&#12390;&#12425;&#12428;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12398;&#12471;&#12540;&#12465;&#12531;&#12473;&#30058;&#21495;&#12399;&#21336;&#12395; 0 &#12363;&#12425;&#22987;&#12414;&#12427;&#36899;&#32154;&#12377;&#12427;&#25972;&#25968;&#20516;&#12391;&#12377; (&#20363;&#12360;&#12400;&#12289; 4 &#12388;&#12398;&#12467;&#12540;&#12489;&#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#26684;&#32013;&#12377;&#12427;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12399;&#12289;&#12496;&#12540;&#12472;&#12519;&#12531; 0~3 &#12364;&#20837;&#12428;&#12425;&#12428;&#12414;&#12377;) &#12290;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12399;&#12414;&#12383;&#12289;&#21508;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#21517;&#21069;&#12392;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12364;&#12381;&#12428;&#12382;&#12428;&#35352;&#37682;&#12373;&#12428;&#12414;&#12377;&#12290;<span class="command"><strong>filterBugs</strong></span> &#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12392;&#12289;&#12471;&#12540;&#12465;&#12531;&#12473;&#30058;&#21495;&#12289;&#12496;&#12540;&#12472;&#12519;&#12531;&#21517;&#12414;&#12383;&#12399;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12363;&#12425;&#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#21442;&#29031;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>1 &#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#26684;&#32013;&#12377;&#12427;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#38598;&#21512;&#12363;&#12425;&#12289; 1 &#20491;&#12398;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#20316;&#25104;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#23550;&#12375;&#12390;&#12289;&#12381;&#12428;&#20197;&#24460;&#12395;&#20316;&#25104;&#12373;&#12428;&#12383; 1 &#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#32080;&#21512;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12428;&#12425;&#12398;&#12467;&#12510;&#12531;&#12489;&#12398;&#12356;&#12367;&#12388;&#12363;&#12399;&#12289; ant &#12479;&#12473;&#12463;&#12392;&#12375;&#12390;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12467;&#12510;&#12531;&#12489;&#12398;&#23455;&#34892;&#26041;&#27861;&#12362;&#12424;&#12403;&#23646;&#24615;&#12539;&#24341;&#25968;&#12398;&#35443;&#32048;&#12399;&#12289;&#20197;&#19979;&#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#20197;&#19979;&#12398;&#12377;&#12409;&#12390;&#12398;&#20363;&#12395;&#12362;&#12356;&#12390;&#12399;&#12289; <code class="literal">findbugs.lib</code> <code class="literal">refid</code> &#12364;&#27491;&#12375;&#12367;&#35373;&#23450;&#12373;&#12428;&#12390;&#12356;&#12427;&#12371;&#12392;&#12434;&#21069;&#25552;&#12392;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#35373;&#23450;&#26041;&#27861;&#12398;&#19968;&#20363;&#12434;&#27425;&#12395;&#31034;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
4
5   &lt;!-- findbugs &#12479;&#12473;&#12463;&#23450;&#32681; --&gt;
6   &lt;property name="findbugs.home" value="/your/path/to/findbugs" /&gt;
7   &lt;path id="findbugs.lib"&gt;
8      &lt;fileset dir="${findbugs.home}/lib"&gt;
9         &lt;include name="findbugs-ant.jar"/&gt;
10      &lt;/fileset&gt;
11   &lt;/path&gt;
12
13</pre><div class="sect1" title="1. &#12467;&#12510;&#12531;&#12489;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="commands"></a>1. &#12467;&#12510;&#12531;&#12489;</h2></div></div></div><p>FindBugs &#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464; &#12484;&#12540;&#12523;&#12399;&#12377;&#12409;&#12390;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12363;&#12425;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12356;&#12367;&#12388;&#12363;&#12398;&#12424;&#12426;&#26377;&#29992;&#12394;&#12467;&#12510;&#12531;&#12489;&#12399;&#12289; ant &#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12484;&#12540;&#12523;&#12395;&#12388;&#12356;&#12390;&#31777;&#21336;&#12395;&#35500;&#26126;&#12375;&#12414;&#12377; :</p><div class="variablelist"><dl><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>&#21029;&#12398;&#12463;&#12521;&#12473;&#12395;&#23550;&#12377;&#12427;&#21029;&#20491;&#12398;&#20998;&#26512;&#32080;&#26524;&#12434;&#32080;&#21512;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong><a class="link" href="datamining.html#computeBugHistory" title="1.2. computeBugHistory">computeBugHistory</a></strong></span></span></dt><dd><p>&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12363;&#12425;&#24471;&#12425;&#12428;&#12383;&#35079;&#25968;&#12398;&#12496;&#12464;&#35686;&#21578;&#12434;&#12289;&#12510;&#12540;&#12472;&#12375;&#12390; 1 &#20491;&#12398;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12375;&#12414;&#12377;&#12290;&#12371;&#12428;&#12434;&#20351;&#12387;&#12390;&#12289;&#26082;&#23384;&#12398;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#26356;&#12395;&#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#36861;&#21152;&#12375;&#12383;&#12426;&#12289; 1 &#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#26684;&#32013;&#12377;&#12427;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#38598;&#21512;&#12363;&#12425; 1 &#20491;&#12398;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#20316;&#25104;&#12375;&#12383;&#12426;&#12289;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong><a class="link" href="datamining.html#setBugDatabaseInfo" title="1.7. setBugDatabaseInfo">setBugDatabaseInfo</a></strong></span></span></dt><dd><p>&#12522;&#12499;&#12472;&#12519;&#12531;&#21517;&#12420;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12394;&#12393;&#12398;&#24773;&#22577;&#12434; XML &#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong><a class="link" href="datamining.html#listBugDatabaseInfo" title="1.8. listBugDatabaseInfo">listBugDatabaseInfo</a></strong></span></span></dt><dd><p>XML &#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12354;&#12427;&#12522;&#12499;&#12472;&#12519;&#12531;&#21517;&#12420;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12394;&#12393;&#12398;&#24773;&#22577;&#12434;&#19968;&#35239;&#34920;&#31034;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong><a class="link" href="datamining.html#filterBugs" title="1.3. filterBugs">filterBugs</a></strong></span></span></dt><dd><p>&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#37096;&#20998;&#38598;&#21512;&#12434;&#36984;&#25246;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong><a class="link" href="datamining.html#mineBugHistory" title="1.4. mineBugHistory">mineBugHistory</a></strong></span></span></dt><dd><p>&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#21508;&#12496;&#12540;&#12472;&#12519;&#12531;&#27598;&#12398;&#35686;&#21578;&#25968;&#12434;&#19968;&#35239;&#12395;&#12375;&#12383;&#34920;&#12434;&#20316;&#25104;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong><a class="link" href="datamining.html#defectDensity" title="1.5. defectDensity">defectDensity</a></strong></span></span></dt><dd><p>&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#20840;&#20307;&#12362;&#12424;&#12403;&#12463;&#12521;&#12473;&#27598;&#12539;&#12497;&#12483;&#12465;&#12540;&#12472;&#27598;&#12398;&#19981;&#33391;&#23494;&#24230; (1000 NCSS &#27598;&#12398;&#35686;&#21578;&#25968;) &#12395;&#38306;&#12377;&#12427;&#24773;&#22577;&#12434;&#19968;&#35239;&#34920;&#31034;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong><a class="link" href="datamining.html#convertXmlToText" title="1.6. convertXmlToText">convertXmlToText</a></strong></span></span></dt><dd><p>XML &#24418;&#24335;&#12398;&#12496;&#12464;&#35686;&#21578;&#12434;&#12289; 1 &#34892; 1 &#12496;&#12464;&#12398;&#12486;&#12461;&#12473;&#12488;&#24418;&#24335;&#12289;&#12414;&#12383;&#12399;&#12289;HTML&#24418;&#24335;&#12395;&#22793;&#25563;&#12375;&#12414;&#12377;&#12290;</p></dd></dl></div><div class="sect2" title="1.1. unionBugs"><div class="titlepage"><div><div><h3 class="title"><a name="unionBugs"></a>1.1. unionBugs</h3></div></div></div><p>&#20998;&#26512;&#12377;&#12427;&#12398;&#12395;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12398; jar &#12501;&#12449;&#12452;&#12523;&#12434;&#20998;&#21106;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12289;&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#21029;&#20491;&#12395;&#29983;&#25104;&#12373;&#12428;&#12383; XML &#12496;&#12464;&#35686;&#21578;&#12501;&#12449;&#12452;&#12523;&#12434;&#12377;&#12409;&#12390;&#12398;&#35686;&#21578;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427; 1 &#12388;&#12398; &#12501;&#12449;&#12452;&#12523;&#12395;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#21516;&#12376;&#12501;&#12449;&#12452;&#12523;&#12398;&#30064;&#12394;&#12427;&#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#20998;&#26512;&#12375;&#12383;&#32080;&#26524;&#12434;&#32080;&#21512;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289;&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;<span class="emphasis"><em>&#20351;&#29992;&#12375;&#12394;&#12356;&#12391;&#12367;&#12384;&#12373;&#12356;</em></span>&#12290;&#20195;&#12431;&#12426;&#12395; <span class="command"><strong>computeBugHistory</strong></span> &#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p><p>XML &#12501;&#12449;&#12452;&#12523;&#12399;&#12289;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12391;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#32080;&#26524;&#12399;&#12289;&#27161;&#28310;&#20986;&#21147;&#12395;&#36865;&#12425;&#12428;&#12414;&#12377;&#12290;</p></div><div class="sect2" title="1.2. computeBugHistory"><div class="titlepage"><div><div><h3 class="title"><a name="computeBugHistory"></a>1.2. computeBugHistory</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#20998;&#26512;&#12377;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;&#12398;&#30064;&#12394;&#12427;&#12499;&#12523;&#12489;&#12414;&#12383;&#12399;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#24773;&#22577;&#12434;&#21547;&#12416;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#29983;&#25104;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#20837;&#21147;&#12392;&#12375;&#12390;&#25552;&#20379;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12398; 1 &#30058;&#30446;&#12398;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#23653;&#27508;&#12364;&#21462;&#24471;&#12373;&#12428;&#12414;&#12377;&#12290;&#24460;&#12395;&#32154;&#12367;&#12501;&#12449;&#12452;&#12523;&#12399; 1 &#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12391;&#12354;&#12427;&#12424;&#12358;&#12395;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356; (&#12418;&#12375;&#12289;&#23653;&#27508;&#12434;&#25345;&#12387;&#12390;&#12356;&#12383;&#12392;&#12375;&#12390;&#12418;&#28961;&#35222;&#12373;&#12428;&#12414;&#12377;) &#12290;</p><p>&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12399;&#12289;&#32080;&#26524;&#12399;&#27161;&#28310;&#20986;&#21147;&#12395;&#36865;&#12425;&#12428;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398;&#27231;&#33021;&#12399;&#12289; ant &#12363;&#12425;&#12418;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12378;&#27425;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395;&#12289;&#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12395; <span class="command"><strong>computeBugHistory</strong></span> &#12434; taskdef &#12391;&#23450;&#32681;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
14
15&lt;taskdef name="computeBugHistory" classname="edu.umd.cs.findbugs.anttask.ComputeBugHistoryTask"&gt;
16    &lt;classpath refid="findbugs.lib" /&gt;
17&lt;/taskdef&gt;
18
19</pre><p>&#12371;&#12398; ant &#12479;&#12473;&#12463;&#12395;&#25351;&#23450;&#12391;&#12365;&#12427;&#23646;&#24615;&#12434;&#12289;&#19979;&#34920;&#12395;&#19968;&#35239;&#12391;&#31034;&#12375;&#12414;&#12377;&#12290;&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12377;&#12427;&#12395;&#12399;&#12289; <code class="literal">&lt;datafile&gt;</code> &#35201;&#32032;&#12434;&#20837;&#12428;&#23376;&#12395;&#12375;&#12390;&#20837;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#27425;&#12395;&#12289;&#20363;&#12434;&#31034;&#12375;&#12414;&#12377;:</p><pre class="programlisting">
20
21&lt;computeBugHistory home="${findbugs.home}" ...&gt;
22    &lt;datafile name="analyze1.xml"/&gt;
23    &lt;datafile name="analyze2.xml"/&gt;
24&lt;/computeBugHistory&gt;
25
26</pre><div class="table"><a name="computeBugHistoryTable"></a><p class="title"><b>&#34920;12.1 computeBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</b></p><div class="table-contents"><table summary="computeBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</th><th align="left">Ant &#23646;&#24615;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">-output &lt;file&gt;</td><td align="left">output="&lt;file&gt;"</td><td align="left">&#20986;&#21147;&#32080;&#26524;&#12434;&#20445;&#23384;&#12377;&#12427;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290; (&#21516;&#26178;&#12395;&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12395;&#12418;&#12394;&#12426;&#12360;&#12414;&#12377;)</td></tr><tr><td align="left">-overrideRevisionNames[:truth]</td><td align="left">overrideRevisionNames="[true|false]"</td><td align="left">&#12501;&#12449;&#12452;&#12523;&#21517;&#12363;&#12425;&#31639;&#20986;&#12373;&#12428;&#12427;&#12381;&#12428;&#12382;&#12428;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#21517;&#12434;&#25351;&#23450;&#22793;&#26356;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-noPackageMoves[:truth]</td><td align="left">noPackageMoves="[true|false]"</td><td align="left">&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#31227;&#21205;&#12375;&#12383;&#12463;&#12521;&#12473;&#12364;&#12354;&#12427;&#22580;&#21512;&#12289;&#24403;&#35442;&#12463;&#12521;&#12473;&#12398;&#35686;&#21578;&#12399;&#21029;&#12398;&#23384;&#22312;&#12392;&#12375;&#12390;&#25201;&#12431;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-preciseMatch[:truth]</td><td align="left">preciseMatch="[true|false]"</td><td align="left">&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12364;&#27491;&#30906;&#12395;&#19968;&#33268;&#12377;&#12427;&#12371;&#12392;&#12434;&#35201;&#27714;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-precisePriorityMatch[:truth]</td><td align="left">precisePriorityMatch="[true|false]"</td><td align="left">&#20778;&#20808;&#24230;&#12364;&#27491;&#30906;&#12395;&#19968;&#33268;&#12375;&#12383;&#22580;&#21512;&#12398;&#12415;&#35686;&#21578;&#12364;&#21516;&#19968;&#12391;&#12354;&#12427;&#12392;&#21028;&#26029;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-quiet[:truth]</td><td align="left">quiet="[true|false]"</td><td align="left">&#12456;&#12521;&#12540;&#12364;&#30330;&#29983;&#12375;&#12394;&#12356;&#38480;&#12426;&#12289;&#27161;&#28310;&#20986;&#21147;&#12395;&#12399;&#20309;&#12418;&#34920;&#31034;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;</td></tr><tr><td align="left">-withMessages[:truth]</td><td align="left">withMessages="[true|false]"</td><td align="left">&#20986;&#21147; XML &#12395;&#20154;&#38291;&#12364;&#35501;&#12416;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12496;&#12464;&#12513;&#12483;&#12475;&#12540;&#12472;&#12364;&#21547;&#12414;&#12428;&#12414;&#12377;&#12290;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" title="1.3. filterBugs"><div class="titlepage"><div><div><h3 class="title"><a name="filterBugs"></a>1.3. filterBugs</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; FindBugs XML &#35686;&#21578;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#19968;&#37096;&#20998;&#12434;&#36984;&#12403;&#20986;&#12375;&#12390;&#26032;&#35215; FindBugs &#35686;&#21578;&#12501;&#12449;&#12452;&#12523;&#12395;&#36984;&#25246;&#12373;&#12428;&#12383;&#37096;&#20998;&#12434;&#26360;&#12365;&#36796;&#12416;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12395;&#12399;&#12289;&#12458;&#12503;&#12471;&#12519;&#12531;&#32676;&#12395;&#32154;&#12356;&#12390; 0 &#20491;&#12363;&#12425; 2 &#20491;&#12398; findbugs xml &#12496;&#12464;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#12402;&#12392;&#12388;&#12418;&#25351;&#23450;&#12375;&#12394;&#12356;&#22580;&#21512;&#12399;&#12289;&#27161;&#28310;&#20837;&#21147;&#12363;&#12425;&#35501;&#12435;&#12391;&#27161;&#28310;&#20986;&#21147;&#12395;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434; 1 &#20491; &#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#25351;&#23450;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#35501;&#12435;&#12391;&#27161;&#28310;&#20986;&#21147;&#12395;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434; 2 &#20491; &#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289; 1 &#30058;&#30446;&#12395;&#25351;&#23450;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#35501;&#12435;&#12391; 2 &#30058;&#30446;&#12395;&#25351;&#23450;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12395;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398;&#27231;&#33021;&#12399;&#12289; ant &#12363;&#12425;&#12418;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12378;&#27425;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395;&#12289;&#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12395; <span class="command"><strong>filterBugs</strong></span> &#12434; taskdef &#12391;&#23450;&#32681;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
27
28&lt;taskdef name="filterBugs" classname="edu.umd.cs.findbugs.anttask.FilterBugsTask"&gt;
29    &lt;classpath refid="findbugs.lib" /&gt;
30&lt;/taskdef&gt;
31
32</pre><p>&#12371;&#12398; ant &#12479;&#12473;&#12463;&#12395;&#25351;&#23450;&#12391;&#12365;&#12427;&#23646;&#24615;&#12434;&#12289;&#19979;&#34920;&#12395;&#19968;&#35239;&#12391;&#31034;&#12375;&#12414;&#12377;&#12290;&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12377;&#12427;&#12395;&#12399;&#12289; <code class="literal">input</code>  &#23646;&#24615;&#12434;&#20351;&#29992;&#12377;&#12427;&#12363;&#12289; <code class="literal">&lt;datafile&gt;</code> &#35201;&#32032;&#12434;&#20837;&#12428;&#23376;&#12395;&#12375;&#12390;&#20837;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#27425;&#12395;&#12289;&#20363;&#12434;&#31034;&#12375;&#12414;&#12377;:</p><pre class="programlisting">
33
34&lt;filterBugs home="${findbugs.home}" ...&gt;
35    &lt;datafile name="analyze.xml"/&gt;
36&lt;/filterBugs&gt;
37
38</pre><div class="table"><a name="filterOptionsTable"></a><p class="title"><b>&#34920;12.2 filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</b></p><div class="table-contents"><table summary="filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</th><th align="left">Ant &#23646;&#24615;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;file&gt;"</td><td align="left">&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;file&gt;"</td><td align="left">&#20986;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-not</td><td align="left">not="[true|false]"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12398;&#12473;&#12452;&#12483;&#12481;&#12434;&#21453;&#36578;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-withSource[:truth]</td><td align="left">withSource="[true|false]"</td><td align="left">&#12477;&#12540;&#12473;&#12364;&#20837;&#25163;&#21487;&#33021;&#12394;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-exclude &lt;filter file&gt;</td><td align="left">exclude="&lt;filter file&gt;"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#12364;&#38500;&#22806;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-include &lt;filter file&gt;</td><td align="left">include="&lt;filter file&gt;"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#12398;&#12415;&#12434;&#21547;&#12414;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-annotation &lt;text&gt;</td><td align="left">annotation="&lt;text&gt;"</td><td align="left">&#25163;&#12391;&#20837;&#21147;&#12375;&#12383;&#27880;&#37320;&#12395;&#25351;&#23450;&#12375;&#12383;&#25991;&#35328;&#12434;&#21547;&#12416;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-after &lt;when&gt;</td><td align="left">after="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12424;&#12426;&#24460;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-before &lt;when&gt;</td><td align="left">before="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12424;&#12426;&#21069;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-first &lt;when&gt;</td><td align="left">first="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-last &lt;when&gt;</td><td align="left">last="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#20986;&#29694;&#12375;&#12383;&#26368;&#24460;&#12391;&#12354;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-fixed &lt;when&gt;</td><td align="left">fixed="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#21069;&#22238;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#20986;&#29694;&#12375;&#12383;&#26368;&#24460;&#12391;&#12354;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290; (<code class="option">-last</code> &#12395;&#20778;&#20808;&#12375;&#12414;&#12377;)&#12290;</td></tr><tr><td align="left">-present &lt;when&gt;</td><td align="left">present="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-absent &lt;when&gt;</td><td align="left">absent="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12375;&#12394;&#12356;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-active[:truth]</td><td align="left">active="[true|false]"</td><td align="left">&#26368;&#32066;&#36890;&#30058;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-introducedByChange[:truth]</td><td align="left">introducedByChange="[true|false]"</td><td align="left">&#23384;&#22312;&#12377;&#12427;&#12463;&#12521;&#12473;&#12398;&#22793;&#26356;&#12395;&#12424;&#12387;&#12390;&#12418;&#12383;&#12425;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-removedByChange[:truth]</td><td align="left">removedByChange="[true|false]"</td><td align="left">&#23384;&#22312;&#12377;&#12427;&#12463;&#12521;&#12473;&#12398;&#22793;&#26356;&#12395;&#12424;&#12387;&#12390;&#38500;&#21435;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-newCode[:truth]</td><td align="left">newCode="[true|false]"</td><td align="left">&#26032;&#12463;&#12521;&#12473;&#12398;&#36861;&#21152;&#12395;&#12424;&#12387;&#12390;&#12418;&#12383;&#12425;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-removedCode[:truth]</td><td align="left">removedCode="[true|false]"</td><td align="left">&#12463;&#12521;&#12473;&#12398;&#21066;&#38500;&#12395;&#12424;&#12387;&#12390;&#38500;&#21435;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-priority &lt;level&gt;</td><td align="left">priority="&lt;level&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#20778;&#20808;&#24230;&#20197;&#19978;&#12398;&#20778;&#20808;&#24230;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-class &lt;pattern&gt;</td><td align="left">class="&lt;class&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12497;&#12479;&#12540;&#12531;&#12395;&#19968;&#33268;&#12377;&#12427;&#20027;&#12463;&#12521;&#12473;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-bugPattern &lt;pattern&gt;</td><td align="left">bugPattern="&lt;pattern&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12497;&#12479;&#12540;&#12531;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#31278;&#21029;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-category &lt;category&gt;</td><td align="left">category="&lt;category&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#25991;&#23383;&#21015;&#12391;&#22987;&#12414;&#12427;&#12459;&#12486;&#12468;&#12522;&#12540;&#12398;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-designation &lt;designation&gt;</td><td align="left">designation="&lt;designation&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12464;&#20998;&#39006;&#25351;&#23450;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290; (&#20363;&#12289; -designation SHOULD_FIX)</td></tr><tr><td align="left">-withMessages[:truth] </td><td align="left">withMessages="[true|false]"</td><td align="left">&#12486;&#12461;&#12473;&#12488;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#21547;&#12435;&#12384; XML &#12364;&#29983;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;</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="mineBugHistory"></a>1.4. mineBugHistory</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#21508;&#12496;&#12540;&#12472;&#12519;&#12531;&#27598;&#12398;&#35686;&#21578;&#25968;&#12434;&#19968;&#35239;&#12395;&#12375;&#12383;&#34920;&#12434;&#20316;&#25104;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398;&#27231;&#33021;&#12399;&#12289; ant &#12363;&#12425;&#12418;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12378;&#27425;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395;&#12289;&#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12395; <span class="command"><strong>mineBugHistory</strong></span> &#12434; taskdef &#12391;&#23450;&#32681;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
39
40&lt;taskdef name="mineBugHistory" classname="edu.umd.cs.findbugs.anttask.MineBugHistoryTask"&gt;
41    &lt;classpath refid="findbugs.lib" /&gt;
42&lt;/taskdef&gt;
43
44</pre><p>&#12371;&#12398; ant &#12479;&#12473;&#12463;&#12395;&#25351;&#23450;&#12391;&#12365;&#12427;&#23646;&#24615;&#12434;&#12289;&#19979;&#34920;&#12395;&#19968;&#35239;&#12391;&#31034;&#12375;&#12414;&#12377;&#12290;&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12377;&#12427;&#12395;&#12399;&#12289; <code class="literal">input</code>  &#23646;&#24615;&#12434;&#20351;&#29992;&#12377;&#12427;&#12363;&#12289; <code class="literal">&lt;datafile&gt;</code> &#35201;&#32032;&#12434;&#20837;&#12428;&#23376;&#12395;&#12375;&#12390;&#20837;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#27425;&#12395;&#12289;&#20363;&#12434;&#31034;&#12375;&#12414;&#12377;:</p><pre class="programlisting">
45
46&lt;mineBugHistory home="${findbugs.home}" ...&gt;
47    &lt;datafile name="analyze.xml"/&gt;
48&lt;/mineBugHistory&gt;
49
50</pre><div class="table"><a name="mineBugHistoryOptionsTable"></a><p class="title"><b>&#34920;12.3 mineBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</b></p><div class="table-contents"><table summary="mineBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</th><th align="left">Ant &#23646;&#24615;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;file&gt;"</td><td align="left">&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;file&gt;"</td><td align="left">&#20986;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-formatDates</td><td align="left">formatDates="[true|false]"</td><td align="left">&#12487;&#12540;&#12479;&#12364;&#12486;&#12461;&#12473;&#12488;&#24418;&#24335;&#12391;&#25551;&#30011;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-noTabs</td><td align="left">noTabs="[true|false]"</td><td align="left">&#12479;&#12502;&#12398;&#20195;&#12431;&#12426;&#12395;&#35079;&#25968;&#12473;&#12506;&#12540;&#12473;&#12391;&#12459;&#12521;&#12512;&#12364;&#21306;&#20999;&#12425;&#12428;&#12414;&#12377; (&#19979;&#35352;&#21442;&#29031;)&#12290;</td></tr><tr><td align="left">-summary</td><td align="left">summary="[true|false]"</td><td align="left">&#26368;&#26032; 10 &#20214;&#12398;&#22793;&#26356;&#12398;&#35201;&#32004;&#12364;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr></tbody></table></div></div><br class="table-break"><p><code class="option">-noTabs</code> &#20986;&#21147;&#12434;&#20351;&#12358;&#12371;&#12392;&#12391;&#12289;&#22266;&#23450;&#24133;&#12501;&#12457;&#12531;&#12488;&#12398;&#12471;&#12455;&#12523;&#12391;&#35501;&#12415;&#26131;&#12367;&#12394;&#12426;&#12414;&#12377;&#12290;&#25968;&#20516;&#12459;&#12521;&#12512;&#12399;&#21491;&#23492;&#12379;&#12373;&#12428;&#12427;&#12398;&#12391;&#12289;&#12473;&#12506;&#12540;&#12473;&#12364;&#12459;&#12521;&#12512;&#20516;&#12398;&#21069;&#12395;&#25407;&#20837;&#12373;&#12428;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#20351;&#29992;&#12375;&#12383;&#22580;&#21512;&#12289; <code class="option">-formatDates</code> &#12434;&#25351;&#23450;&#12375;&#12383;&#12392;&#12365;&#12395;&#35201;&#32004;&#12398;&#26085;&#20184;&#12434;&#25551;&#30011;&#12377;&#12427;&#12398;&#12395;&#31354;&#30333;&#12364;&#22475;&#12417;&#36796;&#12414;&#12428;&#12394;&#12367;&#12394;&#12426;&#12414;&#12377;&#12290;</p><p>&#20986;&#21147;&#12373;&#12428;&#12427;&#34920;&#12399;&#12289; (<code class="option">-noTabs</code> &#12364;&#28961;&#12369;&#12428;&#12400;) &#12479;&#12502;&#21306;&#20999;&#12426;&#12391;&#27425;&#12395;&#31034;&#12377;&#12459;&#12521;&#12512;&#12363;&#12425;&#25104;&#12426;&#12414;&#12377; :</p><div class="table"><a name="mineBugHistoryColumns"></a><p class="title"><b>&#34920;12.4 mineBugHistory &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;</b></p><div class="table-contents"><table summary="mineBugHistory &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;" border="1"><colgroup><col><col></colgroup><thead><tr><th align="left">&#34920;&#38988;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">seq</td><td align="left">&#12471;&#12540;&#12465;&#12531;&#12473;&#30058;&#21495; (0 &#22987;&#12414;&#12426;&#12398;&#36899;&#32154;&#12375;&#12383;&#25972;&#25968;&#20516;)</td></tr><tr><td align="left">version</td><td align="left">&#12496;&#12540;&#12472;&#12519;&#12531;&#21517;</td></tr><tr><td align="left">time</td><td align="left">&#12522;&#12522;&#12540;&#12473;&#12373;&#12428;&#12383;&#26085;&#26178;</td></tr><tr><td align="left">classes</td><td align="left">&#20998;&#26512;&#12373;&#12428;&#12383;&#12463;&#12521;&#12473;&#25968;</td></tr><tr><td align="left">NCSS</td><td align="left">&#12467;&#12513;&#12531;&#12488;&#25991;&#12434;&#38500;&#12356;&#12383;&#21629;&#20196;&#25968; (Non Commenting Source Statements)</td></tr><tr><td align="left">added</td><td align="left">&#21069;&#22238;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12375;&#12383;&#12463;&#12521;&#12473;&#12395;&#12362;&#12369;&#12427;&#26032;&#35215;&#35686;&#21578;&#25968;</td></tr><tr><td align="left">newCode</td><td align="left">&#21069;&#22238;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12375;&#12394;&#12363;&#12387;&#12383;&#12463;&#12521;&#12473;&#12395;&#12362;&#12369;&#12427;&#26032;&#35215;&#35686;&#21578;&#25968;</td></tr><tr><td align="left">fixed</td><td align="left">&#29694;&#22312;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12377;&#12427;&#12463;&#12521;&#12473;&#12395;&#12362;&#12369;&#12427;&#38500;&#21435;&#12373;&#12428;&#12383;&#35686;&#21578;&#25968;</td></tr><tr><td align="left">removed</td><td align="left">&#29694;&#22312;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12375;&#12394;&#12356;&#12463;&#12521;&#12473;&#12398;&#21069;&#22238;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#12362;&#12369;&#12427;&#35686;&#21578;&#25968;</td></tr><tr><td align="left">retained</td><td align="left">&#29694;&#22312;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12392;&#21069;&#22238;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#20001;&#26041;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#12398;&#25968;</td></tr><tr><td align="left">dead</td><td align="left">&#20197;&#21069;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12375;&#12383;&#12364;&#29694;&#22312;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#12418;&#30452;&#21069;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#12418;&#23384;&#22312;&#12375;&#12394;&#12356;&#35686;&#21578;&#12398;&#25968;</td></tr><tr><td align="left">active</td><td align="left">&#29694;&#22312;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#32207;&#25968;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" title="1.5. defectDensity"><div class="titlepage"><div><div><h3 class="title"><a name="defectDensity"></a>1.5. defectDensity</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#20840;&#20307;&#12362;&#12424;&#12403;&#12463;&#12521;&#12473;&#27598;&#12539;&#12497;&#12483;&#12465;&#12540;&#12472;&#27598;&#12398;&#19981;&#33391;&#23494;&#24230; (1000 NCSS &#27598;&#12398;&#35686;&#21578;&#25968;) &#12395;&#38306;&#12377;&#12427;&#24773;&#22577;&#12434;&#19968;&#35239;&#34920;&#31034;&#12391;&#12365;&#12414;&#12377;&#12290;&#27161;&#28310;&#20837;&#21147;&#12363;&#12425;&#35501;&#12415;&#36796;&#12416;&#22580;&#21512;&#12399;&#12501;&#12449;&#12452;&#12523;&#25351;&#23450;&#12394;&#12375;&#12391;&#12289;&#12381;&#12358;&#12391;&#12394;&#12369;&#12428;&#12400;&#12289;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12391;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12390;&#12289;&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;</p><p>&#20986;&#21147;&#12373;&#12428;&#12427;&#34920;&#12399;&#12289;&#27425;&#12395;&#31034;&#12377;&#12459;&#12521;&#12512;&#12363;&#12425;&#25104;&#12426;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#20840;&#20307;&#24773;&#22577;&#12398;&#34892;&#12289;&#12362;&#12424;&#12403;&#12289;4 &#20491;&#20197;&#19978;&#12398;&#35686;&#21578;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427;&#21508;&#12497;&#12483;&#12465;&#12540;&#12472;&#24773;&#22577;&#12414;&#12383;&#12399;&#21508;&#12463;&#12521;&#12473;&#24773;&#22577;&#12398;&#34892;&#12418;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</p><div class="table"><a name="defectDensityColumns"></a><p class="title"><b>&#34920;12.5 defectDensity &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;</b></p><div class="table-contents"><table summary="defectDensity &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;" border="1"><colgroup><col><col></colgroup><thead><tr><th align="left">&#34920;&#38988;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">kind</td><td align="left">&#12503;&#12525;&#12472;&#12455;&#12463;&#12488; (project)&#12289;&#12497;&#12483;&#12465;&#12540;&#12472; (package) &#12414;&#12383;&#12399;&#12463;&#12521;&#12473; (class)</td></tr><tr><td align="left">name</td><td align="left">&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12289;&#12497;&#12483;&#12465;&#12540;&#12472;&#12414;&#12383;&#12399;&#12463;&#12521;&#12473;&#12398;&#21517;&#21069;</td></tr><tr><td align="left">density</td><td align="left"> 1000 NCSS &#27598;&#12398;&#35686;&#21578;&#25968;</td></tr><tr><td align="left">bugs</td><td align="left">&#35686;&#21578;&#25968;</td></tr><tr><td align="left">NCSS</td><td align="left">&#12467;&#12513;&#12531;&#12488;&#25991;&#12434;&#38500;&#12356;&#12383;&#21629;&#20196;&#25968; (Non Commenting Source Statements) </td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" title="1.6. convertXmlToText"><div class="titlepage"><div><div><h3 class="title"><a name="convertXmlToText"></a>1.6. convertXmlToText</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;XML &#24418;&#24335;&#12398;&#12496;&#12464;&#35686;&#21578;&#12434;&#12289; 1 &#34892; 1 &#12496;&#12464;&#12398;&#12486;&#12461;&#12473;&#12488;&#24418;&#24335;&#12289;&#12414;&#12383;&#12399;&#12289;HTML&#24418;&#24335;&#12395;&#22793;&#25563;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398;&#27231;&#33021;&#12399;&#12289; ant &#12363;&#12425;&#12418;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12378;&#27425;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395;&#12289;&#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12395; <span class="command"><strong>convertXmlToText</strong></span> &#12434; taskdef &#12391;&#23450;&#32681;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
51
52&lt;taskdef name="convertXmlToText" classname="edu.umd.cs.findbugs.anttask.ConvertXmlToTextTask"&gt;
53    &lt;classpath refid="findbugs.lib" /&gt;
54&lt;/taskdef&gt;
55
56</pre><p>&#12371;&#12398; ant &#12479;&#12473;&#12463;&#12395;&#25351;&#23450;&#12391;&#12365;&#12427;&#23646;&#24615;&#12434;&#12289;&#19979;&#34920;&#12395;&#19968;&#35239;&#12391;&#31034;&#12375;&#12414;&#12377;&#12290;</p><div class="table"><a name="convertXmlToTextTable"></a><p class="title"><b>&#34920;12.6 convertXmlToText &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</b></p><div class="table-contents"><table summary="convertXmlToText &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</th><th align="left">Ant &#23646;&#24615;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;filename&gt;"</td><td align="left">&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;filename&gt;"</td><td align="left">&#20986;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-longBugCodes</td><td align="left">longBugCodes="[true|false]"</td><td align="left">2 &#25991;&#23383;&#12398;&#12496;&#12464;&#30053;&#31216;&#12398;&#20195;&#12431;&#12426;&#12395;&#12289;&#30465;&#30053;&#12394;&#12375;&#12398;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12467;&#12540;&#12489;&#12434;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">&nbsp;</td><td align="left">format="text"</td><td align="left">&#12503;&#12524;&#12540;&#12531;&#12486;&#12461;&#12473;&#12488;&#12398;&#20986;&#21147;&#12364;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;1 &#34892;&#12395;&#12388;&#12365; 1 &#12388;&#12398;&#12496;&#12464;&#12364;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#26178;&#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12377;&#12290;</td></tr><tr><td align="left">-html[:stylesheet]</td><td align="left">format="html:&lt;stylesheet&gt;"</td><td align="left">&#25351;&#23450;&#12373;&#12428;&#12383;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#20351;&#29992;&#12375;&#12390;&#20986;&#21147;&#12364;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377; (&#19979;&#35352;&#21442;&#29031;) &#12290;&#30465;&#30053;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289; default.xsl &#12364;&#20351;&#29992;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr></tbody></table></div></div><br class="table-break"><p>-html/format &#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#12399;&#12289;plain.xsl &#12289; default.xsl &#12289; fancy.xsl &#12289; fancy-hist.xsl &#12414;&#12383;&#12399; &#12518;&#12540;&#12470;&#33258;&#36523;&#12364;&#20316;&#25104;&#12375;&#12383; XSL &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12398;&#12356;&#12378;&#12428;&#12363;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12458;&#12503;&#12471;&#12519;&#12531;&#21517;&#12434;&#12424;&#12381;&#12395;&#12289; html &#20197;&#22806;&#12398;&#24418;&#24335;&#12434;&#20986;&#21147;&#12377;&#12427;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;FindBugs &#12395;&#21547;&#12414;&#12428;&#12390;&#12356;&#12427;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;(&#19978;&#36848;)&#20197;&#22806;&#12398;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#20351;&#29992;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289;&#12458;&#12503;&#12471;&#12519;&#12531; -html/format &#12391;&#24403;&#35442;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12408;&#12398;&#12497;&#12473;&#12414;&#12383;&#12399; URL &#12434;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect2" title="1.7. setBugDatabaseInfo"><div class="titlepage"><div><div><h3 class="title"><a name="setBugDatabaseInfo"></a>1.7. setBugDatabaseInfo</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#25351;&#23450;&#12375;&#12383;&#12496;&#12464;&#35686;&#21578;&#12395;&#12513;&#12479;&#24773;&#22577;&#12434;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12395;&#12399;&#27425;&#12395;&#31034;&#12377;&#12458;&#12503;&#12471;&#12519;&#12531;&#12364;&#12354;&#12426;&#12414;&#12377;:</p><p>&#12371;&#12398;&#27231;&#33021;&#12399;&#12289; ant &#12363;&#12425;&#12418;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12378;&#27425;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395;&#12289;&#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12395; <span class="command"><strong>setBugDatabaseInfo</strong></span> &#12434; taskdef &#12391;&#23450;&#32681;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
57
58&lt;taskdef name="setBugDatabaseInfo" classname="edu.umd.cs.findbugs.anttask.SetBugDatabaseInfoTask"&gt;
59    &lt;classpath refid="findbugs.lib" /&gt;
60&lt;/taskdef&gt;
61
62</pre><p>&#12371;&#12398; ant &#12479;&#12473;&#12463;&#12395;&#25351;&#23450;&#12391;&#12365;&#12427;&#23646;&#24615;&#12434;&#12289;&#19979;&#34920;&#12395;&#19968;&#35239;&#12391;&#31034;&#12375;&#12414;&#12377;&#12290;&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12377;&#12427;&#12395;&#12399;&#12289; <code class="literal">input</code>  &#23646;&#24615;&#12434;&#20351;&#29992;&#12377;&#12427;&#12363;&#12289; <code class="literal">&lt;datafile&gt;</code> &#35201;&#32032;&#12434;&#20837;&#12428;&#23376;&#12395;&#12375;&#12390;&#20837;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#27425;&#12395;&#12289;&#20363;&#12434;&#31034;&#12375;&#12414;&#12377;:</p><pre class="programlisting">
63
64&lt;setBugDatabaseInfo home="${findbugs.home}" ...&gt;
65    &lt;datafile name="analyze.xml"/&gt;
66&lt;/setBugDatabaseInfo&gt;
67
68</pre><div class="table"><a name="setBugDatabaseInfoOptions"></a><p class="title"><b>&#34920;12.7 setBugDatabaseInfo &#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</b></p><div class="table-contents"><table summary="setBugDatabaseInfo &#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</th><th align="left">Ant &#23646;&#24615;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;file&gt;"</td><td align="left">&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;file&gt;"</td><td align="left">&#20986;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-name &lt;name&gt;</td><td align="left">name="&lt;name&gt;"</td><td align="left">&#26368;&#26032;&#12522;&#12499;&#12472;&#12519;&#12531;&#12398;&#21517;&#21069;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-timestamp &lt;when&gt;</td><td align="left">timestamp="&lt;when&gt;"</td><td align="left">&#26368;&#26032;&#12522;&#12499;&#12472;&#12519;&#12531;&#12398;&#12479;&#12452;&#12512;&#12539;&#12473;&#12479;&#12531;&#12503;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-source &lt;directory&gt;</td><td align="left">source="&lt;directory&gt;"</td><td align="left">&#12477;&#12540;&#12473;&#12434;&#26908;&#32034;&#12377;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#36861;&#21152;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-findSource &lt;directory&gt;</td><td align="left">findSource="&lt;directory&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#20869;&#12434;&#26908;&#32034;&#12375;&#12390;&#38306;&#36899;&#12377;&#12427;&#12477;&#12540;&#12473;&#12398;&#22580;&#25152;&#12434;&#36861;&#21152;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-suppress &lt;filter file&gt;</td><td align="left">suppress="&lt;filter file&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12395;&#19968;&#33268;&#12377;&#12427;&#35686;&#21578;&#12434;&#25233;&#27490;&#12375;&#12414;&#12377; (&#20197;&#21069;&#12395;&#25351;&#23450;&#12375;&#12383;&#25233;&#27490;&#35373;&#23450;&#12399;&#32622;&#12365;&#25563;&#12360;&#12425;&#12428;&#12414;&#12377;)&#12290;</td></tr><tr><td align="left">-withMessages</td><td align="left">withMessages="[true|false]"</td><td align="left">XML&#12395;&#12486;&#12461;&#12473;&#12488;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36861;&#21152;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-resetSource</td><td align="left">resetSource="[true|false]"</td><td align="left">&#12477;&#12540;&#12473;&#26908;&#32034;&#12497;&#12473;&#12434;&#12377;&#12409;&#12390;&#21066;&#38500;&#12375;&#12414;&#12377;&#12290;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" title="1.8. listBugDatabaseInfo"><div class="titlepage"><div><div><h3 class="title"><a name="listBugDatabaseInfo"></a>1.8. listBugDatabaseInfo</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12398;&#23455;&#34892;&#12395;&#12362;&#12356;&#12390;&#12399;&#12289;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12391; 0 &#20491;&#20197;&#19978;&#12398; xml &#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;1&#12388;&#12418;&#25351;&#23450;&#12375;&#12394;&#12369;&#12428;&#12400;&#12289;&#27161;&#28310;&#20986;&#21147;&#12363;&#12425;&#35501;&#12415;&#36796;&#12415;&#12434;&#34892;&#12356;&#12486;&#12540;&#12502;&#12523;&#12398;&#12504;&#12483;&#12480;&#12540;&#12399;&#29983;&#25104;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;</p><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12395;&#12399; 1 &#12388;&#12384;&#12369;&#12458;&#12503;&#12471;&#12519;&#12531;&#12364;&#12354;&#12426;&#12414;&#12377; : <code class="option">-formatDates</code> &#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12486;&#12461;&#12473;&#12488;&#24418;&#24335;&#12391;&#12487;&#12540;&#12479;&#12364;&#25551;&#30011;&#12373;&#12428;&#12414;&#12377;&#12290;</p><p>&#20986;&#21147;&#12373;&#12428;&#12427;&#34920;&#12399;&#12289;&#21508;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12372;&#12392;&#12395;&#34892;&#12434;&#25345;&#12385;&#12289;&#27425;&#12395;&#31034;&#12377;&#12459;&#12521;&#12512;&#12363;&#12425;&#25104;&#12426;&#12414;&#12377; :</p><div class="table"><a name="listBugDatabaseInfoColumns"></a><p class="title"><b>&#34920;12.8 listBugDatabaseInfo &#12459;&#12521;&#12512;&#19968;&#35239;</b></p><div class="table-contents"><table summary="listBugDatabaseInfo &#12459;&#12521;&#12512;&#19968;&#35239;" border="1"><colgroup><col><col></colgroup><thead><tr><th align="left">&#12459;&#12521;&#12512;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">version</td><td align="left">&#12496;&#12540;&#12472;&#12519;&#12531;&#21517;</td></tr><tr><td align="left">time</td><td align="left">&#12522;&#12522;&#12540;&#12473;&#12373;&#12428;&#12383;&#26085;&#26178;</td></tr><tr><td align="left">classes</td><td align="left">&#20998;&#26512;&#12373;&#12428;&#12383;&#12463;&#12521;&#12473;&#25968;</td></tr><tr><td align="left">NCSS</td><td align="left">&#12467;&#12513;&#12531;&#12488;&#25991;&#12434;&#38500;&#12356;&#12383;&#21629;&#20196;&#25968; (Non Commenting Source Statements)</td></tr><tr><td align="left">total</td><td align="left">&#20840;&#35686;&#21578;&#25968;</td></tr><tr><td align="left">high</td><td align="left">&#20778;&#20808;&#24230;(&#39640;)&#12398;&#35686;&#21578;&#12398;&#32207;&#25968;</td></tr><tr><td align="left">medium</td><td align="left">&#20778;&#20808;&#24230;(&#20013;)&#12398;&#35686;&#21578;&#12398;&#32207;&#25968;</td></tr><tr><td align="left">low</td><td align="left">&#20778;&#20808;&#24230;(&#20302;)&#12398;&#35686;&#21578;&#12398;&#32207;&#25968;</td></tr><tr><td align="left">filename</td><td align="left">&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#12501;&#12449;&#12452;&#12523;&#21517;</td></tr></tbody></table></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. &#20363;</h2></div></div></div><div class="sect2" title="2.1. &#25552;&#20379;&#12373;&#12428;&#12383;&#12471;&#12455;&#12523;&#12539;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20351;&#29992;&#12375;&#12390;&#12398;&#23653;&#27508;&#12510;&#12452;&#12491;&#12531;&#12464;"><div class="titlepage"><div><div><h3 class="title"><a name="unixscriptsexamples"></a>2.1. &#25552;&#20379;&#12373;&#12428;&#12383;&#12471;&#12455;&#12523;&#12539;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20351;&#29992;&#12375;&#12390;&#12398;&#23653;&#27508;&#12510;&#12452;&#12491;&#12531;&#12464;</h3></div></div></div><p>&#20197;&#19979;&#12399;&#12377;&#12409;&#12390;&#12289; jdk1.6.0-b12, jdk1.6.0-b13, ..., jdk1.6.0-b60 &#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;&#23550;&#12375;&#12390;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;</p><p>&#20197;&#19979;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12375;&#12390;&#12415;&#12414;&#12377; :</p><pre class="screen">
69computeBugHistory jdk1.6.0-b* | filterBugs -bugPattern IL_ | mineBugHistory -formatDates
70</pre><p>&#12377;&#12427;&#12392;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#20986;&#21147;&#12364;&#34892;&#12431;&#12428;&#12414;&#12377; :</p><pre class="screen">
71seq	version	time	classes	NCSS	added	newCode	fixed	removed	retained	dead	active
720	jdk1.6.0-b12	"Thu Nov 11 09:07:20 EST 2004"	13128	811569	0	4	0	0	0	0	4
731	jdk1.6.0-b13	"Thu Nov 18 06:02:06 EST 2004"	13128	811570	0	0	0	0	4	0	4
742	jdk1.6.0-b14	"Thu Dec 02 06:12:26 EST 2004"	13145	811786	0	0	2	0	2	0	2
753	jdk1.6.0-b15	"Thu Dec 09 06:07:04 EST 2004"	13174	811693	0	0	1	0	1	2	1
764	jdk1.6.0-b16	"Thu Dec 16 06:21:28 EST 2004"	13175	811715	0	0	0	0	1	3	1
775	jdk1.6.0-b17	"Thu Dec 23 06:27:22 EST 2004"	13176	811974	0	0	0	0	1	3	1
786	jdk1.6.0-b19	"Thu Jan 13 06:41:16 EST 2005"	13176	812011	0	0	0	0	1	3	1
797	jdk1.6.0-b21	"Thu Jan 27 05:57:52 EST 2005"	13177	812173	0	0	0	0	1	3	1
808	jdk1.6.0-b23	"Thu Feb 10 05:44:36 EST 2005"	13179	812188	0	0	0	0	1	3	1
819	jdk1.6.0-b26	"Thu Mar 03 06:04:02 EST 2005"	13199	811770	0	0	0	0	1	3	1
8210	jdk1.6.0-b27	"Thu Mar 10 04:48:38 EST 2005"	13189	812440	0	0	0	0	1	3	1
8311	jdk1.6.0-b28	"Thu Mar 17 02:54:22 EST 2005"	13185	812056	0	0	0	0	1	3	1
8412	jdk1.6.0-b29	"Thu Mar 24 03:09:20 EST 2005"	13117	809468	0	0	0	0	1	3	1
8513	jdk1.6.0-b30	"Thu Mar 31 02:53:32 EST 2005"	13118	809501	0	0	0	0	1	3	1
8614	jdk1.6.0-b31	"Thu Apr 07 03:00:14 EDT 2005"	13117	809572	0	0	0	0	1	3	1
8715	jdk1.6.0-b32	"Thu Apr 14 02:56:56 EDT 2005"	13169	811096	0	0	0	0	1	3	1
8816	jdk1.6.0-b33	"Thu Apr 21 02:46:22 EDT 2005"	13187	811942	0	0	0	0	1	3	1
8917	jdk1.6.0-b34	"Thu Apr 28 02:49:00 EDT 2005"	13195	813488	0	1	0	0	1	3	2
9018	jdk1.6.0-b35	"Thu May 05 02:49:04 EDT 2005"	13457	829837	0	0	0	0	2	3	2
9119	jdk1.6.0-b36	"Thu May 12 02:59:46 EDT 2005"	13462	831278	0	0	0	0	2	3	2
9220	jdk1.6.0-b37	"Thu May 19 02:55:08 EDT 2005"	13464	831971	0	0	0	0	2	3	2
9321	jdk1.6.0-b38	"Thu May 26 03:08:16 EDT 2005"	13564	836565	0	0	0	0	2	3	2
9422	jdk1.6.0-b39	"Fri Jun 03 03:10:48 EDT 2005"	13856	849992	0	1	0	0	2	3	3
9523	jdk1.6.0-b40	"Thu Jun 09 03:30:28 EDT 2005"	15972	959619	0	2	0	0	3	3	5
9624	jdk1.6.0-b41	"Thu Jun 16 03:19:22 EDT 2005"	15972	959619	0	0	0	0	5	3	5
9725	jdk1.6.0-b42	"Fri Jun 24 03:38:54 EDT 2005"	15966	958581	0	0	0	0	5	3	5
9826	jdk1.6.0-b43	"Thu Jul 14 03:09:34 EDT 2005"	16041	960544	0	0	0	0	5	3	5
9927	jdk1.6.0-b44	"Thu Jul 21 03:05:54 EDT 2005"	16041	960547	0	0	0	0	5	3	5
10028	jdk1.6.0-b45	"Thu Jul 28 03:26:10 EDT 2005"	16037	960606	0	0	1	0	4	3	4
10129	jdk1.6.0-b46	"Thu Aug 04 03:02:48 EDT 2005"	15936	951355	0	0	0	0	4	4	4
10230	jdk1.6.0-b47	"Thu Aug 11 03:18:56 EDT 2005"	15964	952387	0	0	1	0	3	4	3
10331	jdk1.6.0-b48	"Thu Aug 18 08:10:40 EDT 2005"	15970	953421	0	0	0	0	3	5	3
10432	jdk1.6.0-b49	"Thu Aug 25 03:24:38 EDT 2005"	16048	958940	0	0	0	0	3	5	3
10533	jdk1.6.0-b50	"Thu Sep 01 01:52:40 EDT 2005"	16287	974937	1	0	0	0	3	5	4
10634	jdk1.6.0-b51	"Thu Sep 08 01:55:36 EDT 2005"	16362	979377	0	0	0	0	4	5	4
10735	jdk1.6.0-b52	"Thu Sep 15 02:04:08 EDT 2005"	16477	979399	0	0	0	0	4	5	4
10836	jdk1.6.0-b53	"Thu Sep 22 02:00:28 EDT 2005"	16019	957900	0	0	1	0	3	5	3
10937	jdk1.6.0-b54	"Thu Sep 29 01:54:34 EDT 2005"	16019	957900	0	0	0	0	3	6	3
11038	jdk1.6.0-b55	"Thu Oct 06 01:54:14 EDT 2005"	16051	959014	0	0	0	0	3	6	3
11139	jdk1.6.0-b56	"Thu Oct 13 01:54:12 EDT 2005"	16211	970835	0	0	0	0	3	6	3
11240	jdk1.6.0-b57	"Thu Oct 20 01:55:26 EDT 2005"	16279	971627	0	0	0	0	3	6	3
11341	jdk1.6.0-b58	"Thu Oct 27 01:56:30 EDT 2005"	16283	971945	0	0	0	0	3	6	3
11442	jdk1.6.0-b59	"Thu Nov 03 01:56:58 EST 2005"	16232	972193	0	0	0	0	3	6	3
11543	jdk1.6.0-b60	"Thu Nov 10 01:54:18 EST 2005"	16235	972346	0	0	0	0	3	6	3
116</pre><p>&#27425;&#12395;&#31034;&#12377;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12377;&#12427;&#12392;&#12289;db.xml &#20013;&#38291;&#12501;&#12449;&#12452;&#12523;&#12434;&#29983;&#25104;&#12377;&#12427;&#12371;&#12392;&#12394;&#12367;&#30452;&#25509;&#21516;&#12376;&#24773;&#22577;&#12434;&#20316;&#25104;&#12391;&#12365;&#12414;&#12377;&#12290;</p><pre class="screen">
117computeBugHistory  jdk1.6.0-b*/jre/lib/rt.xml | filterBugs -bugPattern IL_ db.xml | mineBugHistory -formatDates
118</pre><p>&#12371;&#12398;&#24773;&#22577;&#12434;&#20351;&#12387;&#12390;&#12289; Sun JDK1.6.0 &#12398;&#21508;&#12499;&#12523;&#12489;&#12395;&#12362;&#12356;&#12390; FindBugs &#12395;&#12424;&#12387;&#12390;&#30330;&#35211;&#12373;&#12428;&#12383;&#28961;&#38480;&#20877;&#36215;&#12523;&#12540;&#12503;&#12398;&#25968;&#12434;&#34920;&#12377;&#12464;&#12521;&#12501;&#12434;&#34920;&#31034;&#12375;&#12414;&#12377;&#12290;&#38738;&#33394;&#12398;&#38936;&#22495;&#12399;&#12289;&#24403;&#35442;&#12499;&#12523;&#12489;&#12395;&#12362;&#12369;&#12427;&#28961;&#38480;&#20877;&#36215;&#12523;&#12540;&#12503;&#12398;&#25968;&#12434;&#34920;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12381;&#12398;&#19978;&#12395;&#25551;&#12363;&#12428;&#12390;&#12356;&#12427;&#36196;&#33394;&#12398;&#38936;&#22495;&#12399;&#12289;&#20197;&#21069;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#12399;&#23384;&#22312;&#12375;&#12383;&#12364;&#24403;&#35442;&#12496;&#12540;&#12472;&#12519;&#12531;&#12391;&#12399;&#38500;&#21435;&#12373;&#12428;&#12383;&#28961;&#38480;&#20877;&#36215;&#12523;&#12540;&#12503;&#12398;&#25968;&#12434;&#34920;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290; (&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#36196;&#33394;&#12398;&#38936;&#22495;&#12392;&#38738;&#33394;&#12398;&#38936;&#22495;&#12434;&#36275;&#12375;&#21512;&#12431;&#12379;&#12383;&#39640;&#12373;&#12399;&#27770;&#12375;&#12390;&#28187;&#23569;&#12375;&#12394;&#12356;&#12371;&#12392;&#12364;&#20445;&#35388;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#12381;&#12375;&#12390;&#12289;&#26032;&#12383;&#12395;&#28961;&#38480;&#20877;&#36215;&#12523;&#12540;&#12503;&#12398;&#12496;&#12464;&#12364;&#25345;&#12385;&#36796;&#12414;&#12428;&#12383;&#26178;&#28857;&#12391;&#22679;&#21152;&#12375;&#12414;&#12377;) &#12290;&#36196;&#33394;&#12398;&#38936;&#22495;&#12398;&#39640;&#12373;&#12399;&#12289;&#24403;&#35442;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#12362;&#12356;&#12390;&#20462;&#27491;&#12414;&#12383;&#12399;&#21066;&#38500;&#12373;&#12428;&#12383;&#12496;&#12464;&#25968;&#12398;&#21512;&#35336;&#12391;&#31639;&#20986;&#12373;&#12428;&#12414;&#12377;&#12290;&#12496;&#12540;&#12472;&#12519;&#12531; 13 &#12362;&#12424;&#12403; 14 &#12395;&#12362;&#12356;&#12390;&#35211;&#12425;&#12428;&#12427;&#28187;&#23569;&#12399;&#12289; FindBugs &#12434;&#20351;&#29992;&#12375;&#12390;&#35211;&#12388;&#12363;&#12387;&#12383; JDK &#12398;&#12496;&#12464;&#12398;&#22577;&#21578;&#12434; Sun &#12364;&#21463;&#12369;&#21462;&#12387;&#12383;&#12371;&#12392;&#12395;&#12424;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;</p><div class="mediaobject"><img src="infiniteRecursiveLoops.png"></div><p>db.xml &#12501;&#12449;&#12452;&#12523;&#12399;&#12289; jdk1.6.0 &#12398;&#12377;&#12409;&#12390;&#12398;&#12499;&#12523;&#12489;&#12395;&#23550;&#12377;&#12427;&#26908;&#32034;&#32080;&#26524;&#12434;&#20445;&#25345;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#27425;&#12395;&#31034;&#12377;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#20778;&#20808;&#24230;(&#39640;)&#12414;&#12383;&#12399;&#20778;&#20808;&#24230;(&#20302;)&#12398;&#27491;&#30906;&#24615;&#12395;&#38306;&#12377;&#12427;&#35686;&#21578;&#12398;&#23653;&#27508;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377; :</p><pre class="screen">
119filterBugs -priority M -category C db.xml | mineBugHistory -formatDates
120</pre><p>&#20316;&#25104;&#12373;&#12428;&#12427;&#34920;&#12398;&#20363; :</p><pre class="screen">
121seq	version	time	classes	NCSS	added	newCode	fixed	removed	retained	dead	active
1220	jdk1.6.0-b12	"Thu Nov 11 09:07:20 EST 2004"	13128	811569	0	1075	0	0	0	0	1075
1231	jdk1.6.0-b13	"Thu Nov 18 06:02:06 EST 2004"	13128	811570	0	0	0	0	1075	0	1075
1242	jdk1.6.0-b14	"Thu Dec 02 06:12:26 EST 2004"	13145	811786	3	0	6	0	1069	0	1072
1253	jdk1.6.0-b15	"Thu Dec 09 06:07:04 EST 2004"	13174	811693	2	1	3	0	1069	6	1072
1264	jdk1.6.0-b16	"Thu Dec 16 06:21:28 EST 2004"	13175	811715	0	0	1	0	1071	9	1071
1275	jdk1.6.0-b17	"Thu Dec 23 06:27:22 EST 2004"	13176	811974	0	0	1	0	1070	10	1070
1286	jdk1.6.0-b19	"Thu Jan 13 06:41:16 EST 2005"	13176	812011	0	0	0	0	1070	11	1070
1297	jdk1.6.0-b21	"Thu Jan 27 05:57:52 EST 2005"	13177	812173	0	0	1	0	1069	11	1069
1308	jdk1.6.0-b23	"Thu Feb 10 05:44:36 EST 2005"	13179	812188	0	0	0	0	1069	12	1069
1319	jdk1.6.0-b26	"Thu Mar 03 06:04:02 EST 2005"	13199	811770	0	0	2	1	1066	12	1066
13210	jdk1.6.0-b27	"Thu Mar 10 04:48:38 EST 2005"	13189	812440	1	0	1	1	1064	15	1065
13311	jdk1.6.0-b28	"Thu Mar 17 02:54:22 EST 2005"	13185	812056	0	0	0	0	1065	17	1065
13412	jdk1.6.0-b29	"Thu Mar 24 03:09:20 EST 2005"	13117	809468	3	0	8	26	1031	17	1034
13513	jdk1.6.0-b30	"Thu Mar 31 02:53:32 EST 2005"	13118	809501	0	0	0	0	1034	51	1034
13614	jdk1.6.0-b31	"Thu Apr 07 03:00:14 EDT 2005"	13117	809572	0	0	0	0	1034	51	1034
13715	jdk1.6.0-b32	"Thu Apr 14 02:56:56 EDT 2005"	13169	811096	1	1	0	1	1033	51	1035
13816	jdk1.6.0-b33	"Thu Apr 21 02:46:22 EDT 2005"	13187	811942	3	0	2	1	1032	52	1035
13917	jdk1.6.0-b34	"Thu Apr 28 02:49:00 EDT 2005"	13195	813488	0	1	0	0	1035	55	1036
14018	jdk1.6.0-b35	"Thu May 05 02:49:04 EDT 2005"	13457	829837	0	36	2	0	1034	55	1070
14119	jdk1.6.0-b36	"Thu May 12 02:59:46 EDT 2005"	13462	831278	0	0	0	0	1070	57	1070
14220	jdk1.6.0-b37	"Thu May 19 02:55:08 EDT 2005"	13464	831971	0	1	1	0	1069	57	1070
14321	jdk1.6.0-b38	"Thu May 26 03:08:16 EDT 2005"	13564	836565	1	7	2	6	1062	58	1070
14422	jdk1.6.0-b39	"Fri Jun 03 03:10:48 EDT 2005"	13856	849992	6	39	5	0	1065	66	1110
14523	jdk1.6.0-b40	"Thu Jun 09 03:30:28 EDT 2005"	15972	959619	7	147	11	0	1099	71	1253
14624	jdk1.6.0-b41	"Thu Jun 16 03:19:22 EDT 2005"	15972	959619	0	0	0	0	1253	82	1253
14725	jdk1.6.0-b42	"Fri Jun 24 03:38:54 EDT 2005"	15966	958581	3	0	1	2	1250	82	1253
14826	jdk1.6.0-b43	"Thu Jul 14 03:09:34 EDT 2005"	16041	960544	5	11	15	8	1230	85	1246
14927	jdk1.6.0-b44	"Thu Jul 21 03:05:54 EDT 2005"	16041	960547	0	0	0	0	1246	108	1246
15028	jdk1.6.0-b45	"Thu Jul 28 03:26:10 EDT 2005"	16037	960606	19	0	2	0	1244	108	1263
15129	jdk1.6.0-b46	"Thu Aug 04 03:02:48 EDT 2005"	15936	951355	13	1	1	32	1230	110	1244
15230	jdk1.6.0-b47	"Thu Aug 11 03:18:56 EDT 2005"	15964	952387	163	8	7	20	1217	143	1388
15331	jdk1.6.0-b48	"Thu Aug 18 08:10:40 EDT 2005"	15970	953421	0	0	0	0	1388	170	1388
15432	jdk1.6.0-b49	"Thu Aug 25 03:24:38 EDT 2005"	16048	958940	1	11	1	0	1387	170	1399
15533	jdk1.6.0-b50	"Thu Sep 01 01:52:40 EDT 2005"	16287	974937	19	27	16	7	1376	171	1422
15634	jdk1.6.0-b51	"Thu Sep 08 01:55:36 EDT 2005"	16362	979377	1	15	3	0	1419	194	1435
15735	jdk1.6.0-b52	"Thu Sep 15 02:04:08 EDT 2005"	16477	979399	0	0	1	1	1433	197	1433
15836	jdk1.6.0-b53	"Thu Sep 22 02:00:28 EDT 2005"	16019	957900	13	12	16	20	1397	199	1422
15937	jdk1.6.0-b54	"Thu Sep 29 01:54:34 EDT 2005"	16019	957900	0	0	0	0	1422	235	1422
16038	jdk1.6.0-b55	"Thu Oct 06 01:54:14 EDT 2005"	16051	959014	1	4	7	0	1415	235	1420
16139	jdk1.6.0-b56	"Thu Oct 13 01:54:12 EDT 2005"	16211	970835	6	8	37	0	1383	242	1397
16240	jdk1.6.0-b57	"Thu Oct 20 01:55:26 EDT 2005"	16279	971627	0	0	0	0	1397	279	1397
16341	jdk1.6.0-b58	"Thu Oct 27 01:56:30 EDT 2005"	16283	971945	0	1	1	0	1396	279	1397
16442	jdk1.6.0-b59	"Thu Nov 03 01:56:58 EST 2005"	16232	972193	6	0	5	0	1392	280	1398
16543	jdk1.6.0-b60	"Thu Nov 10 01:54:18 EST 2005"	16235	972346	0	0	0	0	1398	285	1398
16644	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. &#22679;&#20998;&#23653;&#27508;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;"><div class="titlepage"><div><div><h3 class="title"><a name="incrementalhistory"></a>2.2. &#22679;&#20998;&#23653;&#27508;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;</h3></div></div></div><p>&#20206;&#12395;&#12289; db.xml &#12364;&#12499;&#12523;&#12489; b12 - b60 &#12395;&#23550;&#12377;&#12427; findbugs &#23455;&#34892;&#32080;&#26524;&#12434;&#20445;&#25345;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12289;&#27425;&#12395;&#31034;&#12377;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; db.xml &#12395; b61 &#12395;&#23550;&#12377;&#12427;&#23455;&#34892;&#32080;&#26524;&#12434;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377; :</p><pre class="screen">
168computeBugHistory -output db.xml db.xml jdk1.6.0-b61/jre/lib/rt.xml
169</pre></div></div><div class="sect1" title="3. Ant &#12398;&#20363;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="antexample"></a>3. Ant &#12398;&#20363;</h2></div></div></div><p>findbugs &#12398;&#23455;&#34892;&#12392;&#12381;&#12398;&#24460;&#12398;&#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464;&#12484;&#12540;&#12523;&#12398;&#27963;&#29992;&#12398;&#20001;&#26041;&#12434;&#23455;&#34892;&#12375;&#12390;&#12356;&#12427; ant &#12473;&#12463;&#12522;&#12503;&#12488;&#12398;&#23436;&#20840;&#12394;&#20363;&#12434;&#20197;&#19979;&#12395;&#31034;&#12375;&#12414;&#12377; :</p><pre class="screen">
170
171&lt;project name="analyze_asm_util" default="findbugs"&gt;
172   &lt;!-- findbugs &#12479;&#12473;&#12463;&#23450;&#32681; --&gt;
173   &lt;property name="findbugs.home" value="/Users/ben/Documents/workspace/findbugs/findbugs" /&gt;
174   &lt;property name="jvmargs" value="-server -Xss1m -Xmx800m -Duser.language=en -Duser.region=EN -Dfindbugs.home=${findbugs.home}" /&gt;
175
176    &lt;path id="findbugs.lib"&gt;
177      &lt;fileset dir="${findbugs.home}/lib"&gt;
178         &lt;include name="findbugs-ant.jar"/&gt;
179      &lt;/fileset&gt;
180   &lt;/path&gt;
181
182   &lt;taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"&gt;
183      &lt;classpath refid="findbugs.lib" /&gt;
184   &lt;/taskdef&gt;
185
186   &lt;taskdef name="computeBugHistory" classname="edu.umd.cs.findbugs.anttask.ComputeBugHistoryTask"&gt;
187      &lt;classpath refid="findbugs.lib" /&gt;
188   &lt;/taskdef&gt;
189
190   &lt;taskdef name="setBugDatabaseInfo" classname="edu.umd.cs.findbugs.anttask.SetBugDatabaseInfoTask"&gt;
191      &lt;classpath refid="findbugs.lib" /&gt;
192   &lt;/taskdef&gt;
193
194   &lt;taskdef name="mineBugHistory" classname="edu.umd.cs.findbugs.anttask.MineBugHistoryTask"&gt;
195      &lt;classpath refid="findbugs.lib" /&gt;
196   &lt;/taskdef&gt;
197
198   &lt;!-- findbugs &#12479;&#12473;&#12463;&#23450;&#32681; --&gt;
199   &lt;target name="findbugs"&gt;
200      &lt;antcall target="analyze" /&gt;
201      &lt;antcall target="mine" /&gt;
202   &lt;/target&gt;
203
204   &lt;!-- &#20998;&#26512;&#12434;&#34892;&#12358;&#12479;&#12473;&#12463;--&gt;
205   &lt;target name="analyze"&gt;
206      &lt;!-- asm-util &#12395;&#23550;&#12375;&#12390; findbugs &#12434;&#23455;&#34892;&#12377;&#12427; --&gt;
207      &lt;findbugs home="${findbugs.home}"
208                output="xml:withMessages"
209                timeout="90000000"
210                reportLevel="experimental"
211                workHard="true"
212                effort="max"
213                adjustExperimental="true"
214                jvmargs="${jvmargs}"
215                failOnError="true"
216                outputFile="out.xml"
217                projectName="Findbugs"
218                debug="false"&gt;
219         &lt;class location="asm-util-3.0.jar" /&gt;
220      &lt;/findbugs&gt;
221   &lt;/target&gt;
222
223   &lt;target name="mine"&gt;
224
225      &lt;!-- &#26368;&#26032;&#12398;&#20998;&#26512;&#32080;&#26524;&#12395;&#24773;&#22577;&#12434;&#35373;&#23450;&#12377;&#12427; --&gt;
226      &lt;setBugDatabaseInfo home="${findbugs.home}"
227                            withMessages="true"
228                            name="asm-util-3.0.jar"
229                            input="out.xml"
230                            output="out-rel.xml"/&gt;
231
232      &lt;!-- &#23653;&#27508;&#12501;&#12449;&#12452;&#12523; (out-hist.xml) &#12364;&#26082;&#12395;&#23384;&#22312;&#12377;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434;&#30906;&#35469;&#12377;&#12427; --&gt;
233      &lt;condition property="mining.historyfile.available"&gt;
234         &lt;available file="out-hist.xml"/&gt;
235      &lt;/condition&gt;
236      &lt;condition property="mining.historyfile.notavailable"&gt;
237         &lt;not&gt;
238            &lt;available file="out-hist.xml"/&gt;
239         &lt;/not&gt;
240      &lt;/condition&gt;
241
242      &lt;!-- &#12371;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12399;&#12289;&#23653;&#27508;&#12501;&#12449;&#12452;&#12523;&#12364;&#23384;&#22312;&#12375;&#12394;&#12356;&#12392;&#12365; (&#21021;&#22238;) &#12384;&#12369;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377; --&gt;
243      &lt;antcall target="history-init"&gt;
244        &lt;param name="data.file" value="out-rel.xml" /&gt;
245        &lt;param name="hist.file" value="out-hist.xml" /&gt;
246      &lt;/antcall&gt;
247      &lt;!-- &#19978;&#35352;&#20197;&#22806;&#12398;&#22580;&#21512;&#12395;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377; --&gt;
248      &lt;antcall target="history"&gt;
249        &lt;param name="data.file"         value="out-rel.xml" /&gt;
250        &lt;param name="hist.file"         value="out-hist.xml" /&gt;
251        &lt;param name="hist.summary.file" value="out-hist.txt" /&gt;
252      &lt;/antcall&gt;
253   &lt;/target&gt;
254
255   &lt;!-- &#23653;&#27508;&#12501;&#12449;&#12452;&#12523;&#12434;&#21021;&#26399;&#21270;&#12375;&#12414;&#12377; --&gt;
256   &lt;target name="history-init" if="mining.historyfile.notavailable"&gt;
257      &lt;copy file="${data.file}" tofile="${hist.file}" /&gt;
258   &lt;/target&gt;
259
260   &lt;!-- &#12496;&#12464;&#23653;&#27508;&#12434;&#31639;&#20986;&#12375;&#12414;&#12377; --&gt;
261   &lt;target name="history" if="mining.historyfile.available"&gt;
262      &lt;!-- ${data.file} &#12434; ${hist.file} &#12395;&#12510;&#12540;&#12472;&#12375;&#12414;&#12377; --&gt;
263      &lt;computeBugHistory home="${findbugs.home}"
264                           withMessages="true"
265                           output="${hist.file}"&gt;
266            &lt;dataFile name="${hist.file}"/&gt;
267            &lt;dataFile name="${data.file}"/&gt;
268      &lt;/computeBugHistory&gt;
269
270      &lt;!-- &#23653;&#27508;&#12434;&#31639;&#20986;&#12375;&#12390; ${hist.summary.file} &#12395;&#20986;&#21147;&#12375;&#12414;&#12377; --&gt;
271      &lt;mineBugHistory home="${findbugs.home}"
272                        formatDates="true"
273                      noTabs="true"
274                        input="${hist.file}"
275                        output="${hist.summary.file}"/&gt;
276   &lt;/target&gt;
277
278&lt;/project&gt;
279
280</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="rejarForAnalysis.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="license.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;11&#31456; rejarForAnalysis &#12398;&#20351;&#29992;&#26041;&#27861;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;13&#31456; &#12521;&#12452;&#12475;&#12531;&#12473;</td></tr></table></div></body></html>