[修士論文] 細粒度操作履歴の分析に基づく開発行動推薦

小林研M2の山森さんが修士論文の発表を行いました.

論文題目:細粒度操作履歴の分析に基づく開発行動推薦
論文概要:

ソフトウェアの変更漏れはバグ発生の主要な要因であり、開発者が次に変更するべき箇所を検出し提案する、変更支援と呼ばれる研究が行われている。このうち、開発者の過去の開発行動が記録されている改版履歴を用いた研究では、同時に変更されやすい成果物間の関係を抽出して変更推薦に利用する手法が提案され、一定の効果があることが示されている。また、改版履歴を用いた手法よりも変更推薦を実施できる回数を増やすため、変更された成果物の情報だけでなく、開発者がプログラムの変更のために閲覧した成果物の情報を含んだ操作履歴を利用して変更推薦を行なう研究がある。しかし、操作履歴を記録しているソフトウェア開発はほとんどないため、手法の効果を検証するためのデータセットが用意できないという問題がある。

本研究は、十分なデータセットを用いて操作履歴を用いた変更推薦手法の効果を検証することを目的とし、現在最も普及しているタスク指向開発支援ツール、Mylyn の内部データに着目し、Mylyn を利用して、Mylyn の出力する操作履歴を変更支援手法に適用する方法について検討する。Mylyn の出力する操作履歴は、操作の時系列の情報や操作に変更を伴ったかの情報が記録されておらず、既存手法をそのまま適用することができないため、2 つのアプローチを提案しこれらを用いて変更推薦を実施する。1 つ目ではMylyn を拡張し、既存の変更支援手法に必要な情報をMylyn の出力する操作履歴に付け加えることで、既存手法にMylyn の操作履歴が適用できるようにする方法を提案する。2 つ目では、現バージョンのMylyn の操作履歴を用いて、データの特徴を考慮した変更支援手法を新たに提案する。また、提案手法の評価として、既存の改版履歴を用いた手法と比較して手法の効果を検証する。検証の際は正解セットを作成する必要があるため、操作履歴と改版履歴を結合することでそれぞれの操作で行われた変更の情報を復元する。7 年分の実開発で記録された操作履歴を用いた検証の結果、操作履歴を用いた変更支援手法は、改版履歴を用いた場合よりもF-measure が向上した。また、Recall が増加し、Recall を一定に保ったときのMRR が向上した。データセット内での出現頻度と確信度を同時に重視し推薦結果のランキングを行なうことにより、Recall を維持しながらMRR を改善することができた。