A theory of diagnosis from first principles
Artificial Intelligence
Information Processing Letters
A correction to the algorithm in Reiter's theory of diagnosis
Artificial Intelligence
Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Characterizing diagnoses and systems
Artificial Intelligence
Single-pass generation of static single-assignment form for structured languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
An empirical investigation of program spectra
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Programmers use slices when debugging
Communications of the ACM
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
On the relationship between model-based debugging and program slicing
Artificial Intelligence
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Constraint Processing
Efficient Forward Computation of Dynamic Slices Using Reduced Ordered Binary Decision Diagrams
Proceedings of the 26th International Conference on Software Engineering
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Experimental evaluation of using dynamic slices for fault location
Proceedings of the sixth international symposium on Automated analysis-driven debugging
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
Pruning dynamic slices with confidence
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Dynamic slicing long running programs through execution fast forwarding
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
An Evaluation of Similarity Coefficients for Software Fault Localization
PRDC '06 Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing
A study of effectiveness of dynamic slicing in locating real faults
Empirical Software Engineering
Model-Based Debugging -- State of the Art And Future Challenges
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Towards locating execution omission errors
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Diagnosis of Embedded Software Using Program Spectra
ECBS '07 Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems
On the automation of fixing software bugs
Companion of the 30th international conference on Software engineering
Fault localization using value replacement
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Refining spectrum-based fault localization rankings
Proceedings of the 2009 ACM symposium on Applied Computing
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
MINION: A Fast, Scalable, Constraint Solver
Proceedings of the 2006 conference on ECAI 2006: 17th European Conference on Artificial Intelligence August 29 -- September 1, 2006, Riva del Garda, Italy
A practical evaluation of spectrum-based fault localization
Journal of Systems and Software
Automatic program repair with evolutionary computation
Communications of the ACM
Diagnosing multiple intermittent failures using maximum likelihood estimation
Artificial Intelligence
Are automated debugging techniques actually helping programmers?
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Prioritizing tests for fault localization through ambiguity group reduction
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Reducing the Size of Dynamic Slicing with Constraint Solving
QSIC '12 Proceedings of the 2012 12th International Conference on Quality Software
Hi-index | 0.00 |
Although slices provide a good basis for analyzing programs during debugging, they lack in their capabilities providing precise information regarding the most likely root causes of faults. Hence, a lot of work is left to the programmer during fault localization. In this paper, we present an approach that combines an advanced dynamic slicing method with constraint solving in order to reduce the number of delivered fault candidates. The approach is called Constraints Based Slicing (Conbas). The idea behind Conbas is to convert an execution trace of a failing test case into its constraint representation and to check if it is possible to find values for all variables in the execution trace so that there is no contradiction with the test case. For doing so, we make use of the correctness and incorrectness assumptions behind a diagnosis, the given failing test case. Beside the theoretical foundations and the algorithm, we present empirical results and discuss future research. The obtained empirical results indicate an improvement of about 28% for the single fault and 50% for the double-fault case compared to dynamic slicing approaches.