[Gemini Webサイト] -> English Page
Last update 2005-01-05, Since 2002
大阪大学大学院情報科学研究科 コンピュータサイエンス専攻 井上研究室

Gemini

Geminiはコードクローン分析のための統合環境です。散布図、クローンメトリクスグラフ、ソースコードを表示するビューを備え、インタラクティブなコードクローン分析を行うことができます。GeminiはJavaで実装されています。

散布図(スキャッタープロット) ビュー

ソースコード上の類似する行x, yについて、2次元平面に点(x, y)をプロットすることにより、コードクローンのソースコード上での分布状態を示す図です。このビューでは、ズームイン・ズームアウトや、選択したコードクローンのソースコードを表示させることができます。

画面写真(1) あるプログラムのソースファイル全体の散布図

画面写真(2) ズームして選択

画面写真(3) 選択したコードクローンのソースコードを参照

メトリクスグラフ ビュー

コードクローンの長さや分布など、特徴を示す数値(メトリクス)をグラフとして表示します。パラレル・コーディネーション技術を用いた操作可能なグラフになっており、グラフの数値軸に範囲を設定することで、特定の条件を満たすコードクローンだけを選択し、ソースコードを表示させることができます。
Geminiが用意しているメトリクスは、RAD(あるコードクローンのソースコード断片のディレクトリ階層内での広がり), LEN(ソースコード断片の長さ), POP(コードクローンのソースコード断片の数), DFL(コードクローンを共通ルーチンとして書き換えた場合のソースコードの減少量の予測値)です。

画面写真 長さが200トークン以上のコードクローンだけを選択