Towards More Accurate Fault Localization: An Approach Based on Feature Selection Using Branching Execution Probability

The current fault localization techniques for debugging basically depend on the binary execution information which indicates each program statement being executed or not executed by a particular test case. However, this simple information may lose some essential clues such as the branching execution information for fault localization, and therefore restricts localization effectiveness. To alleviate this problem, this paper proposes a novel fault localization approach denoted as FLBF which incorporates the branching execution information in the manner of feature selection. This approach firstly uses branching execution probability to model the behavior of each statement as a feature, then adopts one of the most widely used feature selection method called Fisher score to calculate the relevance between each statement's feature and the failures, and finally outputs the suspicious statements potentially responsible for the failures. The scenario used to demonstrate the utility of FLBF is composed of two standard benchmarks and three real-life UNIX utility programs. The experimental results show that input with branching execution information can improve the performance of current fault localization techniques and FLBF performs more stably and efficiently than other six typical fault localization techniques.

[1]  Qing Wan,et al.  Epipe: A low-cost fault-tolerance technique considering WCET constraints , 2013, J. Syst. Archit..

[2]  Andreas Zeller,et al.  Locating causes of program failures , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[3]  David Lo,et al.  Will Fault Localization Work for These Failures? An Automated Approach to Predict Effectiveness of Fault Localization Tools , 2013, 2013 IEEE International Conference on Software Maintenance.

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

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

[6]  Shigeo Abe DrEng Pattern Classification , 2001, Springer London.

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

[8]  Marcelo d'Amorim,et al.  Entropy-based test generation for improved fault localization , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[9]  Isabelle Guyon,et al.  An Introduction to Variable and Feature Selection , 2003, J. Mach. Learn. Res..

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

[11]  Ferat Sahin,et al.  A survey on feature selection methods , 2014, Comput. Electr. Eng..

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

[13]  Yuhua Qi,et al.  Using automated program repair for evaluating the effectiveness of fault localization techniques , 2013, ISSTA.

[14]  Josef Kittler,et al.  Floating search methods in feature selection , 1994, Pattern Recognit. Lett..

[15]  James A. Jones,et al.  On the influence of multiple faults on coverage-based fault localization , 2011, ISSTA '11.

[16]  Ron Kohavi,et al.  Feature Selection for Knowledge Discovery and Data Mining , 1998 .

[17]  Jianli Li,et al.  Implementing Low-Cost Fault Tolerance via Hybrid Synchronous/Asynchronous Checks , 2013, J. Circuits Syst. Comput..

[18]  Siau-Cheng Khoo,et al.  Mining succinct predicated bug signatures , 2013, ESEC/FSE 2013.

[19]  Ahn Bayesian Posterior Sampling via Stochastic Gradient Fisher Scoring , 2012 .

[20]  Sarfraz Khurshid,et al.  Injecting mechanical faults to localize developer faults for evolving software , 2013, OOPSLA.

[21]  Ahn Bayesian Posterior Sampling via Stochastic Gradient Fisher Scoring , 2012 .

[22]  Jiawei Han,et al.  Generalized Fisher Score for Feature Selection , 2011, UAI.

[23]  Gregory W. Corder,et al.  Nonparametric Statistics : A Step-by-Step Approach , 2014 .

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

[25]  Mary Jean Harrold,et al.  Debugging in Parallel , 2007, ISSTA '07.

[26]  Alessandro Orso,et al.  Are automated debugging techniques actually helping programmers? , 2011, ISSTA '11.

[27]  David C. Hoaglin,et al.  Some Implementations of the Boxplot , 1989 .

[28]  Andreas Zeller,et al.  Why Programs Fail: A Guide to Systematic Debugging , 2005 .

[29]  Alessandro Orso,et al.  F3: fault localization for field failures , 2013, ISSTA.

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

[31]  Xiaoguang Mao,et al.  Effective Fault Localization Approach Using Feedback , 2012, IEICE Trans. Inf. Syst..

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