Improving IR-Based Bug Localization with Context-Aware Query Reformulation

被引:76
作者
Rahman, Mohammad Masudur [1 ]
Roy, Chanchal K. [1 ]
机构
[1] Univ Saskatchewan, Saskatoon, SK, Canada
来源
ESEC/FSE'18: PROCEEDINGS OF THE 2018 26TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING | 2018年
基金
加拿大自然科学与工程研究理事会;
关键词
Debugging automation; bug localization; bug report quality; query reformulation; information retrieval; graph-based term weighting; FAULT LOCALIZATION;
D O I
10.1145/3236024.3236065
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Recent findings suggest that Information Retrieval (IR)-based bug localization techniques do not perform well if the bug report lacks rich structured information (e.g., relevant program entity names). Conversely, excessive structured information (e.g., stack traces) in the bug report might not always help the automated localization either. In this paper, we propose a novel technique-BLIZZARD-that automatically localizes buggy entities from project source using appropriate query reformulation and effective information retrieval. In particular, our technique determines whether there are excessive program entities or not in a bug report (query), and then applies appropriate reformulations to the query for bug localization. Experiments using 5,139 bug reports show that our technique can localize the buggy source documents with 7%-56% higher Hit@10, 6%-62% higher MAP@10 and 6%-62% higher MRR@10 than the baseline technique. Comparison with the state-of-the-art techniques and their variants report that our technique can improve 19% in MAP@10 and 20% in MRR@10 over the state-of-the-art, and can improve 59% of the noisy queries and 39% of the poor queries.
引用
收藏
页码:621 / 632
页数:12
相关论文
共 68 条
[1]   Bug Localization with Combination of Deep Learning and Information Retrieval [J].
An Ngoc Lam ;
Anh Tuan Nguyen ;
Hoan Anh Nguyen ;
Nguyen, Tien N. .
2017 IEEE/ACM 25TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2017, :218-229
[2]  
Anh Tuan Nguyen, 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering, P263, DOI 10.1109/ASE.2011.6100062
[3]  
[Anonymous], 2018, BLIZZARD REPLICATION
[4]  
[Anonymous], 2015, JAVA KEYWORDS
[5]  
[Anonymous], 2005, Proc. Conf. Hum. Lang. Technol. Empir. Methods Nat. Lang. Process, DOI DOI 10.3115/1220575.1220627
[6]  
[Anonymous], 2004, P 2004 C EMP METH NA
[7]  
[Anonymous], 2011, STOP WORDS
[8]  
Anvik J., 2006, P 28 INT C SOFTW ENG, P361, DOI DOI 10.1145/1134285.1134336
[9]  
Arong, 2014, PROCEEDINGS OF 2014 IEEE INTERNATIONAL CONFERENCE ON PROGRESS IN INFORMATICS AND COMPUTING (PIC), P51, DOI 10.1109/PIC.2014.6972294
[10]  
Ashok B, 2009, 7TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, P373