[学士論文] 変更タイプを考慮した共変更解析に基づく変更支援

小林研B4の石井さんが学士特別課題研究論文(旧学士論文)を提出しました.

題目:変更タイプを考慮した共変更解析に基づく変更支援
論文概要:

ソフトウェアの規模が大きくなると、ファイル間の依存関係が複雑化することで、ソースコードの変更の際に変更漏れが発生しやすくなる。変更漏れを防ぐため、バージョン管理システムを用いて、頻繁に同時変更されたファイルからLogical Couplingとして共変更ルールを抽出する手法が提案されている。

しかし、既存の手法ではファイル単位やメソッド単位の変更の有無のみを考慮しており、各変更の意味的な関連に着目していない。

本研究では、ファイル単位で共変更ルールを抽出するツールであるLCExtractorを拡張し、メソッドやフィールドなどへの変更の種類をより細分化した、相関ルールマイニングを行うことで、変更推薦を改善する手法を提案する。javaファイルの変更タイプを細分化するツールであるChangeDistillerを用いることで、従来の変更ファイルに変更タイプを付加し、数種類に分割する。そうして得られた変更タイプ付きファイル変更の情報を用いた相関ルール抽出を行い、それによるファイル変更推薦を評価する。

実験では、変更タイプ付加の有無および粒度による評価への影響を調査した。変更タイプの有無による影響の実験では、変更タイプを付加することにより、より多くの変更漏れを推薦できるようになったことを確認した。変更タイプの粒度による影響の実験では、粒度が大きい場合と比較し、小さい場合により高い評価が見られた。