Information-flow and data-flow analysis of while-programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
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)
Detecting conflicts between structure accesses
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The Z notation: a reference manual
The Z notation: a reference manual
The semantics of program dependence
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering
Approximate Reasoning About the Semantic Effects of Program Changes
IEEE Transactions on Software Engineering
A reusable toolset for software dependency analysis
Journal of Systems and Software - Special issue on software maintenance
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Aspect: an economical bug-detector
ICSE '91 Proceedings of the 13th international conference on Software engineering
Interprocedural Def-Use Associations for C Systems with Single Level Pointers
IEEE Transactions on Software Engineering
Semantic Diff: A Tool for Summarizing the Effects of Modifications
ICSM '94 Proceedings of the International Conference on Software Maintenance
The Semantics of Program Slicing and Program Integration
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in 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
Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
Precise interprocedural chopping
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Beyond traditional program slicing
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
The design of whole-program analysis tools
Proceedings of the 18th international conference on Software engineering
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Hybrid slicing: integrating dynamic information with static analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
OPTVIEW: a new approach for examining optimized code
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A representation model for procedural program maintenance
Proceedings of the 1999 ACM symposium on Applied computing
Conceptual module querying for software reengineering
Proceedings of the 20th international conference on Software engineering
Concern graphs: finding and describing concerns using structural program dependencies
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
Isolating cause-effect chains from computer programs
ACM SIGSOFT Software Engineering Notes
A Flexible Framework for Dynamic and Static Slicing of Logic Programs
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
Program Slicing of Hardware Description Languages
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Change impact analysis to support architectural evolution
Journal of Software Maintenance: Research and Practice - Special issue: Separation of concerns for software evolution
Proceedings of the tenth international symposium on Hardware/software codesign
Design and Implementation of a Fine-Grained Software Inspection Tool
IEEE Transactions on Software Engineering
Slicing, Chopping, and Path Conditions with Barriers
Software Quality Control
Displaying dependence graphs: a hierarchical approach
Journal of Software Maintenance and Evolution: Research and Practice
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
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
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
Combined static and dynamic analysis for inferring program dependencies using a pattern language
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
Algorithms and tool support for dynamic information flow analysis
Information and Software Technology
DeFacto: Language-Parametric Fact Extraction from Source Code
Software Language Engineering
Dependence clusters in source code
ACM Transactions on Programming Languages and Systems (TOPLAS)
The dependence condition graph: Precise conditions for dependence between program points
Computer Languages, Systems and Structures
Program transformations for information personalization
Computer Languages, Systems and Structures
EASY meta-programming with Rascal
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Advanced chopping of sequential and concurrent programs
Software Quality Control
Fine slicing: theory and applications for computation extraction
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Quantitative program dependence graphs
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Topology analysis of software dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
A dependence model for reverse engineering should treat procedures in a modular fashion and should be fine-grained, distinguishing dependences that are due to different variables. The program dependence graph (PDG) satisfies neither of these criteria. We present a new form of dependence graph that satisfies both, while retaining the advantages of the PDG: it is easy to construct and allows program slicing to be implemented as a simple graph traversal. We define 'chopping', a generalization of slicing that can express most of its variants, and show that, using our dependence graph, it produces more accurate results than algorithms based directly on the PDG.