PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Data flow coverage and the C language
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Debugging with dynamic slicing and backtracking
Software—Practice & Experience
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria
ICSE '94 Proceedings of the 16th international conference on Software engineering
Effect of test set minimization on fault detection effectiveness
Software—Practice & Experience
Programmers use slices when debugging
Communications of the ACM
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Automated support for classifying software failure reports
Proceedings of the 25th International Conference on Software Engineering
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Is mutation an appropriate tool for testing experiments?
Proceedings of the 27th international conference on Software engineering
Smart debugging software architectural design in SDL
Journal of Systems and Software - Special issue: Computer software & applications
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Empirical evaluation of the tarantula automatic fault-localization technique
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
An Integrated Solution for Testing and Analyzing Java Applications in an Industrial Setting
APSEC '05 Proceedings of the 12th Asia-Pacific Software Engineering Conference
Locating faults through automated predicate switching
Proceedings of the 28th international conference on Software engineering
Statistical debugging: simultaneous identification of multiple bugs
ICML '06 Proceedings of the 23rd international conference on Machine learning
Effective program debugging based on execution slices and inter-block data dependency
Journal of Systems and Software - Special issue: Selected papers from the 11th Asia Pacific software engineering conference (APSEC 2004)
Failure proximity: a fault localization-based approach
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Statistical Debugging: A Hypothesis Testing-Based Approach
IEEE Transactions on Software Engineering
Proceedings of the 2007 international symposium on Software testing and analysis
On the Accuracy of Spectrum-based Fault Localization
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
A Crosstab-based Statistical Method for Effective Fault Localization
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Using an RBF Neural Network to Locate Program Bugs
ISSRE '08 Proceedings of the 2008 19th International Symposium on Software Reliability Engineering
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
On the estimation of adequate test set size using fault failure rates
Journal of Systems and Software
Non-parametric statistical fault localization
Journal of Systems and Software
On the equivalence of certain fault localization techniques
Proceedings of the 2011 ACM Symposium on Applied Computing
The use of mutation in testing experiments and its sensitivity to external threats
Proceedings of the 2011 International Symposium on Software Testing and Analysis
A novel framework for locating software faults using latent divergences
ECML PKDD'11 Proceedings of the 2011 European conference on Machine learning and knowledge discovery in databases - Volume Part III
Fault-based test suite prioritization for specification-based testing
Information and Software Technology
Software fault localization using feature selection
Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering
Code-based automated program fixing
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Proximity based weighting of test cases to improve spectrum based fault localization
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Improving spectrum-based fault localization using proximity-based weighting of test cases
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
How well does test case prioritization integrate with statistical fault localization?
Information and Software Technology
Isolating failure causes through test case generation
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Metamorphic slice: An application in spectrum-based fault localization
Information and Software Technology
A general noise-reduction framework for fault localization of Java programs
Information and Software Technology
Information and Software Technology
Spectral debugging: how much better can we do?
ACSC '12 Proceedings of the Thirty-fifth Australasian Computer Science Conference - Volume 122
F3: fault localization for field failures
Proceedings of the 2013 International Symposium on Software Testing and Analysis
A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
HSFal: Effective fault localization using hybrid spectrum of full slices and execution slices
Journal of Systems and Software
Combining mutation and fault localization for automated program debugging
Journal of Systems and Software
Hi-index | 0.00 |
Locating faults in a program can be very time-consuming and arduous, and therefore, there is an increased demand for automated techniques that can assist in the fault localization process. In this paper a code coverage-based method with a family of heuristics is proposed in order to prioritize suspicious code according to its likelihood of containing program bugs. Highly suspicious code (i.e., code that is more likely to contain a bug) should be examined before code that is relatively less suspicious; and in this manner programmers can identify and repair faulty code more efficiently and effectively. We also address two important issues: first, how can each additional failed test case aid in locating program faults; and second, how can each additional successful test case help in locating program faults. We propose that with respect to a piece of code, the contribution of the first failed test case that executes it in computing its likelihood of containing a bug is larger than or equal to that of the second failed test case that executes it, which in turn is larger than or equal to that of the third failed test case that executes it, and so on. This principle is also applied to the contribution provided by successful test cases that execute the piece of code. A tool, @gDebug, was implemented to automate the computation of the suspiciousness of the code and the subsequent prioritization of suspicious code for locating program faults. To validate our method case studies were performed on six sets of programs: Siemens suite, Unix suite, space, grep, gzip, and make. Data collected from the studies are supportive of the above claim and also suggest Heuristics III(a), (b) and (c) of our method can effectively reduce the effort spent on fault localization.