Integrated Code Clone Analyzer(以下ICCA)は,統合コードクローン分析環境です.
ICCAを使えば,効率的にソースコード中のコードクローンを分析することができます.
ICCAは,Gemini,Aries,Libraの3つのコンポーネントで構成されてます.
まず,これらコンポーネントの簡単な紹介をします.
Geminiは,コードクローン分析支援コンポーネントです.
Scatter PlotやMetric Graphを用いて,ソースコード中のコードクローン分布状態の把握や,メトリクスによる効率的なコードクローンの絞り込みを行うことができます.
Ariesは,コードクローンに基づくリファクタリング支援コンポーネントです.
Aries用いることによって,特定のリファクタリングパターンが適用可能なコードクローンを効率的に絞り込むことができます.
コードクローンに対し,メソッド,クラスといった構造を指定できるという特徴や,リファクタリングに有効な各メトリクスを用いたMetric Graphによるコードクローンの絞り込みができるという特徴があります.
Libraは,コード片指定によるコードクローン検出コンポーネントです.
特定のコード片を含むコードクローンを検索したいときに,効率よく検出することができます.
各コンポーネントに組み込まれている機能をまとめたものが下表です.
クローン分布の閲覧 | メトリクスによるクローンの絞り込み | クローンの種類指定による絞り込み | コード片指定によるクローンの検出 | |
---|---|---|---|---|
Gemini | ○ | ○ | ||
Aries | ○(※) | ○ | ||
Libra | ○ |
Scatter Plot | Metric Graph (Metric View) | Clone Set List | File List | Directory Tree | Source Code View | Variable List | |
---|---|---|---|---|---|---|---|
Gemini (Clone Set Base Analysis View) | ○ | ○ | ○ | ||||
Gemini (File Base Analysis View) | ○ | ○ | ○ | ○ | |||
Aries | ○(※) | ○ | ○ | ○ | |||
Libra | ○ |
なお,各コンポーネントは,コードクローンの検出にCCFinderを用いています.
以下,ICCAのインストールやこれらコンポーネントの具体的な使い方について,解説していきます.
ICCAの実行には,JRE(Java Runtime Environment)とCCFinderが必要です.まずこれをインストールしてください.
SunのWebサイトから,JRE各国語版ヴァージョン1.4以降をダウンロードして,指示に従ってインストールしてください.
ICCAが正常にインストールされていることをテストします.
まずicca.jar を実行します.
すると,以下のような起動画面が表示されます.
この画面で,For refactoring-oriented code cloneフレームのanalyze refactoring-oriented code cloneを見つけ,nextボタンをクリックしてください.
すると,次のような画面に移ります.
ここで,referボタンを押すと,以下のようなファイル選択ダイアログボックスが表示されます.
ここではテストのために,sampleディレクトリにあるsample.xmlというファイルを選択し,右下にあるStart Aries GUIボタンを押してください.
しばらくして,以下のような画面が表示されれば,インストール成功です.