TY - JOUR
T1 - A Combinatorial Testing-Based Approach to Fault Localization
AU - Sh. Ghandehari, Laleh
AU - Lei, Yu
AU - Kacker, Raghu
AU - Kuhn, Richard
AU - Xie, Tao
AU - Kung, David
N1 - Publisher Copyright:
© 1976-2012 IEEE.
PY - 2020/6/1
Y1 - 2020/6/1
N2 - 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.
AB - 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.
KW - Combinatorial testing
KW - debugging
KW - fault localization
UR - http://www.scopus.com/inward/record.url?scp=85051831291&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85051831291&partnerID=8YFLogxK
U2 - 10.1109/TSE.2018.2865935
DO - 10.1109/TSE.2018.2865935
M3 - Article
AN - SCOPUS:85051831291
SN - 0098-5589
VL - 46
SP - 616
EP - 645
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
IS - 6
M1 - 8438933
ER -