Fast Model-Based Fault Localisation with Test Suites

被引:6
作者
Birch, Geoff [1 ]
Fischer, Bernd [2 ]
Poppleton, Michael R. [1 ]
机构
[1] Univ Southampton, Southampton SO17 1BJ, Hants, England
[2] Univ Stellenbosch, ZA-7602 Stellenbosch, Matieland, South Africa
来源
TESTS AND PROOFS, TAP 2015 | 2015年 / 9154卷
关键词
Automated debugging; Fault localisation; Symbolic execution;
D O I
10.1007/978-3-319-21215-9_3
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Fault localisation, i.e. the identification of program locations that cause errors, takes significant effort and cost. We describe a fast model-based fault localisation algorithm which, given a test suite, uses symbolic execution methods to fully automatically identify a small subset of program locations where genuine program repairs exist. Our algorithm iterates over failing test cases and collects locations where an assignment change can repair exhibited faulty behaviour. Our main contribution is an improved search through the test suite, reducing the effort for the symbolic execution of the models and leading to speed-ups of more than two orders of magnitude over the previously published implementation by Griesmayer et al. We implemented our algorithm for C programs, using the KLEE symbolic execution engine, and demonstrate its effectiveness on the Siemens TCAS variants. Its performance is in line with recent alternative model-based fault localisation techniques, but narrows the location set further without rejecting any genuine repair locations where faults can be fixed by changing a single assignment.
引用
收藏
页码:38 / 57
页数:20
相关论文
共 37 条
[1]  
Ahmadzadeh M., 2005, SIGCSE Bulletin, V37, P84, DOI 10.1145/1151954.1067472
[2]  
[Anonymous], 2009, UTDCS45 U TEX DALL
[3]  
[Anonymous], 1991, IJCAI, DOI [DOI 10.5555/1631171.1631221, 10.5555/1631171.1631221]
[4]  
Bendersky E, 2012, PyCParser C Parser and AST Generator Written in Python
[5]   EXE: Automatically Generating Inputs of Death [J].
Cadar, Cristian ;
Ganesh, Vijay ;
Pawlowski, Peter M. ;
Dill, David L. ;
Engler, Dawson R. .
ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2008, 12 (02)
[6]  
Chandra S, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P121, DOI 10.1145/1985793.1985811
[7]  
Cleve H, 2005, PROC INT CONF SOFTW, P342
[8]  
Console L., 1993, Automated and Algorithmic Debugging. First International Workshop, AADEBUG '93 Proceedings, P85, DOI 10.1007/BFb0019402
[9]  
Cook S. A., 1971, Proceedings of the 3rd annual ACM symposium on theory of computing, P151
[10]   SMT-Based Bounded Model Checking for Embedded ANSI-C Software [J].
Cordeiro, Lucas ;
Fischer, Bernd ;
Marques-Silva, Joao .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (04) :957-974