StigmataX は Javaクラスファイルからバースマーク を抽出し,比較するWebアプリケーションです.バースマークによりク ラスファイルを比較することで,クラスファイルの類似度を測定することが できます.
高い類似度のクラスファイルのペアはどちらか がもう一方をコピーして作られたものと考えられ,クラスファイルの盗用の 発見や,流用して作られたクラスファイルの検索,また,プロダクト全体の 流用率の測定に用いることが可能です.
StigmataX は以下のURLから誰でもアクセスすることが可能です.
StigmataX のトップページを開くと,スプラッシュスクリーンのあと, 自動的にこのページへ遷移します. このページでは,比較対象となるクラスファイル(が含まれたjarファイル)を指定し,抽出するバースマークを選択して,比較方法を指定します.
バースマークをクラスファイルから抽出するためにはメインページで, バースマークを抽出したいクラスが含まれたjarファイルを指定し,また, 抽出するバースマークの種類を指定する必要があります. 抽出に関しては,X Axis, Y Axis は関係ありません.
抽出した結果はクラスごと,バースマークごとにツリー上に表示されます. また,抽出結果をXML形式,CSV形式で保存することが可能です. 保存する場合はそれぞれ「ダウンロードXML」ボタン,「ダウンロードCSV」ボタンを押下します.
比較方法は全ての組み合わせについて比較する総当たりと, 同じクラス名を持つクラス同士を比較するペアを推測して比較, また,ユーザがクラス名のペアを指定して比較するペアを指定して比較 の3種類の比較方法を選択することができます.
バースマークの総当たり比較の結果はインラインフレームに表として表示されます. 表の列にはX Axisに指定したjarファイルに含まれるクラスが,表の行には Y Axisに指定したjarファイルに含まれるクラスが列挙されます. そして,表の各セルには該当するクラスを比較した結果が表示されています. 類似度が1の場合(バースマークが完全に一致)はセルの背景色が赤くなり,類似度が0に近付くほど,文字色が薄くなります.
統計結果がフレームの下に表示されます.
この画面から,表の列と行から同じ名前を持つペア同士を比較する「同名クラス比較」, ユーザが比較するペアを指定する「指定クラス比較...」の2種類の比較を行うことができます. この二つの比較結果はバースマークのペア比較の結果として表示されます.
比較結果をXML形式,CSV形式で保存することが可能です. 保存する場合はそれぞれ「ダウンロードXML」ボタン,「ダウンロードCSV」ボタンを押下します.
バースマークのペア比較の結果はインラインフレームに表として表示されます. 表の1列目にX Axisに指定したjarファイルに含まれるクラスが,2列目に Y Axisに指定したjarファイルに含まれるクラスが列挙されます. そして,3列目には1列目と2列目のクラスを比較した結果が表示されています. 類似度が1の場合(バースマークが完全に一致)はセルの背景色が赤くなり,類似度が0に近付くほど,文字色が薄くなります.
比較結果をXML形式,CSV形式で保存することが可能です. 保存する場合はそれぞれ「ダウンロードXML」ボタン,「ダウンロードCSV」ボタンを押下します.
Copyright (C) by EASE Project/Software Engineering Lab., Graduate School of Information and Science, Nara Institute of Science and Technology.
バグや機能改善の要望については stigmatax-info[ at ]is.naist.jp までお願 いします.