Information Retrieval and Spectrum Based Bug Localization: Better Together

被引:112
作者
Le, Tien-Duy B. [1 ]
Oentaryo, Richard J. [1 ]
Lo, David [1 ]
机构
[1] Singapore Management Univ, Sch Informat Syst, Singapore 178902, Singapore
来源
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS | 2015年
关键词
Bug Localization; Information Retrieval; Program Spectra; FEATURE LOCATION; EXECUTION;
D O I
10.1145/2786805.2786880
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Debugging often takes much effort and resources. To help developers debug, numerous information retrieval (IR)-based and spectrum-based bug localization techniques have been proposed. IR-based techniques process textual information in bug reports, while spectrum-based techniques process program spectra (i.e., a record of which program elements are executed for each test case). Both eventually generate a ranked list of program elements that are likely to contain the bug. However, these techniques only consider one source of information, either bug reports or program spectra, which is not optimal. To deal with the limitation of existing techniques, in this work, we propose a new multi-modal technique that considers both bug reports and program spectra to localize bugs. Our approach adaptively creates a bug-specific model to map a particular bug to its possible location, and introduces a novel idea of suspicious words that are highly associated to a bug. We evaluate our approach on 157 real bugs from four software systems, and compare it with a state-of-the-art IR-based bug localization method, a state-of-the-art spectrum-based bug localization method, and three state-of-the-art multi-modal feature location methods that are adapted for bug localization. Experiments show that our approach can outperform the baselines by at least 47.62%, 31.48%, 27.78%, and 28.80% in terms of number of bugs successfully localized when a developer inspects 1, 5, and 10 program elements (i.e., Top 1, Top 5, and Top 10), and Mean Average Precision (MAP) respectively.
引用
收藏
页码:579 / 590
页数:12
相关论文
共 49 条
[1]  
Abreu R., 2009, J SYSTEMS SOFTWARE
[2]  
[Anonymous], 2002, TECHNICAL REPORT
[3]  
[Anonymous], 2010, ISSTA, DOI [10.1145/1831708.1831715, DOI 10.1145/1831708.1831715]
[4]  
[Anonymous], 2008, Introduction to information retrieval
[5]  
[Anonymous], 2014, P IEEE ACM 29 INT C
[6]  
[Anonymous], ICPC
[7]  
[Anonymous], 2012, MACHINE LEARNING PRO
[8]  
Anvik J., 2005, P 2005 OOPSLA WORKSH, P35, DOI [10.1145/1117696, 10.1145/1117696.1117704, DOI 10.1145/1117696]
[9]  
Anvik J., 2006, P 28 INT C SOFTW ENG, P361, DOI DOI 10.1145/1134285.1134336
[10]  
Artzi S., 2010, P 32 ACM IEEE INT C