A Combinatorial Testing-Based Approach to Fault Localization

被引:27
作者
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 条
  • [1] Abreu R, 2006, 12TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, P39
  • [2] [Anonymous], 2013, P ESEC FSE 2013, DOI DOI 10.1145/2491411.2491436
  • [3] The Probabilistic Program Dependence Graph and Its Application to Fault Diagnosis
    Baah, George K.
    Podgurski, Andy
    Harrold, Mary Jean
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2010, 36 (04) : 528 - 545
  • [4] The Oracle Problem in Software Testing: A Survey
    Barr, Earl T.
    Harman, Mark
    McMinn, Phil
    Shahbaz, Muzammil
    Yoo, Shin
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (05) : 507 - 525
  • [5] Borazjany M. N., 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST 2012), P591, DOI 10.1109/ICST.2012.146
  • [6] The AETG system: An approach to testing based on combinatorial design
    Cohen, DM
    Dalal, SR
    Fredman, ML
    Patton, GC
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (07) : 437 - 444
  • [7] Constructing test suites for interaction testing
    Cohen, MB
    Gibbons, PB
    Mugridge, WB
    Colbourn, CJ
    [J]. 25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 38 - 48
  • [8] On the use of specification-based assertions as test oracles
    Coppit, D
    Haddox-Schatz, JM
    [J]. 29TH ANNUAL IEEE/NASA SOFTWARE ENGINEERING WORKSHOP, PROCEEDINGS, 2005, : 305 - 314
  • [9] Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact
    Do, HS
    Elbaum, S
    Rothermel, G
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2005, 10 (04) : 405 - 435
  • [10] The Daikon system for dynamic detection of likely invariants
    Ernst, Michael D.
    Perkins, Jeff H.
    Guo, Philip J.
    McCarnant, Stephen
    Pacheco, Carlos
    Tschantz, Matthew S.
    Xiao, Chen
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2007, 69 (1-3) : 35 - 45