Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
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
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programmers use slices when debugging
Communications of the ACM
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
The semantic approach to program slicing
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Dynamic slicing in the presence of unconstrained pointers
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Interprocedural Def-Use associations in C programs
TAV4 Proceedings of the symposium on Testing, analysis, and verification
The Task Dependence Net in Ada software development
ACM SIGAda Ada Letters
Simulating reactive systems by deduction
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
Efficient construction of program dependence graphs
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Dynamic impact analysis: a cost-effective technique to enforce error-propagation
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Journal of Symbolic Computation - Special issue on automatic programming
Implicit-specification errors and automatic, trace-based debugging
CSC '93 Proceedings of the 1993 ACM conference on Computer science
Register allocation over the program dependence graph
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Static slicing in the presence of goto statements
ACM Transactions on Programming Languages and Systems (TOPLAS)
Forward computation of dynamic program slices
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
An extensible program representation for object-oriented software
ACM SIGPLAN Notices
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Experimental results from dynamic slicing of C programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hybrid slicing: an approach for refining static slices using dynamic information
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Critical slicing for software fault localization
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Beyond traditional program slicing
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Computation of Dynamic Program Slices for Unstructured Programs
IEEE Transactions on Software Engineering
An overview of debugging tools
ACM SIGSOFT Software Engineering Notes
Extracting Reusable Functions by Flow Graph-Based Program Slicing
IEEE Transactions on Software Engineering
Hybrid slicing: integrating dynamic information with static analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Call-mark slicing: an efficient and economical way of reducing slice
Proceedings of the 21st international conference on 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
Slicing spreadsheets: an integrated methodology for spreadsheet testing and debugging
Proceedings of the 2nd conference on Domain-specific languages
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Simplifying failure-inducing input
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Black-box test reduction using input-output analysis
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Timestamped whole program path representation and its applications
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Fault localization using execution traces
ACM-SE 30 Proceedings of the 30th annual Southeast regional conference
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Post-pass binary adaptation for software-based speculative precomputation
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Instruction-level reverse execution for debugging
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
An efficient method for computing dynamic program slices
Information Processing Letters
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Relational programs: An architecture for robust real-time safety-critical process-control systems
Annals of Software Engineering
Empirical Studies of Control Dependence Graph Size forC Programs
Empirical Software Engineering
Experimental Evaluation of Program Slicing for Fault Localization
Empirical Software Engineering
Isolating cause-effect chains from computer programs
ACM SIGSOFT Software Engineering Notes
An Execution-Backtracking Approach to Debugging
IEEE Software
Interprocedural Def-Use Associations for C Systems with Single Level Pointers
IEEE Transactions on Software Engineering
A compact execution history for dynamic slicing
Information Processing Letters
Building a bridge between pointer aliases and program dependences
Nordic Journal of Computing
Dynamic Slicing of Concurrent Programs
HiPC '00 Proceedings of the 7th International Conference on High Performance Computing
Failure and Fault Analysis for Software Debugging
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Whole program Path-Based dynamic impact analysis
Proceedings of the 25th International Conference on Software Engineering
Precise dynamic slicing algorithms
Proceedings of the 25th International Conference on Software Engineering
Extracting Code Fragment that Implements Functionality
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Slicing Methods Using Static and Dynamic Analysis Information
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Structural Properties of Post-Dominator Trees
ASWEC '97 Proceedings of the Australian Software Engineering Conference
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
The Impact of Software Evolution on Code Coverage Information
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Regression Testing on Object-Oriented Programs
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Software Black Box: An Alternative Mechanism for Failure Analysis
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
Program Execution-Based Module Cohesion Measurement
Proceedings of the 16th IEEE international conference on Automated software engineering
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
RABIT: A New Framework for Runtime Emulation and Binary Translation
ANSS '04 Proceedings of the 37th annual symposium on Simulation
CONSIT: a fully automated conditioned program slicer
Software—Practice & Experience
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
Using Compressed Bytecode Traces for Slicing Java Programs
Proceedings of the 26th International Conference on Software Engineering
A Fast Assembly Level Reverse Execution Method via Dynamic Slicing
Proceedings of the 26th International Conference on Software Engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Compiler orchestrated prefetching via speculation and predication
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
An Edge Marking Technique for Dynamic Slicing of Object-Oriented Programs
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
PSE: explaining program failures via postmortem static analysis
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Locating causes of program failures
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
A serializability violation detector for shared-memory server programs
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Cost and precision tradeoffs of dynamic data slicing algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic generation of suggestions for program investigation
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Automated bug isolation via program chipping
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Experimental evaluation of using dynamic slices for fault location
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Whole execution traces and their applications
ACM Transactions on Architecture and Code Optimization (TACO)
Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
Locating faulty code using failure-inducing chops
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Dynamic path conditions in dependence graphs
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
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
Locating faults through automated predicate switching
Proceedings of the 28th international conference on Software engineering
Analyzing feature implementation by visual exploration of architecturally-embedded call-graphs
Proceedings of the 2006 international workshop on Dynamic systems analysis
Adapting software components by structure fragmentation
Proceedings of the 2006 ACM symposium on Applied computing
Dynamic inference of abstract types
Proceedings of the 2006 international symposium on Software testing and analysis
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)
Optimizing slicing of formal specifications by deductive verification
Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
A formalisation of the relationship between forms of program slicing
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Effects of context on program slicing
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Theoretical foundations of dynamic program slicing
Theoretical Computer Science
Slicing as a program transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed dynamic slicing of Java programs
Journal of Systems and Software
A study of effectiveness of dynamic slicing in locating real faults
Empirical Software Engineering
Precise dynamic slicing using execution-summary
Proceedings of the 2007 ACM symposium on Applied computing
Feature Identification: An Epidemiological Metaphor
IEEE Transactions on Software Engineering
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
Slicing spreadsheets: an integrated methodology for spreadsheet testing and debugging
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
Efficient online detection of dynamic control dependence
Proceedings of the 2007 international symposium on Software testing and analysis
Dytan: a generic dynamic taint analysis framework
Proceedings of the 2007 international symposium on Software testing and analysis
Proceedings of the 2007 international symposium on Software testing and analysis
Optimization of data prefetch helper threads with path-expression based statistical modeling
Proceedings of the 21st annual international conference on Supercomputing
Unified control flow and data dependence traces
ACM Transactions on Architecture and Code Optimization (TACO)
Locating faulty code by multiple points slicing
Software—Practice & Experience
Automated bug isolation via program chipping
Software—Practice & Experience
Empirical study of optimization techniques for massive slicing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tracking bad apples: reporting the origin of null and undefined value errors
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Comprehending implementation recipes of framework-provided concepts through dynamic analysis
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Efficient unit test case minimization
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Tracing lineage beyond relational operators
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Dynamic slicing on Java bytecode traces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dispersing proprietary applications as benchmarks through code mutation
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
View-based maintenance of graphical user interfaces
Proceedings of the 7th international conference on Aspect-oriented software development
jPredictor: a predictive runtime analysis tool for java
Proceedings 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
Countering Persistent Kernel Rootkits through Systematic Hook Discovery
RAID '08 Proceedings of the 11th international symposium on Recent Advances in Intrusion Detection
Javert: fully automatic mining of general temporal properties from dynamic traces
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Formalizing a Framework for Dynamic Slicing of Program Dependence Graphs in Isabelle/HOL
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Algorithms and tool support for dynamic information flow analysis
Information and Software Technology
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Combining preprocessor slicing with C/C++ language slicing
Science of Computer Programming
Semantics-aware trace analysis
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Change impact graphs: Determining the impact of prior codechanges
Information and Software Technology
Measuring the strength of information flows in programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Identifying semantic differences in AspectJ programs
Proceedings of the eighteenth international symposium on Software testing and analysis
Proceedings of the eighteenth international symposium on Software testing and analysis
How Good Are Malware Detectors at Remediating Infected Systems?
DIMVA '09 Proceedings of the 6th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment
Slicing based code parallelization for minimizing inter-processor communication
CASES '09 Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems
3D visualization techniques to support slicing-based program comprehension
Computers and Graphics
Slicing-based test case generation from UML activity diagrams
ACM SIGSOFT Software Engineering Notes
A family of code coverage-based heuristics for effective fault localization
Journal of Systems and Software
Program analysis environment for writing COBOL aspects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Execution suppression: An automated iterative technique for locating memory errors
ACM Transactions on Programming Languages and Systems (TOPLAS)
EZUNIT: a framework for associating failed unit tests with potential programming errors
XP'07 Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming
Finding low-utility data structures
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Speculative parallelization using state separation and multiple value prediction
Proceedings of the 2010 international symposium on Memory management
Learning universal probabilistic models for fault localization
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
An empirical investigation into open source web applications' implementation vulnerabilities
Empirical Software Engineering
Effective and efficient malware detection at the end host
SSYM'09 Proceedings of the 18th conference on USENIX security symposium
Dependence condition graph for semantics-based abstract program slicing
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Automating configuration troubleshooting with dynamic information flow analysis
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
First step towards automatic correction of firewall policy faults
LISA'10 Proceedings of the 24th international conference on Large installation system administration
Proceedings of the 33rd International Conference on Software Engineering
Using impact analysis in industry
Proceedings of the 33rd International Conference on Software Engineering
An algorithm for capturing variables dependences in test suites
Journal of Systems and Software
Fuzzy clustering the backward dynamic slices of programs to identify the origins of failure
SEA'11 Proceedings of the 10th international conference on Experimental algorithms
Mitigating the confounding effects of program dependences for effective fault localization
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Fault localization for data-centric programs
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
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
Abstract dependences for alarm diagnosis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Reducing software architecture models complexity: a slicing and abstraction approach
FORTE'06 Proceedings of the 26th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
A lightweight and portable approach to making concurrent failures reproducible
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
On the computational complexity of dynamic slicing problems for program schemas
Mathematical Structures in Computer Science - Programming Language Interference and Dependence
VEE '12 Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments
Exploiting traces in program analysis
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
A vocabulary of program slicing-based techniques
ACM Computing Surveys (CSUR)
Extracting client-side web application code
Proceedings of the 21st international conference on World Wide Web
Client-side web application slicing
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Localizing SQL faults in database applications
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
DARWIN: An approach to debugging evolving programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Sound and precise analysis of parallel programs through schedule specialization
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Exploiting the structure of the constraint graph for efficient points-to analysis
Proceedings of the 2012 international symposium on Memory Management
System dependence graphs in sequential erlang
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Multi-slicing: a compiler-supported parallel approach to data dependence profiling
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Declarative debugging of wrong and missing answers for SQL views
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
A system for debugging via online tracing and dynamic slicing
Software—Practice & Experience
MoonBox: debugging with online slicing and dryrun
Proceedings of the Asia-Pacific Workshop on Systems
Improving the effectiveness of spectra-based fault localization using specifications
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
White box sampling in uncertain data processing enabled by program analysis
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Finding reusable data structures
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
MoonBox: debugging with online slicing and dryrun
APSys'12 Proceedings of the Third ACM SIGOPS Asia-Pacific conference on Systems
Efficient patch-based auditing for web application vulnerabilities
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Applying enhanced fault localization technology to Monte Carlo simulations
Proceedings of the Winter Simulation Conference
Slicing droids: program slicing for smali code
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Tuning dynamic data flow analysis to support design understanding
Proceedings of the Conference on Design, Automation and Test in Europe
Observable modified Condition/Decision coverage
Proceedings of the 2013 International Conference on Software Engineering
Practical semantic test simplification
Proceedings of the 2013 International Conference on Software Engineering
DUA-forensics: a fine-grained dependence analysis and instrumentation framework based on Soot
Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysis
Cachetor: detecting cacheable data to remove bloat
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
State-based model slicing: A survey
ACM Computing Surveys (CSUR)
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
CSI: crash scene investigation
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Redundant state detection for dynamic symbolic execution
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
Recovering test-to-code traceability using slicing and textual analysis
Journal of Systems and Software
Slice-based statistical fault localization
Journal of Systems and Software
HSFal: Effective fault localization using hybrid spectrum of full slices and execution slices
Journal of Systems and Software
Comparison and evaluation of source code mining tools and techniques: A qualitative approach
Intelligent Data Analysis
Topology analysis of software dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Program slices are useful in debugging, testing, maintenance, and understanding of programs. The conventional notion of a program slice, the static slice, is the set of all statements that might affect the value of a given variable occurrence. In this paper, we investigate the concept of the dynamic slice consisting of all statements that actually affect the value of a variable occurrence for a given program input. The sensitivity of dynamic slicing to particular program inputs makes it more useful in program debugging and testing than static slicing. Several approaches for computing dynamic slices are examined. The notion of a Dynamic Dependence Graph and its use in computing dynamic slices is discussed. The Dynamic Dependence Graph may be unbounded in length; therefore, we introduce the economical concept of a Reduced Dynamic Dependence Graph, which is proportional in size to the number of dynamic slices arising during the program execution.