情報検索を用いたBug Localization手法にモジュール粒度の違いが与える影響

書誌事項

タイトル別名
  • The Impact of Module Granularity in IR-based Bug Localization Techniques

この論文をさがす

抄録

Bug Localizationとはバグの原因箇所を特定する,ソフトウェア保守において重要な作業である.メソッドレベルで自動でBug Localizationを行う手法は開発者にとって有用なものの,手法が少なく,評価可能なフレームワークも存在しないため知見が少ない.本論文では,既存の情報検索を用いたBug Localization手法をメソッドレベルで大規模に比較可能なフレームワークFinerBench4BLを提案し,推薦モジュール粒度の違いが手法の精度や推薦時に考慮する追加情報,実行時間へ与える影響の調査を行う.データセットはリポジトリ変換によりBench4BLのプロジェクトをメソッドレベルに再構築したメソッドリポジトリから作成した.またメソッドリポジトリに基づき,既存のファイルレベルの手法を小さな修正でメソッドレベルに変更し,データセットと組み合わせて評価フレームワークとした.FinerBench4BLを利用した調査の結果,メソッドレベルの手法は精度が低下する一方で,デバッグに必要な労力が削減することが明らかになった.またメソッドレベルへの変更にともない,既存手法が考慮する追加情報の影響が小さくなることから,多くの種類の追加情報の考慮が精度向上につながることが分かった.

Bug localization is an important aspect of software maintenance because it can locate modules that need to be changed to fix a specific bug. Although method-level bug localization is helpful for developers, there are only a few techniques, and there exists no large-scale framework for their evaluation. In this paper, we present FinerBench4BL, an evaluation framework for method-level information retrieval-based bug localization techniques, and investigate the impact of module granularities on the techniques' accuracy, additional information, and execution time. The dataset was constructed from a method repository where projects in Bench4BL were converted to the method level by repository transformation. In addition, based on the method repositories, we tailor the existing file-level bug localization technique implementations at the method level. By combining the generated dataset and implementations, we build a framework for method-level evaluation. We found that the change to method level reduces the influence of additional information considered by existing techniques and that considering much additional information leads to improved accuracy.

収録刊行物

詳細情報 詳細情報について

問題の指摘

ページトップへ