A Combinatorial Testing-Based Approach to Fault Localization

被引:28
作者
Ghandehari, Laleh Sh [1 ]
Lei, Yu [1 ]
Kacker, Raghu [2 ]
Kuhn, Richard [2 ]
Xie, Tao [3 ]
Kung, David [1 ]
机构
[1] Univ Texas Arlington, Dept Comp Sci & Engn, Arlington, TX 76019 USA
[2] NIST, Informat Technol Lab, Gaithersburg, MD 20899 USA
[3] North Carolina State Univ, Dept Comp Sci, Raleigh, NC 27695 USA
关键词
Testing; Fault diagnosis; Flexible printed circuits; Software; Task analysis; Debugging; Computer science; Combinatorial testing; fault localization; debugging; SYSTEM;
D O I
10.1109/TSE.2018.2865935
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Combinatorial testing has been shown to be a very effective strategy for software testing. After a failure is detected, the next task is to identify one or more faulty statements in the source code that have caused the failure. In this paper, we present a fault localization approach, called BEN, which produces a ranking of statements in terms of their likelihood of being faulty by leveraging the result of combinatorial testing. BEN consists of two major phases. In the first phase, BEN identifies a combination that is very likely to be failure-inducing. A combination is failure-inducing if it causes any test in which it appears to fail. In the second phase, BEN takes as input a failure-inducing combination identified in the first phase and produces a ranking of statements in terms of their likelihood to be faulty. We conducted an experiment in which our approach was applied to the Siemens suite and four real-world programs, flex, grep, gzip and sed, from Software Infrastructure Repository (SIR). The experimental results show that our approach can effectively and efficiently localize the faulty statements in these programs.
引用
收藏
页码:616 / 645
页数:30
相关论文
共 51 条
[21]   Software fault interactions and implications for software testing [J].
Kuhn, DR ;
Wallace, DR ;
Gallo, AM .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (06) :418-421
[22]   Information Retrieval and Spectrum Based Bug Localization: Better Together [J].
Le, Tien-Duy B. ;
Oentaryo, Richard J. ;
Lo, David .
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, :579-590
[23]  
Le Tien-Duy B, 2016, P 25 INT S SOFTW TES, P177, DOI [10.1145/2931037.2931049, DOI 10.1145/2931037.2931049]
[24]   IPOG/IPOG-D: efficient test generation for multi-way combinatorial testing [J].
Lei, Yu ;
Kacker, Raghu ;
Kuhn, D. Richard ;
Okun, Vadim ;
Lawrence, James .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2008, 18 (03) :125-148
[25]   Improved Delta Debugging Based on Combinatorial Testing [J].
Li, Jie ;
Nie, Changhai ;
Lei, Yu .
2012 12TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC), 2012, :102-105
[26]  
Lo D., 2010, Software Maintenance (ICSM), 2010 IEEE International Confer- ence on, P1
[27]   Locating Faulty Code Using Failure-Causing Input Combinations in Combinatorial Testing [J].
Ma, Chunyan ;
Zhang, Yifei ;
Liu, Jie ;
MengZhao .
2013 FOURTH WORLD CONGRESS ON SOFTWARE ENGINEERING (WCSE), 2013, :91-98
[28]   The Minimal Failure-Causing Schema of Combinatorial Testing [J].
Nie, Changhai ;
Leung, Hareton .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2011, 20 (04)
[29]   A Survey of Combinatorial Testing [J].
Nie, Changhai ;
Leung, Hareton .
ACM COMPUTING SURVEYS, 2011, 43 (02)
[30]   Seer: A Lightweight Online Failure Prediction Approach [J].
Ozcelik, Burcu ;
Yilmaz, Cemal .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2016, 42 (01) :26-46