On the equivalence of certain fault localization techniques

Software fault localization is an expensive component of program debugging, and thus, many different types of fault localization techniques have been proposed over the recent years. Such techniques aim to rank program components (such as statements, blocks, functions, etc.) in decreasing order of their likelihood of being faulty, such that programmers may then examine the ranking starting from the top, until a fault is found. However, comparisons between fault localization techniques (to see which one is more effective) have generally been based on case studies and empirical data. In this paper we propose an equivalence relation by virtue of which two or more fault localization techniques may be considered equivalent if they produce identical rankings of program components, and are therefore, equally as effective. We then make use of the proposed equivalence relation to prove that several similarity coefficient-based fault localization techniques are in fact equivalent to one another. Furthermore, no case studies and/or data were required for any of the proofs of equivalency provided in this paper.

[1]  Chao Liu,et al.  Statistical Debugging: A Hypothesis Testing-Based Approach , 2006, IEEE Transactions on Software Engineering.

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

[3]  G. Dunn,et al.  An Introduction to Mathematical Taxonomy , 1983 .

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

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

[6]  J A Carriço,et al.  Assessment of Band-Based Similarity Coefficients for Automatic Type and Subtype Classification of Microbial Isolates Analyzed by Pulsed-Field Gel Electrophoresis , 2005, Journal of Clinical Microbiology.

[7]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[8]  Lei Zhao,et al.  A Crosstab-based Statistical Method for Effective Fault Localization , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[9]  W. Eric Wong,et al.  Software Fault Localization , 2010, Encyclopedia of Software Engineering.

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

[11]  Byoungju Choi,et al.  A family of code coverage-based heuristics for effective fault localization , 2010, J. Syst. Softw..

[12]  Iris Vessey,et al.  Expertise in Debugging Computer Programs , 1984 .

[13]  Lionel C. Briand,et al.  Using Machine Learning to Support Debugging with Tarantula , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[14]  P Willett,et al.  Similarity-based approaches to virtual screening. , 2003, Biochemical Society transactions.