The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe
4th Annual Symposium on Theoretical Aspects of Computer Sciences on STACS 87
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The semantics of program dependence
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
On laziness and optimality in lambda interpreters: tools for specification and analysis
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
IEEE Transactions on Software Engineering
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dynamic slicing of computer programs
Journal of Systems and Software
The semantic approach to program slicing
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Techniques for debugging parallel programs with flowback analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
A meta-environment for generating programming environments
ACM Transactions on Software Engineering and Methodology (TOSEM)
Handbook of logic in computer science (vol. 2)
Three approaches to interprocedural dynamic slicing
EUROMICRO 93 Nineteenth EUROMICRO symposium on microprocessing and microprogramming on Open system design : hardware, software and applications: hardware, software and applications
Automated support for legacy code understanding
Communications of the ACM
Software debugging with dynamic instrumentation and test-based knowledge
Software debugging with dynamic instrumentation and test-based knowledge
Dynamic Dependence in Term rewriting Systems and its Application to Program Slicing
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Generic techniques for source-level debugging and dynamic program slicing
Generic techniques for source-level debugging and dynamic program slicing
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
Extending high performance Fortran for the support of unstructured computations
ICS '95 Proceedings of the 9th international conference on Supercomputing
Slicing class hierarchies in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Hybrid slicing: integrating dynamic information with static analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Toward a complete transformational toolkit for compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Call-mark slicing: an efficient and economical way of reducing slice
Proceedings of the 21st international conference on Software engineering
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Graph rewrite systems for program optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
A slicing-based approach for locating type errors
ACM Transactions on Software Engineering and Methodology (TOSEM)
Evolving legacy system features into fine-grained components
Proceedings of the 24th International Conference on Software Engineering
Specifying and Automatically Generating a Specialization Tool for Fortran 90
Automated Software Engineering
Evolving legacy systems features using regression test cases and components
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Equivalence of conservative, free, linear program schemas is decidable
Theoretical Computer Science
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
Syntax-Directed Amorphous Slicing
Automated Software Engineering
CONSIT: a fully automated conditioned program slicer
Software—Practice & Experience
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
The Efficiency of Critical Slicing in Fault Localization
Software Quality Control
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)
ConSUS: a light-weight program conditioner
Journal of Systems and Software - Special issue: Software reverse engineering
Efficient path conditions in dependence graphs for software safety analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
A slicing-based approach for locating type errors
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Program slicing under UML scenario models
ACM SIGPLAN Notices
Scenario oriented program slicing
Proceedings of the 2008 ACM symposium on Applied computing
Static path conditions for Java
Proceedings of the third ACM SIGPLAN workshop on Programming languages and analysis for security
Customization change impact analysis for erp professionals via program slicing
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Abstract program slicing: from theory towards an implementation
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Identifying services from legacy batch applications
Proceedings of the 5th India Software Engineering Conference
Forward slicing by conjunctive partial deduction and argument filtering
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
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)
A case study of a slicing-based approach for locating type errors
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
System dependence graphs in sequential erlang
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Path-Sensitive backward slicing
SAS'12 Proceedings of the 19th international conference on Static Analysis
State-based model slicing: A survey
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Program slicing is a technique for isolating computational threads in programs. In this paper, we show how to mechanically extract a family of practical algorithms for computing slices directly from semantic specifications. These algorithms are based on combining the notion of dynamic dependence tracking in term rewriting systems with a program representation whose behavior is defined via an equational logic. Our approach is distinguished by the fact that changes to the behavior of the slicing algorithm can be accomplished through simple changes in rewriting rules that define the semantics of the program representation. Thus, e.g., different notions of dependence may be specified, properties of language-specific datatypes can be exploited, and various time, space, and precision tradeoffs may be made. This flexibility enables us to generalize the traditional notions of static and dynamic slices to that of a constrained slice, where any subset of the inputs of a program may be supplied.