今年度は,ソースコード変更支援に関連する技術であるコードクローンに関する研究に取り組んだ.コードクローンとはソースコード中に存在する同一あるいは類似するコード片を指し,主にコピーアンドペーストにより生成される.コードクローンは,ソースコードを変更するという状況において悪影響を及ぼす要因の1つであると言われている.その理由は,ソースコード中のある箇所に不具合が見つかった場合,不具合箇所とコードクローンの関係にある他の箇所にも同様の不具合が存在する可能性が高いためである. そこで私は,コードクローンを可視化する研究に取り組んだ.前述したように,開発者があるコード片に変更を加える場合,開発者はそのコード片のコードクローンにも同様の修正が必要であるかを検討しなければならない.そのとき開発者は、コードクローンを可視化するツールを使用する.しかし検出された全てのコードクローンを既存のツールを用いて閲覧する場合,ツールの使用者は複数のソースファイルを開いたり,スクロールバーを操作したり等の作業が必要となる.そのため,コードクローン分析を効率的に行えないという課題点が存在する.既存手法の課題点を改善するため,本研究ではCircle Packingを用いてコードクローンを可視化する手法を提案した.Circle Packingとはデータの階層構造を複数の円を用いて表現する可視化手法である.提案手法を用いることで1つのビューでコードクローンの分析を行えるようになるため,分析が容易となり,既存手法の課題点を改善できる.実装したツールの有効性を確かめるため,被験者実験を行った.被験者実験では,提案手法を実装したツールと既存ツールを対象として,コードクローン分析に要する時間およびユーザビリティを比較した.実験の結果,その双方について提案手法を実装したツールは既存ツールに比べて優れていることを確認した.
|