Effective Fault Localization Based on Minimum Debugging Frontier Set

被引:0
作者
Li, Feng [1 ]
Huo, Wei [1 ]
Chen, Congming [1 ]
Zhong, Lujie [1 ]
Feng, Xiaobing [1 ]
Li, Zhiyuan [2 ]
机构
[1] Chinese Acad Sci, Inst Comp Technol, State Key Lab Comp Architecture, Beijing, Peoples R China
[2] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47906 USA
来源
PROCEEDINGS OF THE 2013 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO) | 2013年
关键词
fault localization; minimum debugging frontier set; dynamic dependence graph;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper, we present a novel state-based fault-localization approach called DelFal. Assuming the availability of the execution trace which leads to the reported program execution failure, this new approach successively selects sets of trace points to allow the performance of efficient automatic explorations on program execution states in order to help the developer locate programming faults responsible for the observed execution failure. With each of such sets of trace points, the program state at each trace point is symbolically altered, by negating a certain atomic predicate, to see whether the same failure occurs with symbolic execution continuing from the corresponding program point in the source code. The set of trace points is chosen such that the union of the program states is of the minimum size among all candidate sets. Such a set of trace points is called a minimum debugging frontier set (abr. MDFS). Depending on the result from the symbolic execution, the next MDFS is determined by moving forward or backward on the remaining program trace. This process of trace shortening goes on until the offending faulty code is found. The MDFS approach requires the execution failing location to be provided, but the specification of the desired program state is optional. With such specification, it may achieve a more accurate fault report. To evaluate our approach, we tried it on 15 real bugs from real world programs. Results show that our approach is effective in explaining failures within reasonable time.
引用
收藏
页码:109 / 118
页数:10
相关论文
共 11 条
[1]  
AGRAWAL H, 1990, SIGPLAN NOTICES, V25, P246, DOI 10.1145/93548.93576
[2]  
Baah G. K., 2011, P 19 ACM SIGSOFT S 1, P146, DOI DOI 10.1145/2025113.2025136
[3]  
Chandra S, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P121, DOI 10.1145/1985793.1985811
[4]   A tool for checking ANSI-C programs [J].
Clarke, E ;
Kroening, D ;
Lerda, F .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2004, 2988 :168-176
[5]  
Cleve H, 2005, PROC INT CONF SOFTW, P342
[6]  
Cormen T., 2001, Introduction to Algorithms
[7]  
Jeffrey D., 2008, P ACM SIGSOFT INT S, P167
[8]  
Jones J. A., 2005, ASE, P273
[9]  
Sumner W.N., 2011, Proceedings of ACM International Symposium on Software Testing and Analysis, P309, DOI [10.1145/2001420.2001458., DOI 10.1145/2001420.2001458]
[10]  
Wong W. E., 2010, IEEE T RELIAB, V3, P449