正規化圧縮距離を用いたクローンコード検索ツールNCDSearchを開発しました論文.

あるコード片がバグっていることが判明した時,それとクローンとなっているコードを検出したいという目的でクローン検出が行われることがある. しかし,このようなコンテキストにおいてCCFinderXは役に立たない. そこで正規化(Normalized Compression Distance,NCD)を用いてクローンを検索するツールを提案した.

NCDとは,zipなどの圧縮技術によく用いられる概念である. よく分からんので説明は省く. 要するに2つのデータの類似度を測定する手法のことである. 他にも手法としては,スライディングウィンドウなどを行なっている.

このツールについてCCFinderXとNiCadに対して実験している.

これってタイプ3のクローン検出器なのではないかと感じた. 論文タイトル中にBuggy Codeと書いてあるが,バグコードでの優位性は不明. それに特化した手法とは思えない(単に読み取れてない可能性はある). grep風らしい.