A Fault Localization Method Based on Dynamic Failed Execution Blocks

Software fault localization is the most tedious and time-consuming activity in program debugging. Spectrum-based software fault localization (SFL) is a typical light-weight automated diagnosis technique for boosting fault localization. In the previous work, the researchers has found that although there is no optimal formula, the accuracy of a specific SFL-based method may be affected by the used program spectra at different granularity levels, e.g., statements, methods, basic blocks. In this paper, therefore, we further explore the correlation between the spectra granularity and the fault localization accuracy, and then the dynamic failed execution block (DFEB), a novel granularity for program spectra, is introduced to improve the diagnostic accuracy of a specific SFL technique. Consequently, a new method for fault localization by using DFEBs is proposed. Finally, to validate the effectiveness of our proposed method, an experimental study on 8 classic SFL techniques and 11 well-known benchmark programs including Siemens suite, space, gzip, grep, and sed, is conducted in detail. Experimental results show that the new approach is more effective in most cases, in comparison with these subject SFL methods.

[1]  David Lo,et al.  Extended comprehensive study of association measures for fault localization , 2014, J. Softw. Evol. Process..

[2]  Zhenyu Zhang,et al.  Accuracy Graphs of Spectrum-Based Fault Localization Formulas , 2017, IEEE Transactions on Reliability.

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

[4]  Rui Abreu,et al.  Zoltar: A Toolset for Automatic Fault Localization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[5]  Bixin Li,et al.  Program slicing spectrum-based software fault localization , 2011, SEKE.

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

[7]  Sarfraz Khurshid,et al.  An Empirical Study of Boosting Spectrum-Based Fault Localization via PageRank , 2021, IEEE Transactions on Software Engineering.

[8]  Frank Tip,et al.  Finding Bugs in Web Applications Using Dynamic Test Generation and Explicit-State Model Checking , 2010, IEEE Transactions on Software Engineering.

[9]  Xiangyu Zhang,et al.  Locating faulty code by multiple points slicing , 2007, Softw. Pract. Exp..

[10]  Yves Le Traon,et al.  Improving test suites for efficient fault localization , 2006, ICSE.

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

[12]  Lars Grunske,et al.  An evaluation of pure spectrum‐based fault localization techniques for large‐scale software systems , 2019, Softw. Pract. Exp..

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

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

[15]  John Stasko,et al.  Visualization for Fault Localization , 2003 .

[16]  Andreas Zeller,et al.  Lightweight bug localization with AMPLE , 2005, AADEBUG'05.

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

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

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

[20]  C. Tappert,et al.  A Survey of Binary Similarity and Distance Measures , 2010 .

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

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