A mechanism for efficient debugging of parallel programs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Information Processing Letters
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Generalized algorithmic debugging and testing
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Debugging with dynamic slicing and backtracking
Software—Practice & Experience
Experimental results from dynamic slicing of C programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Empirical Studies of a Safe Regression Test Selection Technique
IEEE Transactions on Software Engineering
Call-mark slicing: an efficient and economical way of reducing slice
Proceedings of the 21st international conference on Software engineering
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
Automatically characterizing large scale program behavior
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Comparing Program Phase Detection Techniques
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
Using Compressed Bytecode Traces for Slicing Java Programs
Proceedings of the 26th International Conference on Software Engineering
Displaying dependence graphs: a hierarchical approach
Journal of Software Maintenance and Evolution: Research and Practice
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
Empirical Software Engineering
Automated path generation for software fault localization
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
HDD: hierarchical delta debugging
Proceedings of the 28th international conference on Software engineering
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Accurately choosing execution runs for software fault localization
CC'06 Proceedings of the 15th international conference on Compiler Construction
Feature-level phase detection for execution trace using object cache
WODA '08 Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
Proceedings of the eighteenth international symposium on Software testing and analysis
G2: a graph processing system for diagnosing distributed systems
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
Hi-index | 0.00 |
Dynamic slicing is a widely used technique for program analysis, debugging, and comprehension. However, the reported slice is often too large to be inspected by the programmer. In this work, we address this deficiency by hierarchically applying dynamic slicing at various levels of granularity. The basic observation is to divide a program execution trace into "phases", with data/control dependencies inside each phase being suppressed. Only the inter-phase dependencies are presented to the programmer. The programmer then zooms into one of these phases which is further divided into sub-phases and analyzed. We also discuss how our ideas can be used to augment debugging methods other then slicing (such as "fault localization", a recently proposed trace comparison method for software debugging).