QR-Augmented Spectrum-based Fault Localization

Spectrum-based fault localization (SFL) correlates a system’s components with observed failures. By reasoning about coverage, SFL allows for a lightweight way of pinpointing faults. This abstraction comes at the cost of missing certain faults, such as errors of omission, and failing to provide enough contextual information to explain why components are considered suspicious. We propose an approach, named Q-SFL, that leverages qualitative reasoning to augment the information made available to SFL techniques. It qualitatively partitions system components, and treats each qualitative state as a new SFL component to be used when diagnosing. Our empirical evaluation shows that augmenting SFL with qualitative components can improve diagnostic accuracy in 54% of the considered real-world subjects. In Memoriam: Danny Bobrow.

[1]  Alessandro Orso,et al.  Are automated debugging techniques actually helping programmers? , 2011, ISSTA '11.

[2]  Arie van Deursen,et al.  Revisiting the Practical Use of Automated Software Fault Localization Techniques , 2017, ISSRE Workshops.

[3]  Rui Abreu,et al.  A dynamic code coverage approach to maximize fault localization efficiency , 2014, J. Syst. Softw..

[4]  Rui Abreu,et al.  A Kernel Density Estimate-Based Approach to Component Goodness Modeling , 2013, AAAI.

[5]  Andrew W. Moore,et al.  X-means: Extending K-means with Efficient Estimation of the Number of Clusters , 2000, ICML.

[6]  Peter Zoeteweij,et al.  Spectrum-Based Multiple Fault Localization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[7]  David Lo,et al.  Extended comprehensive study of association measures for fault localization , 2014, J. Softw. Evol. Process..

[8]  Rui Abreu,et al.  Using HTML5 visualizations in software fault localization , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[9]  John T. Stasko,et al.  Visualization of test information to assist fault localization , 2002, ICSE '02.

[10]  Peter Zoeteweij,et al.  A New Bayesian Approach to Multiple Intermittent Fault Diagnosis , 2009, IJCAI.

[11]  Gregory M. Provan,et al.  Computing Minimal Diagnoses by Greedy Stochastic Search , 2008, AAAI.

[12]  David Lo,et al.  Version history, similar report, and structure: putting them together for improved bug localization , 2014, ICPC 2014.

[13]  Debra J. Richardson,et al.  An Analysis of Test Data Selection Criteria Using the RELAY Model of Fault Detection , 1993, IEEE Trans. Software Eng..

[14]  Rui Abreu,et al.  GZoltar: an eclipse plug-in for testing and debugging , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[15]  Yuhua Qi,et al.  Slice-based statistical fault localization , 2014, J. Syst. Softw..

[16]  Kenneth D. Forbus Qualitative Reasoning , 1997, The Computer Science and Engineering Handbook.

[17]  Rui Abreu,et al.  A Low-Cost Approximate Minimal Hitting Set Algorithm and its Application to Model-Based Diagnosis , 2009, SARA.

[18]  Franz Wotawa,et al.  Spectrum Enhanced Dynamic Slicing for better Fault Localization , 2012, ECAI.

[19]  G. Stenbakken,et al.  Ambiguity groups and testability , 1989 .

[20]  Michele Lanza,et al.  An extensive comparison of bug prediction approaches , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[21]  Brian C. Williams,et al.  Qualitative Reasoning about Physical Systems: A Return to Roots , 1991, Artif. Intell..

[22]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[23]  Benjamin Kuipers,et al.  Qualitative Simulation , 1986, Artificial Intelligence.

[24]  Michael D. Ernst,et al.  Defects4J: a database of existing faults to enable controlled testing studies for Java programs , 2014, ISSTA 2014.

[25]  Higor Amario de Souza,et al.  Adding context to fault localization with integration coverage , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[26]  Rui Abreu,et al.  MHS2: A Map-Reduce Heuristic-Driven Minimal Hitting Set Search Algorithm , 2013, MUSEPAT.

[27]  Xiaofeng Xu,et al.  Ties within Fault Localization rankings: Exposing and Addressing the Problem , 2011, Int. J. Softw. Eng. Knowl. Eng..

[28]  Johan de Kleer Multiple Representations of Knowledge in a Mechanics Problem-Solver , 1977, IJCAI.