情報検索に基づくBug Localizationへの不吉な臭いの利用  [in Japanese] Using Code Smells to Improve Information Retrieval-based Bug Localization  [in Japanese]

Access this Article

Search this Article

Abstract

大規模なソフトウェア開発では,ある特定のバグを解決するために修正すべきソースコード箇所を見つけるBug Localizationが必要である.情報検索に基づくBug Localization手法(IR手法)は,バグに関して記述されたバグレポートとソースコード内のモジュールとのテキスト類似度を計算し,これに基づき修正すべきモジュールを特定する.しかし,この手法は各モジュールのバグ含有可能性を考慮していないため精度が低い.本論文では,ソースコード内のモジュールのバグ含有可能性として不吉な臭いを用い,これを既存のIR手法と組み合わせたBug Localization手法を提案する.提案手法では,不吉な臭いの深刻度と,ベクトル空間モデルに基づくテキスト類似度を統合した新しい評価値を定義している.これは深刻度の高い不吉な臭いとバグレポートとの高いテキスト類似性の両方を持つモジュールを上位に位置付け,バグを解決するために修正すべきモジュールを予測する.4つのOSSプロジェクトの過去のバグレポートを用いた評価では,いずれのプロジェクト,モジュール粒度においても提案手法の精度が既存のIR手法を上回り,クラスレベルとメソッドレベルでそれぞれ平均22%,137%の向上がみられた.また,不吉な臭いがBug Localizationに与える影響について調査を行った.

Bug localization is a technique that has been proposed to support the process of identifying the locations of bugs specified in a bug report. For example, information retrieval (IR)-based bug localization approaches suggest potential locations of the bug based on the similarity between the bug description and the source code. However, while many approaches have been proposed to improve the accuracy, the likelihood of each module having a bug is often overlooked or they are treated equally, whereas this may not be the case. For example, modules having code smells have been found to be more prone to changes and bugs. Therefore, in this paper, we propose a technique to leverage code smells to improve bug localization. By combining the code smell severity with the textual similarity from IR-based bug localization, we can identify the modules that are not only similar to the bug description but also have a higher likelihood of containing bugs. Our case study on four open source projects shows that our technique can improve the baseline IR-based approach by 22% and 137% on average for class and method levels, respectively. In addition, we conducted investigations concerning the effect of code smell on bug localization.

Journal

  • 情報処理学会論文誌

    情報処理学会論文誌 60(4), 1040-1050, 2019-04-15

Codes

  • NII Article ID (NAID)
    170000150280
  • NII NACSIS-CAT ID (NCID)
    AN00116647
  • Text Lang
    JPN
  • Article Type
    journal article
  • ISSN
    1882-7764
  • Data Source
    IPSJ 
Page Top