[学士論文] コミットの複合的類似性における開発課題記述の構成要素抽出の効果

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

題目:コミットの複合的類似性における開発課題記述の構成要素抽出の効果
論文概要:

ソフトウェア開発の上で、開発者が自身の変更の影響箇所を特定することは難しく、しばしば変更すべき箇所を忘れた不完全変更を行ってしまう。

不完全変更に対して、コミットの複合的類似性を元に変更すべき箇所を推薦する支援手法が提案されている。コミットの複合的類似性とは、コミットで変更されたプログラム要素やコミットに付加された文章情報を元に算出される。そして、類似する過去のコミットにおいて変更された要素の情報を集約し、変更すべき箇所を推薦する。この手法は、既存手法の課題であった、改版履歴の短いプロジェクトに対しても高い推薦性能を示した。

しかし、提案されたコミットの複合的類似性は、コミットに紐付けられたIssueの文章情報の活用方法に改良の余地がある。この手法では、Issueの説明部分をコミットの類似性算出に用いると、変更推薦の性能が向上しなかった。

そこで、本研究では、重複バグレポート検出分野における知見を元に、Issueの活用方法を改良した類似度算出手法を提案する。重複バグレポート検出においては、バグレポートからタイトル、OBなど特定の構成要素を抽出することによって検出性能が向上することが知られている。提案手法では、このような構成要素抽出をIssueに対して適用し、特定の構成要素のみをコミットの類似度算出に用いる。

提案手法の有効性を確認するため、既存の変更推薦手法での評価実験にならい、OSSで実際に発生した不完全変更のデータセットに対して推薦手法を適用し、正しく欠損箇所を推薦できるかという評価実験を行った。提案手法を比較した結果、IssueのタイトルやIssueのOB、IssueのEBが変更推薦に有用であり、したがってコミットの類似度算出に有用であることを明らかにした。また、これらの構成要素は複数を組み合わせて用いることで、より推薦性能を向上することが確認された。