Optimizing almost-tail-recursive PROLOG programs
Proc. of a conference on Functional programming languages and computer architecture
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Partial evaluation of metaprograms in a “Multiple Worlds" logic language
New Generation Computing - Special Issue: Selected Papers from the Workshop on Partial Evaluation and Mixed
Journal of Logic Programming
A method for specializing logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Semantics preserving transformation rules for Prolog
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Partial evaluation for hierarchies of logic theories
Proceedings of the 1990 North American conference on Logic programming
Unfold/fold transformation of stratified programs
Theoretical Computer Science
A transformation system for deductive database modules with perfect model semantics
Theoretical Computer Science
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Reasoning about termination of pure Prolog programs
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs
PLILP '91 Selected papers of the symposium on Programming language implementation and logic programming
Transformations of CLP modules
Theoretical Computer Science
A transformation system for CLP with dynamic scheduling and CCP
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Model checking
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new solution of Dijkstra's concurrent programming problem
Communications of the ACM
An abstract formalization of correct schemas for program synthesis
Journal of Symbolic Computation - Special Issue on Schemas
Transformations of CCP programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Transforming Normal Programs by Replacement
META-92 Proceedings of the 3rd International Workshop on Meta-Programming in Logic
A Transformation System for Lazy Functional Logic Programs
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
Verification of Parameterized Systems Using Logic Program Transformations
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Transformation of Left Terminating Programs: the Reordering Problem
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
An Argumentation-Theoretic Approach to Logic Program Transformation
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
Perfect Model Checking via Unfold/Fold Transformations
CL '00 Proceedings of the First International Conference on Computational Logic
Preserving Universal Termination through Unfold/Fold
ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming
A powerful strategy for deriving efficient programs by transformation
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
An unfold/fold transformation framework for definite logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Derivation of Efficient Logic Programs by Specialization and Reduction of Nondeterminism
Higher-Order and Symbolic Computation
Logic program specialisation through partial deduction: Control issues
Theory and Practice of Logic Programming
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Automatic correctness proofs for logic program transformations
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Proving properties of constraint logic programs by eliminating existential variables
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
On inductive and coinductive proofs via unfold/fold transformations
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
A 25-year perspective on logic programming
Hi-index | 0.00 |
We present an overview of the program transformation techniques which have been proposed over the past twenty-five years in the context of logic programming. We consider the approach based on rules and strategies. First, we present the transformation rules and we address the issue of their correctness. Then, we present the transformation strategies and, through some examples, we illustrate their use for improving program efficiency via the elimination of unnecessary variables, the reduction of nondeterminism, and the use of program specialization. We also describe the use of the transformation methodology for the synthesis of logic programs from first-order specifications. Finally, we illustrate some transformational techniques for verifying first-order properties of logic programs and their application to model checking for finite and infinite state concurrent systems.