Spectrum Enhanced Dynamic Slicing for better Fault Localization

Debugging consumes a considerable amount of time in software engineering, but it is rarely automated. In this paper, we focus on improving existing fault localization techniques. Spectrum-based fault localization (SFL) and slicing-hitting-set-computation (SHSC) are two techniques based on program execution traces. Both techniques come with small computational overhead and aid programmers to faster identify possible locations of faults. However, they have disadvantages: SHSC results in an undesirable high ranking of statements which are executed in many test cases, such as constructors. SFL operates on block level. Therefore, it cannot provide fine-grained results. We combine SHSC with SFL in order to eliminate these disadvantages. Our objective is to improve the ranking of faulty statements so that they allow for better fault localization than when using the previously mentioned methods separately. We show empirically that the resulting approach reduces the number of statements a programmer needs to check manually. In particular, we gain improvements of about 50% percent for SHSC and 25 % for SFL.

[1]  Russell Greiner,et al.  A Correction to the Algorithm in Reiter's Theory of Diagnosis , 1989, Artif. Intell..

[2]  Franz Wotawa,et al.  Fault Localization Based on Dynamic Slicing and Hitting-Set Computation , 2010, 2010 10th International Conference on Quality Software.

[3]  Peter Zoeteweij,et al.  A practical evaluation of spectrum-based fault localization , 2009, J. Syst. Softw..

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

[5]  W. Mayer,et al.  Prioritising Model-Based Debugging Diagnostic Reports , 2008 .

[6]  Rui Abreu,et al.  Zoltar: a spectrum-based fault localization tool , 2009, SINTER '09.

[7]  Rui Abreu,et al.  Diagnosing multiple intermittent failures using maximum likelihood estimation , 2010, Artif. Intell..

[8]  Xiangyu Zhang,et al.  Towards locating execution omission errors , 2007, PLDI '07.

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

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

[11]  Jian Xu,et al.  A Dynamic Fault Localization Technique with Noise Reduction for Java Programs , 2011, 2011 11th International Conference on Quality Software.

[12]  Markus Stumptner,et al.  Evaluating Models for Model-Based Debugging , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[13]  Janusz W. Laski,et al.  Dynamic Program Slicing , 1988, Inf. Process. Lett..

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

[15]  Franz Wotawa,et al.  On the relationship between model-based debugging and program slicing , 2002, Artif. Intell..

[16]  Gregg Rothermel,et al.  Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact , 2005, Empirical Software Engineering.