主催: 戸田 航史, 藤原 賢二
会議名: 第31回ソフトウェア工学の基礎ワークショップ(FOSE2024)
開催地: 佐賀県佐賀市
開催日: 2024/11/28 - 2024/11/30
p. 75-84
バグを含んだコミットを予測するためにJust-In-Timeバグ予測モデル(JITモデル)が研究されている.コミットから得られるメトリクスを説明変数とする機械学習分類器を利用するモデルが一般的である.説明変数として変更メトリクスが活用されることが多いが,JITモデルはその中でもコードの変更量に関するメトリクス(例:追加された行数)に予測結果が依存することが知られている.このような依存は,JITモデルが大きな変更量のコミットを優先してバグありと判定している可能性を示唆している.つまり,小さな変更量のコミットを正確に予測できていない可能性がある.しかし,小さな変更量のコミットもソフトウェアプロジェクトの変更の大きな割合を占めており,これらのコミットに含まれるバグを正しく予測する必要がある.バグ予測モデルに関するこれまでの研究ではコミットを変更量で分けずに評価を行っているため,そういった小さなコミットに対する予測精度を評価できていない.本研究ではコミットを変更量で分けずに評価した場合,JITモデルに対する評価結果を正しく解釈できない可能性について調査を行った.まず小さな変更量のコミットを定義し,それらのコミットがソフトウェアプロジェクトにおいて無視できない割合存在しており,かつ,バグを混入する可能性があることを示した.また,JITモデルの予測精度はコミットの変更量ごとに異なることを示した.最後に,11の分析対象のプロジェクトのうち最大で10のプロジェクトで,小さな変更量のコミットに対するJITモデルの予測精度が有意に低いことを明らかにした.