[学士論文] 変更行数を考慮した広義の共変更関係の学習に基づく変更漏れ指摘手法

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

題目:変更行数を考慮した広義の共変更関係の学習に基づく変更漏れ指摘手法
内容梗概:

近年のソフトウェアの大規模によって, 変更の波及範囲の把握が困難になってきている. それに
よって生じる変更漏れがソフトウェアの不具合の原因の一つとなり, 問題になっている.
このような問題に対して, 開発者が行った変更に対して関連した変更すべき要素を推薦する様々な
手法が提案されてきた. プログラム要素の同時出現情報を共変更ルールとして抽出し, 推薦に利用する手法は変更推薦の方法としてよく知られている. これに対し, 広義の共変更関係を新たに定義し, それに基づいた推薦を行う手法が提案されており, 高い推薦精度が報告されていた.

広義の共変更関係を利用した手法が, 既存の同時出現情報のみを考慮した手法に対して同時に出現
しなかった情報を考慮するように拡張を行ったことで高い推薦精度を得たことに着目し, 更なる拡張
を広義の共変更関係を利用した手法に行いさらなる推薦精度の向上を目的する. 本研究では, 広義の共変更関係を利用した手法にプログラム要素に加えられた変更行数の情報を考慮する拡張を行う.

機械学習を用いた変更漏れ要素の指摘に必要なデータ作成の際に, 従来手法では変更されたか否か
の情報のみを用いて, 変更された要素には 1, 変更されていなかった要素には 0 を当てはめることで, 広義の共変更関係を表すデータを作成していた. それに対して, 本研究では変更された要素に対して 一律に 1 を当てはめるのではなく, 変更された要素に対して行われた変更の行数を加味した数値を当てはめてデータを作成し, 機械学習に利用することで, 変更行数を考慮した広義の共変更に基づく変更漏れ推薦を行う手法を提案する. また, 変更の行数を加味した数値の算出方法を複数提案する.

本研究では, 実在するオープンソースソフトウェアの変更履歴情報からデータを抽出し, 仮想欠陥のデータを作成する. 生成した仮想欠陥のデータに対して, 提案手法とともに従来手法に対しても推薦性能を評価する実験を行い, 従来手法との比較を行うことで提案手法の有効性の評価を行った.
実験の結果により, 本研究における提案手法は, 今回行った実験の条件においては従来手法と比較
した際に有効性を示すことができないことがわかった.