Software Fault Localization

1. INTRODUCTION Regardless of the effort spent on developing a computer program, 1 it may still contain bugs. In fact, the larger, more complex a program, the higher the likelihood of it containing bugs. It is always challenging for programmers to effectively and efficiently remove bugs, while not inadvertently introducing new ones at the same time. Furthermore, to debug, programmers must first be able to identify exactly where the bugs are, which is known as fault localization; and then find a way to fix them, which is known as fault fixing. In this article, we focus only on fault localization.

[1]  Ronald A. Olsson,et al.  Automated bug isolation via program chipping , 2005, AADEBUG'05.

[2]  Andreas Zeller,et al.  Lightweight Defect Localization for Java , 2005, ECOOP.

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

[4]  Bin Wang,et al.  Automated support for classifying software failure reports , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  Dana Angluin,et al.  Two notions of correctness and their relation to testing , 1982, Acta Informatica.

[6]  W. K. Chan,et al.  Coincidental Correctness: Refine Code Coverage with Context Pattern to Improve Fault Localization , 2009, ICSE 2009.

[7]  Andreas Zeller,et al.  Simplifying and Isolating Failure-Inducing Input , 2002, IEEE Trans. Software Eng..

[8]  Michael I. Jordan,et al.  Scalable statistical bug isolation , 2005, PLDI '05.

[9]  Yu Qi,et al.  Bp Neural Network-Based Effective Fault Localization , 2009, Int. J. Softw. Eng. Knowl. Eng..

[10]  Xiangyu Zhang,et al.  Locating faults through automated predicate switching , 2006, ICSE.

[11]  Shriram Krishnamurthi,et al.  Automated Fault Localization Using Potential Invariants , 2003, ArXiv.

[12]  Silvia R. Vergilio,et al.  Exploring machine learning techniques for fault localization , 2009, 2009 10th Latin American Test Workshop.

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

[14]  Tao Wang,et al.  Automated path generation for software fault localization , 2005, ASE '05.

[15]  Chao Liu,et al.  Mining Behavior Graphs for "Backtrace" of Noncrashing Bugs , 2005, SDM.

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

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

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

[19]  Yu Qi,et al.  Smart debugging software architectural design in SDL , 2005, J. Syst. Softw..

[20]  Chao Liu,et al.  Failure proximity: a fault localization-based approach , 2006, SIGSOFT '06/FSE-14.

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

[22]  Eugene H. Spafford,et al.  Debugging with dynamic slicing and backtracking , 1993, Softw. Pract. Exp..

[23]  Xiangyu Zhang,et al.  Locating faulty code using failure-inducing chops , 2005, ASE.

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

[25]  Markus Stumptner,et al.  Model-Based Debugging or How to Diagnose Programs Automatically , 2002, IEA/AIE.

[26]  Xiangyu Zhang,et al.  Experimental evaluation of using dynamic slices for fault location , 2005, AADEBUG'05.

[27]  Gregg Rothermel,et al.  An empirical investigation of the relationship between spectra differences and regression faults , 2000 .

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

[29]  Yan Shi,et al.  Using an RBF Neural Network to Locate Program Bugs , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[30]  H. Cleve,et al.  Locating causes of program failures , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

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

[33]  Shriram Krishnamurthi,et al.  Automated Fault Localization Using Potential Invariants , 2003, ArXiv.

[34]  Olivier Ridoux,et al.  Formal Concept Analysis Enhances Fault Localization in Software , 2008, ICFCA.