Fault Localization Using a Failed Execution Slice

Spectrum-based fault localization (SFL) is amongst the most promising methods. To further improve the effectiveness of traditional SFL methods, a novel approach is proposed in this paper for software fault localization by incorporating a failed execution slice (FES). The proposed method first calculates the suspiciousness scores of statements in the program under test using existing risk evaluation formulas. Since a selective failed execution slice can contribute to reduce the code detection scope in fault localization, a utility evaluation function f is then defined to choose a key FES from all failed execution slices. Finally, all statements contained in the generated key FES are sorted by their suspiciousness scores in descending order and then examined to locate the bug. Experiments on 11 well-known benchmark programs and 12 classic risk evaluation formulas are reported to demonstrate the effectiveness of our proposed method.

[1]  W. Eric Wong,et al.  Software Fault Localization Using DStar (D*) , 2012, 2012 IEEE Sixth International Conference on Software Security and Reliability.

[2]  David Lo,et al.  Theory and Practice, Do They Match? A Case with Spectrum-Based Fault Localization , 2013, 2013 IEEE International Conference on Software Maintenance.

[3]  W. Eric Wong,et al.  A consensus‐based strategy to improve the quality of fault localization , 2013, Softw. Pract. Exp..

[4]  Wes Masri,et al.  An empirical study of the factors that reduce the effectiveness of coverage-based fault localization , 2009, DEFECTS '09.

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

[6]  Fernando C. Lourenço,et al.  Binary-based similarity measures for categorical data and their application in Self- Organizing Maps , 2004 .

[7]  Mark Harman,et al.  No pot of gold at the end of program spectrum rainbow: Greatest risk evaluation formula does not exist , 2014 .

[8]  Baowen Xu,et al.  A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization , 2013, TSEM.

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

[10]  Martin Monperrus,et al.  Test case purification for improving fault localization , 2014, SIGSOFT FSE.

[11]  Lee Naish,et al.  A model for spectra-based software diagnosis , 2011, TSEM.

[12]  Shujuan Jiang,et al.  HSFal: Effective fault localization using hybrid spectrum of full slices and execution slices , 2014, J. Syst. Softw..

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

[14]  Peter B. Wylie,et al.  Effects of Coarse Grouping and Skewed Marginal Distributions on the Pearson Product Moment Correlation Coefficient , 1976 .

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

[16]  Shin Yoo,et al.  Evolving Human Competitive Spectra-Based Fault Localisation Techniques , 2012, SSBSE.

[17]  Eunseok Lee,et al.  Empirical evaluation of existing algorithms of spectrum based fault localization , 2014, The International Conference on Information Networking 2014 (ICOIN2014).

[18]  W. Eric Wong,et al.  The DStar Method for Effective Software Fault Localization , 2014, IEEE Transactions on Reliability.

[19]  Rui Abreu,et al.  A Survey on Software Fault Localization , 2016, IEEE Transactions on Software Engineering.

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

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

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

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

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