Improving failure-inducing changes identification using coverage analysis

Delta debugging has been proposed for failure-inducing changes identification. Despite promising results, there are two practical factors that thwart the application of delta debugging: large number of tests and misleading false positives. To address the issues, we present a combination of coverage analysis and delta debugging that automatically isolates failure-inducing changes. Evaluations on twelve real regressions in GNU software demonstrate both the speed gain and effectiveness improvements.

[1]  Sarfraz Khurshid,et al.  Localizing failure-inducing program edits based on spectrum information , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[2]  Jianjun Zhao,et al.  Effective identification of failure-inducing changes: a hybrid approach , 2008, PASTE '08.

[3]  Frank Tip,et al.  Directed test generation for effective fault localization , 2010, ISSTA '10.

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

[5]  Zhendong Su,et al.  HDD: hierarchical delta debugging , 2006, ICSE.

[6]  Gregg Rothermel,et al.  Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact , 2005, Empirical Software Engineering.

[7]  Lin Meng,et al.  Advances in Automatic Fault Localization Techniques , 2011 .

[8]  Xiangyu Zhang,et al.  Cost and precision tradeoffs of dynamic data slicing algorithms , 2005, TOPL.

[9]  Zhenkai Liang,et al.  Darwin: an approach for debugging evolving programs , 2009, ESEC/FSE '09.

[10]  Valentin Dallmeier,et al.  Automatic Extraction of Bug Localization Benchmarks from History , 2007 .

[11]  Patrick Th. Eugster,et al.  Semantics-aware trace analysis , 2009, PLDI '09.

[12]  Zhenkai Liang,et al.  Golden implementation driven software debugging , 2010, FSE '10.

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

[14]  ZhangYoutao,et al.  Cost and precision tradeoffs of dynamic data slicing algorithms , 2005 .

[15]  Chao Liu,et al.  How Bayesians Debug , 2006, Sixth International Conference on Data Mining (ICDM'06).

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

[17]  Kai Yu,et al.  Advances in Automatic Fault Localization Techniques: Advances in Automatic Fault Localization Techniques , 2011 .

[18]  Thomas Zimmermann,et al.  Extraction of bug localization benchmarks from history , 2007, ASE.

[19]  Trishul M. Chilimbi,et al.  HOLMES: Effective statistical debugging via efficient path profiling , 2009, 2009 IEEE 31st International Conference on Software Engineering.

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

[21]  Andreas Zeller,et al.  Yesterday, my program worked. Today, it does not. Why? , 1999, ESEC/FSE-7.

[22]  Jeffrey M. Voas,et al.  PIE: A Dynamic Failure-Based Technique , 1992, IEEE Trans. Software Eng..

[23]  Xiangyu Zhang,et al.  Towards automated debugging in software evolution: Evaluating delta debugging on real regression bugs from the developers' perspectives , 2012, J. Syst. Softw..