現在もっとも高性能であるクローン検出ツール,SourcererCC の論文.

このツールは大規模ソフトウェア群に対する研究プロジェクトである Sourcerer プロジェクトの一環で開発された. 大規模なプロジェクト群からタイプ3のクローンを検出できることが特徴である.

手法としては,まずはソースコードをブロックレベルに分割し,そのブロックに存在する字句の類似度でクローンを検出する. また,計算回数を減らすために,ヒューリスティックによるフィルタリングを行う. 転置インデックスを使うらしい(よくわからんかった).

実験結果では,スケーラビリティ,pricision 及び recall で他のクローン検出ツールを圧倒した. このツールが他のツールを過去にしたと言っても過言ではない.

所感としては,トークンとその出現回数の比較だけでうまくクローンを検出できるのが結構意外.