[修士論文] 欠陥箇所に有効なバグレポート中のキーワード抽出
- 01 /
-
25 2022
1/31 に小林研M2の林さんが修士論文の発表を行います.
論文題目:欠陥箇所に有効なバグレポート中のキーワード抽出
論文概要:
ソフトウェアに対して不具合が発見された際には,その不具合を修正するために原因箇所を特定する必要がある.一般にこの特定作業は多くの時間を要する.この問題に対し,不具合を報告するバグレポートをもとに検索技術を用いて原因個所を特定する手法が提案されてきた.また検索技術だけでなく,高い精度で原因箇所を特定するための検索クエリの構成戦略についても研究されている.
これらの研究ではバグレポートを構成する文書からノイズとなる不要な単語を除去するクエリ削減戦略が採用されてきた.典型的なバグレポートはタイトル・「観測された問題の挙動」・「想定していた挙動」・「再現方法」といった構成要素が含まれる.このうち特定の構成要素に含まれる文章のみから単語を選択するクエリ削減戦略が高い精度となることが示されている.
クエリ削減戦略を改善することで精度向上を目指す試み以外に,最も高い検索精度となるよう正解から逆算して模範クエリを探索的に構成することで情報検索に基づく原因箇所特定の理想的な性能を調査する試みもなされている.Millsらによるこの研究では,15のOSSプロジェクトのバグレポートに対する模範クエリを明らかにし,模範クエリの分析することでバグレポートの構成要素に基づくクエリ削減の妥当性を否定している.しかしながら,模範クエリを導出するためのクエリ削減の方法は明らかとしていない.
本研究では,バグレポート中の単語をその特徴に基づいて選択することで検索性能を向上させるクエリ構成手法を提案する.まず,Millsらが探索的に発見した模範クエリを構成する単語と,バグレポートの構成要素との関連性を既存研究と別の観点で調べる.次に,模範クエリを構成する単語のバグレポート中での出現個所を自然言語の観点で調査する.これらの知見をもとに既存研究と比べて優れたクエリ削減戦略を提案する.
15のOSSプロジェクトの模範クエリを調査した結果,一部のバグレポートの構成要素と模範クエリの単語には強い関連性があり,「観測された問題の挙動」の説明は模範クエリの一部の単語を特定するために有用であることを示した.また,自然言語処理によって得られる,品詞の情報・文の構造などと模範クエリの単語の間にも関連性が見出せることを示した.
本研究では,調査によって明らかとした関連性をもとに,有用な構成要素や文章の構造的特徴及び品詞に該当する箇所を選択すると同時に,品詞を利用して精度向上に貢献しない品詞を削除するクエリ削減戦略を提案した.
さらに,提案した削減戦略での検索クエリと模範クエリを比較する実験を行い,提案手法は15のプロジェクトの過半数において既存のクエリ削減手法より模範クエリに近いクエリを構成できることを示した.