FTFL: A Fisher's test-based approach for fault localization

For effective fault localization, we propose a modified Fisher’s test-based statistical method that makes use of test execution results as well as statement coverage information to determine the suspiciousness of each executable statement. Our technique returns a rank list of statements based on their suspiciousness of containing a fault. We also discuss an extension to our proposed approach for localizing programs with multiple faults. This involves partitioning the failed test cases into clusters such that they target different faults. Our experimental studies show that on an average, our proposed fault localization technique requires examination of 37.09% less code than existing techniques for localizing faults.

[1]  Olivier Ridoux,et al.  Multiple Fault Localization with Data Mining , 2011, SEKE.

[2]  Dianxiang Xu,et al.  Towards Better Fault Localization: A Crosstab-Based Statistical Approach , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[3]  Pabitra Mitra,et al.  Effective Fault Localization using an Ensemble Classifier , 2019, 2019 International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering (QR2MSE).

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

[5]  Zuohua Ding,et al.  Fault localization based on statement frequency , 2016, Inf. Sci..

[6]  Peter Zoeteweij,et al.  Localizing Software Faults Simultaneously , 2009, 2009 Ninth International Conference on Quality Software.

[7]  Jing Wang,et al.  Fault Localization Analysis Based on Deep Neural Network , 2016 .

[8]  Ruizhi Gao,et al.  MSeer—An Advanced Technique for Locating Multiple Bugs in Parallel , 2019, IEEE Transactions on Software Engineering.

[9]  Xiaoguang Mao,et al.  Deep Learning-Based Fault Localization with Contextual Information , 2017, IEICE Trans. Inf. Syst..

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

[11]  Xiaofeng Xu,et al.  A Grouping-Based Strategy to Improve the Effectiveness of Fault Localization Techniques , 2010, 2010 10th International Conference on Quality Software.

[12]  Philip D. Wasserman,et al.  Advanced methods in neural computing , 1993, VNR computer library.

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

[14]  W. Knight A Computer Method for Calculating Kendall's Tau with Ungrouped Data , 1966 .

[15]  Hae-Sang Park,et al.  A simple and fast algorithm for K-medoids clustering , 2009, Expert Syst. Appl..

[16]  Chao Liu,et al.  Effective Fault Localization Using Weighted Test Cases , 2014, J. Softw..

[17]  Rui Abreu,et al.  Multiple fault localization of software programs: A systematic literature review , 2020, Inf. Softw. Technol..

[18]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[19]  Joseph Robert Horgan,et al.  Fault localization using execution slices and dataflow tests , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

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

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

[22]  Arpita Dutta,et al.  Hierarchically Localizing Software Faults Using DNN , 2020, IEEE Transactions on Reliability.

[23]  Bhavani M. Thuraisingham,et al.  Effective Software Fault Localization Using an RBF Neural Network , 2012, IEEE Transactions on Reliability.

[24]  Rajiv Gupta,et al.  Hybrid slicing: an approach for refining static slices using dynamic information , 1995, SIGSOFT FSE.

[25]  Pabitra Mitra,et al.  Predicate Proximity in Failure: An MLP based Fault Localization approach , 2019, TENCON 2019 - 2019 IEEE Region 10 Conference (TENCON).

[26]  Rahul Jain,et al.  Fault Localization Using a Weighted Function Dependency Graph , 2019, 2019 International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering (QR2MSE).

[27]  Joseph Robert Horgan,et al.  Dynamic program slicing , 1990, PLDI '90.

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

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

[30]  Shin Yoo,et al.  Ask the Mutants: Mutating Faulty Programs for Fault Localization , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[31]  Yves Le Traon,et al.  Metallaxis‐FL: mutation‐based fault localization , 2015, Softw. Test. Verification Reliab..

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

[33]  John Bibby,et al.  The Analysis of Contingency Tables , 1978 .

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

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

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

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

[38]  Wei Li,et al.  DeepFL: integrating multiple fault diagnosis dimensions for deep fault localization , 2019, ISSTA.

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

[40]  Bogdan Korel,et al.  PELAS - Program Error-Locating Assistant System , 1988, IEEE Trans. Software Eng..

[41]  Jens Krinke,et al.  Slicing, Chopping, and Path Conditions with Barriers , 2004, Software Quality Journal.

[42]  Janusz W. Laski,et al.  Dynamic Program Slicing , 1988, Inf. Process. Lett..

[43]  Koushik Sen,et al.  Heuristics for Scalable Dynamic Test Generation , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[44]  Durga Prasad Mohapatra,et al.  Software fault localization using BP neural network based on function and branch coverage , 2019, Evol. Intell..

[45]  Chap T. Le,et al.  Applied Categorical Data Analysis , 1998 .

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

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