An observation-based model for fault localization

Automatic techniques for helping developers in finding the root causes of software failures are extremely important in the development cycle of software. In this paper we study a dynamic modeling approach to fault localization, which is based on logic reasoning over program traces. We present a simple diagnostic performance model to assess the influence of various parameters, such as test set size and coverage, on the debugging effort required to find the root causes of software failures. The model shows that our approach unambiguously reveals the actual faults, provided that sufficient test cases are available. This optimal diagnostic performance is confirmed by numerical experiments. Furthermore, we present preliminary experiments on the diagnostic capabilities of this approach using the single-fault Siemens benchmark set. We show that, for the Siemens set, the approach presented in this paper yields a better diagnostic ranking than other well-known techniques.

[1]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[2]  Qian Yan-ling,et al.  Diagnosing Intermittent Faults to Reduce BIT False Alarms , 2004 .

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

[4]  Andreas Zeller,et al.  Locating causes of program failures , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[5]  Markus Stumptner,et al.  Model-Based Debugging or How to Diagnose Programs Automatically , 2002, IEA/AIE.

[6]  Michael I. Jordan,et al.  Scalable statistical bug isolation , 2005, PLDI '05.

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

[8]  Steven P. Reiss,et al.  Fault localization with nearest neighbor queries , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[9]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[10]  Chao Liu,et al.  SOBER: statistical model-based bug localization , 2005, ESEC/FSE-13.

[11]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

[12]  Jurryt Pietersma,et al.  Temporal versus Spatial Observability in Model-Based Diagnosis , 2006, 2006 IEEE International Conference on Systems, Man and Cybernetics.

[13]  A.J.C. van Gemund,et al.  On the Accuracy of Spectrum-based Fault Localization , 2007, Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007).

[14]  Peter Zoeteweij,et al.  Techniques for Diagnosing Software Faults , 2008 .

[15]  Raymond Reiter,et al.  Characterizing Diagnoses and Systems , 1992, Artif. Intell..

[16]  Mary Jean Harrold,et al.  Debugging in Parallel , 2007, ISSTA '07.