Toward Understanding Information Models of Fault Localization: Elaborate is Not Always Better

Fault localization defines information models from raw runtime information as the input, depicting program behaviors for supporting localization algorithms. It is natural that an elaborate information model is desirable and likely to improve the effectiveness of fault localization, because it typically depicts subtle and more program runtime behaviors. In fact, much work on fault localization assumes and exploits this intuition. However, there has been no large-scale study to confirm or refute this folklore. This paper fills this void—indeed, an animated debate on this topic has led to this work. We present a large-scale empirical study for a deeper understanding of the impact of information models on fault localization. Specifically, our study evaluates four representative information models and reveals that an elaborate information model has no strong correlation with localization effectiveness. Furthermore, based on the results, we analyze and suggest the directions of designing information models for fault localization on an extensively studied topic.

[1]  Xiangyu Zhang,et al.  Locating faults using multiple spectra-specific models , 2011, SAC.

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

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

[4]  Lee Naish,et al.  Effective Software Bug Localization Using Spectral Frequency Weighting Function , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[5]  Baowen Xu,et al.  Metamorphic slice: An application in spectrum-based fault localization , 2013, Inf. Softw. Technol..

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

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

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

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

[10]  Peter Zoeteweij,et al.  Automatic software fault localization using generic program invariants , 2008, SAC '08.

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

[12]  T. H. Tse,et al.  Capturing propagation of infected program states , 2009, ESEC/FSE '09.

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

[14]  Jeffrey S. Fenton Memoryless Subsystems , 1974, Comput. J..

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

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

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

[18]  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.

[19]  Tsong Yueh Chen,et al.  Backward-Slice-Based Statistical Fault Localization without Test Oracles , 2013, 2013 13th International Conference on Quality Software.

[20]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[21]  Xiangyu Zhang,et al.  A study of effectiveness of dynamic slicing in locating real faults , 2006, Empirical Software Engineering.

[22]  Bixin Li,et al.  The Impact of Information Richness on Fault Localization , 2016, IEICE Trans. Inf. Syst..

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

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

[25]  Wanzhi Wen,et al.  Software fault localization based on program slicing spectrum , 2012, 2012 34th International Conference on Software Engineering (ICSE).

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

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

[28]  Shinji Kusumoto,et al.  Experimental Evaluation of Program Slicing for Fault Localization , 2002, Empirical Software Engineering.

[29]  Xiaoguang Mao,et al.  Effective Statistical Fault Localization Using Program Slices , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

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

[31]  Shing-Chi Cheung,et al.  Taming coincidental correctness: Coverage refinement with context patterns to improve fault localization , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[32]  Tibor Gyimóthy,et al.  An efficient relevant slicing method for debugging , 1999, ESEC/FSE-7.

[33]  David Leon,et al.  Detecting and debugging insecure information flows , 2004, 15th International Symposium on Software Reliability Engineering.

[34]  Raúl A. Santelices,et al.  Lightweight fault-localization using multiple coverage types , 2009, 2009 IEEE 31st International Conference on Software Engineering.

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

[36]  Jie Tian,et al.  Automating Software FMEA via Formal Analysis of Dependence Relations , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[37]  Mark Harman,et al.  Provably Optimal and Human-Competitive Results in SBSE for Spectrum Based Fault Localisation , 2013, SSBSE.

[38]  Kai-Yuan Cai,et al.  Effective Fault Localization using Code Coverage , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).