Information Processing Letters
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
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
Yesterday, my program worked. Today, it does not. Why?
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
An efficient relevant slicing method for debugging
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Tracking down software bugs using automatic anomaly detection
Proceedings of the 24th International Conference 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
Using redundancies to find errors
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Incremental Regression Testing
ICSM '93 Proceedings of the Conference on Software Maintenance
Precise dynamic slicing algorithms
Proceedings of the 25th International Conference on Software Engineering
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Dynamic Slicing Method for Maintenance of Large C Programs
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Cost effective dynamic program slicing
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Efficient Forward Computation of Dynamic Slices Using Reduced Ordered Binary Decision Diagrams
Proceedings of the 26th International Conference on Software Engineering
AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants
Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging
Proceedings of the 32nd annual international symposium on Computer Architecture
Experimental evaluation of using dynamic slices for fault location
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Pruning dynamic slices with confidence
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Locating faults through automated predicate switching
Proceedings of the 28th international conference on Software engineering
Failure proximity: a fault localization-based approach
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Finding failure-inducing changes in java programs using change classification
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamic slicing long running programs through execution fast forwarding
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Discriminative pattern mining in software fault detection
Proceedings of the 3rd international workshop on Software quality assurance
Identifying Failure Causes in Java Programs: An Application of Change Impact Analysis
IEEE Transactions on Software Engineering
Statistical Debugging: A Hypothesis Testing-Based Approach
IEEE Transactions on Software Engineering
Crisp--A Fault Localization Tool for Java Programs
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Automatic on-line failure diagnosis at the end-user site
HOTDEP'06 Proceedings of the 2nd conference on Hot Topics in System Dependability - Volume 2
Process education and continual process improvement at Western Michigan University (WMU)
FIE '01 Proceedings of the Frontiers in Education Conference, 2001. 31st Annual - Volume 02
Enabling tracing Of long-running multithreaded programs via dynamic execution reduction
Proceedings of the 2007 international symposium on Software testing and analysis
Heuristic ranking of java program edits for fault localization
Proceedings of the 2007 international symposium on Software testing and analysis
Locating faulty code by multiple points slicing
Software—Practice & Experience
Context-aware statistical debugging: from bug predictors to faulty control flow paths
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Efficient unit test case minimization
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
DMTracker: finding bugs in large-scale parallel programs by detecting anomaly in data movements
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
Fault localization using value replacement
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Profile-guided program simplification for effective testing and analysis
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Effective identification of failure-inducing changes: a hybrid approach
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Algorithms for Automatically Computing the Causal Paths of Failures
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Penumbra: automatically identifying failure-relevant inputs using dynamic tainting
Proceedings of the eighteenth international symposium on Software testing and analysis
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
Learning universal probabilistic models for fault localization
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Extracting and answering why and why not questions about Java program output
ACM Transactions on Software Engineering and Methodology (TOSEM)
Simultaneous debugging of software faults
Journal of Systems and Software
Non-parametric statistical fault localization
Journal of Systems and Software
Automatic on-line failure diagnosis at the end-user site
HotDep'06 Proceedings of the Second conference on Hot topics in system dependability
Minimizing reproduction of software failures
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Modifying test suite composition to enable effective predicate-level statistical debugging
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Extended program invariants: applications in testing and fault localization
Proceedings of the 2012 Workshop on Dynamic Analysis
Reducing confounding bias in predicate-level statistical debugging metrics
Proceedings of the 34th International Conference on Software Engineering
A system for debugging via online tracing and dynamic slicing
Software—Practice & Experience
Using likely invariants for automated software fault localization
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Combining slicing and constraint solving for better debugging: the CONBAS approach
Advances in Software Engineering
A test-suite reduction approach to improving fault-localization effectiveness
Computer Languages, Systems and Structures
Mutation-oriented test data augmentation for GUI software fault localization
Information and Software Technology
Slice-based statistical fault localization
Journal of Systems and Software
Hi-index | 0.00 |
Software debugging is the process of locating and correcting faulty code. Prior techniques to locate faulty code either use program analysis techniques such as backward dynamic program slicing or exclusively use delta debugging to analyze the state changes during program execution. In this paper, we present a new approach that integrates the potential of delta debugging algorithm with the benefit of forward and backward dynamic program slicing to narrow down the search for faulty code. Our approach is to use delta debugging algorithm to identify a minimal failure-inducing input, use this input to compute a forward dynamic slice and then intersect the statements in this forward dynamic slice with the statements in the backward dynamic slice of the erroneous output to compute a failure-inducing chop. We implemented our technique and conducted experiments with faulty versions of several programs from the Siemens suite to evaluate our technique. Our experiments show that failure-inducing chops can greatly reduce the size of search space compared to the dynamic slices without significantly compromising the capability to locate the faulty code. We also applied our technique to several programs with known memory related bugs such as buffer overflow bugs. The failure-inducing chop in several of these cases contained only 2 to 4 statements which included the code causing memory corruption.