Software fault diagnosis

This tutorial paper gives an overview of automated diagnosis applied to software faults. The emphasis is on a particular technique called spectrum-based fault localization, which is well-suited for diagnosing software systems, and which can easily be integrated with existing testing schemes. We discuss applications of the technique, including the specific application domain of embedded software, and provide pointers to recent research on factors that influence its diagnostic accuracy. In addition, we give instructions for quickly getting started with applying spectrum-based fault localization to existing projects.

[1]  Xiangyu Zhang,et al.  Locating faulty code using failure-inducing chops , 2005, ASE.

[2]  A. Zeller Isolating cause-effect chains from computer programs , 2002, SIGSOFT '02/FSE-10.

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

[4]  Gregg Rothermel,et al.  An empirical investigation of program spectra , 1998, PASTE '98.

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

[6]  Noah Treuhaft,et al.  Recovery Oriented Computing (ROC): Motivation, Definition, Techniques, and Case Studies , 2002 .

[7]  Mary Jean Harrold,et al.  Empirical evaluation of the tarantula automatic fault-localization technique , 2005, ASE.

[8]  Peter Zoeteweij,et al.  An Evaluation of Similarity Coefficients for Software Fault Localization , 2006, 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06).

[9]  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.

[10]  A. S. Meyer,et al.  Comparison of similarity coefficients used for cluster analysis with dominant markers in maize (Zea mays L) , 2004 .

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

[12]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[13]  Eugene H. Spafford,et al.  Debugging with dynamic slicing and backtracking , 1993, Softw. Pract. Exp..

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

[15]  James R. Larus,et al.  The use of program profiling for software maintenance with applications to the year 2000 problem , 1997, ESEC '97/FSE-5.

[16]  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).

[17]  Andreas Zeller,et al.  Lightweight Defect Localization for Java , 2005, ECOOP.

[18]  Eric A. Brewer,et al.  Pinpoint: problem determination in large, dynamic Internet services , 2002, Proceedings International Conference on Dependable Systems and Networks.

[19]  Anil K. Jain,et al.  Algorithms for Clustering Data , 1988 .