Program slicing spectrum-based software fault localization

Spectrum-based fault localization technique mainly utilizes testing coverage information to calculate the suspiciousness of each program element to find the faulty element. However, this technique does not fully take consideration of dependences between program elements , thus its capacity for efficient fault localization is limited. This paper combines program slicing with program spectrum technique, and proposes a program slicing spectrumbased software fault localization (PSS-SFL) technique. Firstly, PSS-SFL analyzes dependences between program elements, and deletes some elements unrelated to the failed test outputs; then it builds the program slicing spectrum model and defines a novel suspiciousness metric for each slice element; finally, the faulty element is located according to the suspiciousness metric results. Experimental results show that PSS-SFL can be effective and more precise to locate the fault than program spectrum-based Tarantula technique. Keywords-Fault localization, program slicing spectrum, program slicing, program spectrum

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

[2]  Mark Weiser,et al.  Programmers use slices when debugging , 1982, CACM.

[3]  Joseph Robert Horgan,et al.  Dynamic program slicing , 1990, PLDI '90.

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

[5]  Scott N. Woodfield,et al.  Evaluating the effectiveness of reliability-assurance techniques , 1989, J. Syst. Softw..

[6]  Eugene H. Spafford,et al.  Critical slicing for software fault localization , 1996, ISSTA '96.

[7]  Joseph Robert Horgan,et al.  Fault localization using execution slices and dataflow tests , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

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

[9]  Lu Zhang,et al.  On similarity-awareness in testing-based fault localization , 2008, Automated Software Engineering.

[10]  Standard Glossary of Software Engineering Terminology , 1990 .

[11]  Yu Qi,et al.  Effective program debugging based on execution slices and inter-block data dependency , 2006, J. Syst. Softw..

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

[13]  T. Y. Chen,et al.  Dynamic program dicing , 1993, 1993 Conference on Software Maintenance.

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

[15]  Peter Zoeteweij,et al.  Automatic software fault localization using generic program invariants , 2008, SAC '08.

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

[17]  Kai-Yuan Cai,et al.  Effective Fault Localization using Code Coverage , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[18]  Rui Abreu,et al.  Exploiting count spectra for Bayesian fault localization , 2010, PROMISE '10.

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

[20]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[21]  Tao Xie,et al.  Test input reduction for result inspection to facilitate fault localization , 2010, Automated Software Engineering.

[22]  Mary Jean Harrold,et al.  An empirical study of the effects of test-suite reduction on fault localization , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[23]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.