[修士論文] 改版履歴分析に基づく変更影響解析のためのデータセット構築と精度検証

2/2 に小林研M2の石田さんが修士論文の発表を行います.

論文題目:改版履歴分析に基づく変更影響解析のためのデータセット構築と精度検証
論文概要:

ソフトウェアに変更を行う際は,変更の影響が波及する箇所を把握することが必要である.
しかし,ソースコード間の依存関係を全て把握することは困難である.
この問題に対して,改版履歴に相関ルールマイニングを適用し,変更の影響を受ける箇所を特定する方法が研究されてきた.
先行研究では,変更影響解析の有効性を議論する際,仮想的に評価用データを作成している.
しかし,この方法では実際に開発者が特定することが困難なファイルの依存関係に対して評価ができていない.
また,同一の目的を持った複数の変更に対して,それらの変更をまとめて変更影響解析を適用する方法に関して,先行研究では議論されていない.

これらの問題点を解決するために,本研究ではバグ修正・バグ導入コミットから開発者が変更を忘れたファイルを特定し,変更影響解析のためのデータセットを構築した.
19のOSSからバグ修正・バグ導入コミットのペアを取得し,合計2840のデータを作成した.
データセットの作成結果から,特定したバグ修正・バグ導入コミットのペアの約半数でファイルの変更忘れが発生していることがわかった.
また,変更を忘れるファイルの数はそのほとんどが5ファイル以下であり,変更を忘れるファイルの数は少ないことがわかった.

さらに,作成したデータセットを利用して,既存手法の再評価を行った.
その結果,相関ルールのランキングの第一基準には,定説通りConfidenceが有効であることがわかった.
また,古いコミットの変更情報は必ずしもノイズとはならないことがわかった.

最後に,作成したデータセットを利用して,複数の変更をまとめて変更影響解析を行う場合について実験を行った.
その結果,複数の変更をまとめて変更影響解析を行う場合,相関ルールのランキングの第一基準として,ConfidenceよりSupportが有効な場合があることがわかった.
また,複数の変更をまとめて変更影響解析を行う場合でも,マイニングに利用するコミット数が増加した時に変更影響解析の精度が悪影響を受けることは確認できなかった.
そして,複数の変更をまとめて変更影響解析を行う場合は,1回の変更に対して変更影響解析を行う場合と比較して,Recallに関して顕著な増加はみられなかった.そして,Top 10 Rank,Top 20 Rankについて実用性を害するほどの低下はみられなかった.