The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Separating binding times in language specifications
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Semantic foundations of binding-time analysis for imperative programs
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program specialisation and abstract interpretation reconciled
JICSLP'98 Proceedings of the 1998 joint international conference and symposium on Logic programming
Journal of the ACM (JACM)
From checking to inference via driving and dag grammars
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
Static and Dynamic Slicing of Constraint Logic Programs
Automated Software Engineering
Redundant Argument Filtering of Logic Programs
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
A Backward Slicing Algorithm for Prolog
SAS '96 Proceedings of the Third International Symposium on Static Analysis
A Roadmap to Metacomputation by Supercompilation
Selected Papers from the Internaltional Seminar on Partial Evaluation
Program Specialization via Program Slicing
Selected Papers from the Internaltional Seminar on Partial Evaluation
Proceedings of the Third International Conference on Algebraic and Logic Programming
The Universal Resolving Algorithm: Inverse Computation in a Functional Language
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Program slices: formal, psychological, and practical investigations of an automatic program abstraction method
Higher-order narrowing with definitional trees
Journal of Functional Programming
Deriving a lazy abstract machine
Journal of Functional Programming
Dynamic slicing based on redex trails
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Lightweight program specialization via dynamic slicing
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
Dynamic slicing of lazy functional programs based on redex trails
Higher-Order and Symbolic Computation
Forward slicing by conjunctive partial deduction and argument filtering
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Hi-index | 0.00 |
Program slicing has been mainly studied in the context of imperative languages, where it has been applied to many software engineering tasks, like program understanding, maintenance, debugging, testing, code reuse, etc. This paper introduces the first forward slicing technique for multi-paradigm declarative programs. In particular, we show how program slicing can be defined in terms of online partial evaluation. Our approach clarifies the relation between both methodologies and provides a simple way to develop program slicing tools from existing partial evaluators.