Domestic Journal Peer-reviewed

情報検索に基づくBug Localizationへの不吉な臭いの利用

Using Code Smells to Improve Information Retrieval-Based Bug Localization

高橋 碧, セーリム ナッタウット, 林 晋平, 佐伯 元司

Aoi Takahashi, Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki

情報処理学会論文誌, vol. 60, no. 4, pp. 1040–1050, April 2019.

情報処理学会論文誌ジャーナル特選論文 IPSJ Specially Selected Paper

ここに掲載した著作物の利用に関する注意 本著作物の著作権は情報処理学会に帰属します。本著作物は著作権者である情報処理学会の許可のもとに掲載するものです。ご利用に当たっては「著作権法」ならびに「情報処理学会倫理綱領」に従うことをお願いいたします。

Notice for the use of this material: The copyright of this material is retained by the Information Processing Society of Japan (IPSJ). This material is published on this web site with the agreement of the author(s) and the IPSJ. Please be complied with Copyright Law of Japan and the Code of Ethics of the IPSJ if any users wish to reproduce, make derivative work, distribute or make available to the public any part or whole thereof.

Abstract

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

Abstract (English)

Bug localization is a technique that has been proposed to support the process of identifying the locations of bugs speci ed 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.

Related papers

This work builds on

Continued in

BibTeX

@article{takahashi-a-at-ipsjj201904,
    author = {高橋 碧 and セーリム ナッタウット and 林 晋平 and 佐伯 元司},
    title = {情報検索に基づくBug Localizationへの不吉な臭いの利用},
    journal = {情報処理学会論文誌},
    volume = 60,
    number = 4,
    pages = {1040--1050},
    year = 2019,
}
Type
Domestic Journal
Published
April 2019
Volume / Pages
vol. 60, no. 4, pp. 1040–1050