コードクローン界隈でブレークスルーとなった論文.
この論文の発表以前は,速いが粗い行単位やメトリクスを用いた手法,あるいは正確だが遅い抽象構文木を用いた手法などが提案されていた. これに対して,この論文では,速くなおかつ正確なクローンを検出する手法として,ソースコードを字句列に分解し,そこからクローンを検出する手法を提案している.
この手法では,事前に対象のソースファイルの言語に対応した字句解析器を用意しておき,対象を字句列に分解する. これにより,行の途中までが一致しているクローンなどを,構文解析を行うことなく検出できる. また,接尾字木アルゴリズムを用いることで,計算量をO(n)に抑え,スケーラビリティを確保している.
実験では,十分に大きいソフトウェアに対して,実用的な時間で有用なクローンを検出することに成功している.