Combining Spectrum-Based Fault Localization and Statistical Debugging: An Empirical Study

被引:44
作者
Jiang, Jiajun [1 ,2 ]
Wang, Ran [1 ,2 ]
Xiong, Yingfei [1 ,2 ]
Chen, Xiangping [3 ,4 ]
Zhang, Lu [1 ,2 ]
机构
[1] Minist Educ PKU, Key Lab High Confidence Software Technol, Key Lab High Confidence Software Technol, Beijing, Peoples R China
[2] Peking Univ, EECS, Dept Comp Sci & Technol, Beijing, Peoples R China
[3] Guangdong Key Lab Big Data Anal & Simulat Publ Op, Guangzhou, Guangdong, Peoples R China
[4] Sun Yat Sen Univ, Sch Commun & Design, Guangzhou, Peoples R China
来源
34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019) | 2019年
基金
中国国家自然科学基金;
关键词
Software engineering; Fault localization; Program debugging; MUTATION; BUGS;
D O I
10.1109/ASE.2019.00054
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Program debugging is a time-consuming task, and researchers have proposed different kinds of automatic fault localization techniques to mitigate the burden of manual debugging. Among these techniques, two popular families are spectrum-based fault localization (SBFL) and statistical debugging (SD), both localizing faults by collecting statistical information at runtime. Though the ideas are similar, the two families have been developed independently and their combinations have not been systematically explored. In this paper we perform a systematical empirical study on the combination of SBFL and SD. We first build a unified model of the two techniques, and systematically explore four types of variations, different predicates, different risk evaluation formulas, different granularities of data collection, and different methods of combining suspicious scores. Our study leads to several findings. First, most of the effectiveness of the combined approach contributed by a simple type of predicates: branch conditions. Second, the risk evaluation formulas of SBFL significantly outperform that of SD. Third, fine-grained data collection significantly outperforms coarse-grained data collection with a little extra execution overhead. Fourth, a linear combination of SBFL and SD predicates outperforms both individual approaches. According to our empirical study, we propose a new fault localization approach, PREDFL (Predicate-based Fault Localization), with the best configuration for each dimension under the unified model. Then, we explore its complementarily to existing techniques by integrating PREDFL with a state-of-the-art fault localization framework. The experimental results show that PREDFL can further improve the effectiveness of state-of-the-art fault localization techniques. More concretely, integrating PREDFL results in an up to 20.8% improvement w.r.t the faults successfully located at Top-1, which reveals that PREDFL complements existing techniques.
引用
收藏
页码:502 / 514
页数:13
相关论文
共 77 条
[1]   On the accuracy of spectrum-based fault localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
van Gemund, Arjan J. C. .
TAIC PART 2007 - TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS: CO-LOCATED WITH MUTATION 2007, 2007, :89-+
[2]  
Abreu R, 2006, 12TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, P39
[3]   Spectrum-based Multiple Fault Localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
van Gemund, Arjan J. C. .
2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :88-99
[4]  
[Anonymous], 2011, P ACM SIGSOFT S EURO
[5]  
[Anonymous], 2018, ISSTA
[6]  
[Anonymous], 2017, ICSE
[7]  
[Anonymous], 2017, ASE
[8]  
[Anonymous], 2019, IEEE T SOFTWARE ENG
[9]  
[Anonymous], 2018, ICSE
[10]  
[Anonymous], 2010, ICSE