📄 datamining.html
字号:
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>第12章 FindBugs™ によるデータ・マイニング</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="FindBugs™ マニュアル"><link rel="up" href="index.html" title="FindBugs™ マニュアル"><link rel="prev" href="rejarForAnalysis.html" title="第11章 rejarForAnalysis の使用方法"><link rel="next" href="license.html" title="第13章 ライセンス"></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="application">FindBugs</span>™ によるデータ・マイニング</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="rejarForAnalysis.html">前のページ</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="license.html">次のページ</a></td></tr></table><hr></div><div class="chapter" lang="ja"><div class="titlepage"><div><div><h2 class="title"><a name="datamining"></a>第12章 <span class="application">FindBugs</span>™ によるデータ・マイニング</h2></div></div></div><div class="toc"><p><b>目次</b></p><dl><dt><span class="sect1"><a href="datamining.html#commands">1. コマンド</a></span></dt><dt><span class="sect1"><a href="datamining.html#examples">2. 例</a></span></dt><dt><span class="sect1"><a href="datamining.html#antexample">3. Ant の例</a></span></dt></dl></div><p>バグデータベースへの高機能の問い合わせ機能、および、調査対象のコードの複数のバージョンにわたる警告の追跡記録機能を、 FindBugs は内蔵しています。これらを使って次のようなことができます。すなわち、いつバグが最初持ち込まれたかを捜し出すこと、最終リリース以後持ち込まれた警告の分析を行うこと、または、無限再起ループの数を時間軸でグラフにすることです。</p><p>これらの技術は、 FindBugs が警告の保存に使う XML 書式を使用します。これらの XML ファイルは、通常、特定の 1 分析に対する警告が入れられています。しかしそれらには、一連のソフトウェアのビルドやバージョンに対する分析結果を格納することもできます。</p><p>すべての FindBugs XML バグデータベースには、バージョン名とタイム・スタンプ が入れられています。FindBugs は分析が行われるファイルの更新時刻からタイム・スタンプを計算します (例えば、タイム・スタンプはクラスファイルの生成時刻になるようになっています。分析が行われた時刻ではありません) 。各々のバグデータベースには、バージョン名も入れられています。バージョン名とタイム・スタンプは、 <span><strong class="command">setBugDatabaseInfo</strong></span> (<a href="datamining.html#setBugDatabaseInfo" title="1.7. setBugDatabaseInfo">項1.7. 「setBugDatabaseInfo」</a>) コマンドを使用して手動で設定することもできます。</p><p>複数バージョンを格納するバグデータベースにおいては、分析されるコードの各バージョンごとにシーケンス番号が割り当てられます。これらのシーケンス番号は単に 0 から始まる連続する整数値です (例えば、 4 つのコードバージョンを格納するバグデータベースには、バージョン 0~3 が入れられます) 。バグデータベースにはまた、各バージョンの名前とタイム・スタンプがそれぞれ記録されます。<span><strong class="command">filterBugs</strong></span> コマンドを使用すると、シーケンス番号、バージョン名またはタイム・スタンプからバージョンを参照することができます。</p><p>1 バージョンを格納するバグデータベースの集合から、 1 個の複数バージョンバグデータベースを作成することができます。また、複数バージョンバグデータベースに対して、それ以後に作成された 1 バージョンのバグデータベースを結合することができます。</p><p>これらのコマンドのいくつかは、 ant タスクとして実行することができます。コマンドの実行方法および属性・引数の詳細は、以下を参照してください。以下のすべての例においては、 <code class="literal">findbugs.lib</code> <code class="literal">refid</code> が正しく設定されていることを前提としています。設定方法の一例を次に示します :</p><pre class="programlisting"> <!-- findbugs タスク定義 --> <property name="findbugs.home" value="/your/path/to/findbugs" /> <path id="findbugs.lib"> <fileset dir="${findbugs.home}/lib"> <include name="findbugs-ant.jar"/> </fileset> </path></pre><div class="sect1" lang="ja"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="commands"></a>1. コマンド</h2></div></div></div><p>FindBugs データ・マイニング ツールはすべてコマンドラインから実行することができます。また、いくつかのより有用なコマンドは、 ant ビルドファイルから実行することができます。</p><p>コマンドラインツールについて簡単に説明します :</p><div class="variablelist"><dl><dt><span class="term"><span><strong class="command"><a href="datamining.html#unionBugs" title="1.1. unionBugs">unionBugs</a></strong></span></span></dt><dd><p>別のクラスに対する別個の分析結果を結合します。</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#computeBugHistory" title="1.2. computeBugHistory">computeBugHistory</a></strong></span></span></dt><dd><p>複数バージョンから得られた複数のバグ警告を、マージして 1 個の複数バージョンバグデータベースにします。これを使って、既存の複数バージョンバグデータベースに更にバージョンを追加したり、 1 バージョンを格納するバグデータベースの集合から 1 個の複数バージョンバグデータベースを作成したり、できます。</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#setBugDatabaseInfo" title="1.7. setBugDatabaseInfo">setBugDatabaseInfo</a></strong></span></span></dt><dd><p>リビジョン名やタイム・スタンプなどの情報を XML データベースに設定します。</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#listBugDatabaseInfo" title="1.8. listBugDatabaseInfo">listBugDatabaseInfo</a></strong></span></span></dt><dd><p>XML データベースにあるリビジョン名やタイム・スタンプなどの情報を一覧表示します。</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#filterBugs" title="1.3. filterBugs">filterBugs</a></strong></span></span></dt><dd><p>バグデータベースの部分集合を選択します。</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#mineBugHistory" title="1.4. mineBugHistory">mineBugHistory</a></strong></span></span></dt><dd><p>複数バージョンバグデータベースの各バージョン毎の警告数を一覧にした表を作成します。</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#defectDensity" title="1.5. defectDensity">defectDensity</a></strong></span></span></dt><dd><p>プロジェクト全体およびクラス毎・パッケージ毎の不良密度 (1000 NCSS 毎の警告数) に関する情報を一覧表示します。</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#convertXmlToText" title="1.6. convertXmlToText">convertXmlToText</a></strong></span></span></dt><dd><p>XML 形式のバグ警告を、 1 行 1 バグのテキスト形式、または、HTML形式に変換します。</p></dd></dl></div><div class="sect2" lang="ja"><div class="titlepage"><div><div><h3 class="title"><a name="unionBugs"></a>1.1. unionBugs</h3></div></div></div><p>分析するのにアプリケーションの jar ファイルを分割している場合、このコマンドを使用することで、別個に生成された XML バグ警告ファイルをすべての警告を含んでいる 1 つの ファイルにすることができます。</p><p>同じファイルの異なるバージョンを分析した結果を結合する場合は、このコマンドを<span class="emphasis"><em>使用しないでください</em></span>。代わりに <span><strong class="command">computeBugHistory</strong></span> を使用してください。</p><p>XML ファイルは、コマンドラインで指定してください。結果は、標準出力に送られます。</p></div><div class="sect2" lang="ja"><div class="titlepage"><div><div><h3 class="title"><a name="computeBugHistory"></a>1.2. computeBugHistory</h3></div></div></div><p>このコマンドを使用することで、分析するソフトウェアの異なるビルドまたはバージョンの情報を含むバグデータベースを生成することができます入力として提供したファイルの 1 番目のファイルから履歴が取得されます。後に続くファイルは 1 バージョンのバグデータベースであるようにしてください (もし、履歴を持っていたとしても無視されます) 。</p><p>デフォルトでは、結果は標準出力に送られます。</p><p>この機能は、 ant からも使用することができます。まず次に示すように、ビルドファイルに <span><strong class="command">computeBugHistory</strong></span> を taskdef で定義します :</p><pre class="programlisting"><taskdef name="computeBugHistory" classname="edu.umd.cs.findbugs.anttask.ComputeBugHistoryTask"> <classpath refid="findbugs.lib" /></taskdef>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -