Expertise in debugging computer programs: an analysis of the content of verbal protocols
IEEE Transactions on Systems, Man and Cybernetics
PELAS-Program Error-Locating Assistant System
IEEE Transactions on Software Engineering
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
An Execution-Backtracking Approach to Debugging
IEEE Software
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
An extended fault class hierarchy for specification-based testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
SOBER: statistical model-based bug localization
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Lightweight bug localization with AMPLE
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Empirical Software Engineering
Locating faulty code using failure-inducing chops
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Empirical evaluation of the tarantula automatic fault-localization technique
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Improving test suites for efficient fault localization
Proceedings of the 28th international conference on Software engineering
Locating faults through automated predicate switching
Proceedings of the 28th international conference on Software engineering
Towards Interactive Fault Localization Using Test Information
APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
Statistical Debugging: A Hypothesis Testing-Based Approach
IEEE Transactions on Software Engineering
Emulation of Software Faults: A Field Data Study and a Practical Approach
IEEE Transactions on Software Engineering
Statistical debugging using compound boolean predicates
Proceedings of the 2007 international symposium on Software testing and analysis
Proceedings of the 2007 international symposium on Software testing and analysis
Effective Fault Localization using Code Coverage
COMPSAC '07 Proceedings of the 31st Annual International Computer Software and Applications Conference - Volume 01
On the Accuracy of Spectrum-based Fault Localization
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
An upper bound on software testing effectiveness
ACM Transactions on Software Engineering and Methodology (TOSEM)
An empirical study of the effects of test-suite reduction on fault localization
Proceedings of the 30th international conference on Software engineering
A Crosstab-based Statistical Method for Effective Fault Localization
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Fault Localization with Non-parametric Program Behavior Model
QSIC '08 Proceedings of the 2008 The Eighth International Conference on Quality Software
Debugging through Evaluation Sequences: A Controlled Experimental Study
COMPSAC '08 Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference
HOLMES: Effective statistical debugging via efficient path profiling
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Capturing propagation of infected program states
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Is non-parametric hypothesis testing model robust for statistical fault localization?
Information and Software Technology
A practical evaluation of spectrum-based fault localization
Journal of Systems and Software
How Well Do Test Case Prioritization Techniques Support Statistical Fault Localization
COMPSAC '09 Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 01
Test input reduction for result inspection to facilitate fault localization
Automated Software Engineering
Fault localization through evaluation sequences
Journal of Systems and Software
A family of code coverage-based heuristics for effective fault localization
Journal of Systems and Software
Insights on Fault Interference for Programs with Multiple Bugs
ISSRE '09 Proceedings of the 2009 20th International Symposium on Software Reliability Engineering
Fault localization based on information flow coverage
Software Testing, Verification & Reliability
A model for spectra-based software diagnosis
ACM Transactions on Software Engineering and Methodology (TOSEM)
IEEE Transactions on Software Engineering
How well does test case prioritization integrate with statistical fault localization?
Information and Software Technology
A general noise-reduction framework for fault localization of Java programs
Information and Software Technology
Proceedings of the 2013 International Symposium on Software Testing and Analysis
BPELDebugger: An effective BPEL-specific fault localization framework
Information and Software Technology
Hi-index | 0.00 |
Abstract: Fault localization is a major activity in program debugging. To automate this time-consuming task, many existing fault-localization techniques compare passed executions and failed executions, and suggest suspicious program elements, such as predicates or statements, to facilitate the identification of faults. To do that, these techniques propose statistical models and use hypothesis testing methods to test the similarity or dissimilarity of proposed program features between passed and failed executions. Furthermore, when applying their models, these techniques presume that the feature spectra come from populations with specific distributions. The accuracy of using a model to describe feature spectra is related to and may be affected by the underlying distribution of the feature spectra, and the use of a (sound) model on inapplicable circumstances to describe real-life feature spectra may lower the effectiveness of these fault-localization techniques. In this paper, we make use of hypothesis testing methods as the core concept in developing a predicate-based fault-localization framework. We report a controlled experiment to compare, within our framework, the efficacy, scalability, and efficiency of applying three categories of hypothesis testing methods, namely, standard non-parametric hypothesis testing methods, standard parametric hypothesis testing methods, and debugging-specific parametric testing methods. We also conduct a case study to compare the effectiveness of the winner of these three categories with the effectiveness of 33 existing statement-level fault-localization techniques. The experimental results show that the use of non-parametric hypothesis testing methods in our proposed predicate-based fault-localization model is the most promising.