多様なプログラミング言語に対応可能なコードクローン検出ツールCCFinderSW

瀬村 雄一  吉田 則裕  崔 恩瀞  井上 克郎  
(学生論文特集秀逸論文)

誌名
電子情報通信学会論文誌 D   Vol.J103-D   No.4   pp.215-227
発行日: 2020/04/01
Online ISSN: 1881-0225
DOI: 10.14923/transinfj.2019PDP0025
論文種別: 特集論文 (学生論文特集)
専門分野: ソフトウェア工学
キーワード: 
コードクローン,  字句解析,  ANTLR,  

本文: FreePDF(846.5KB)


あらまし: 
近年実務に使用されるプログラミング言語は多様化し,ある一つのプログラミング言語においてもその文法はバージョンごとに差異をもつ.字句単位のコードクローン検出ツールCCFinderXは,多様な言語に対応するためのシンプルな仕組みをもたない.提案ツールとして,構文解析器生成系の一つであるANTLRの構文定義記述を入力として与えることで,新たな言語の字句解析が可能になるコードクローン検出ツールCCFinderSWを開発した.評価実験では,42言語の構文定義記述からコメントや予約語,文字列リテラルの情報を抽出し,81%の言語でこれら3種類の情報が抽出可能であることを示した.また,C++で記述されたソースコードに対するコードクローン検出においてCCFinderXと出力を比較し,ほぼ同等の検出能力をもつことを示した.