Algebraic specification
Preservation of stronger equivalence in unfold/fold logic program transformation
Theoretical Computer Science - Special issue on the international conference on fifth generation computer systems. Tokyo, 1988
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
A transformation system for deductive database modules with perfect model semantics
Theoretical Computer Science
Towards an automated tupling strategy
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Handbook of logic in computer science (vol. 2)
Total correctness by local improvement in the transformation of functional programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Rules and strategies for transforming functional and logic programs
ACM Computing Surveys (CSUR)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Specification and proof in membership equational logic
Theoretical Computer Science - Trees in algebra and programming
Toward automatic program synthesis
Communications of the ACM
Program improvement by internal specialization
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Functional Programming and Its Applications: An Advanced Course
Functional Programming and Its Applications: An Advanced Course
Rewriting logic: roadmap and bibliography
Theoretical Computer Science - Rewriting logic and its applications
ELAN from a rewriting logic point of view
Theoretical Computer Science - Rewriting logic and its applications
Rewriting: An Effective Model of Concurrency
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
Some transformations for developing recursive programs
Proceedings of the international conference on Reliable software
Denotational proof languages
Rules + strategies for transforming lazy functional logic programs
Theoretical Computer Science
Program transformation by templates based on term rewriting
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Higher-Order and Symbolic Computation
Code-carrying theory
Proceedings of the 2008 ACM symposium on Applied computing
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
A sufficient completeness checker for linear order-sorted specifications modulo axioms
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Transformation and debugging of functional logic programs
A 25-year perspective on logic programming
Backward trace slicing for rewriting logic theories
CADE'11 Proceedings of the 23rd international conference on Automated deduction
Hi-index | 0.00 |
Many transformation systems for program optimization, program synthesis, and program specialization are based on fold/unfold transformations. In this paper, we present a fold/unfold-based transformation framework for rewriting logic theories which is based on narrowing. For the best of our knowledge, this is the first fold/unfold transformation framework which allows one to deal with functions, rules, equations, sorts, and algebraic laws (such as commutativity and associativity). We provide correctness results for the transformation system w.r.t. the semantics of ground reducts. Moreover, we show how our transformation technique can be naturally applied to implement a Code Carrying Theory (CCT) system. CCT is an approach for securing delivery of code from a producer to a consumer where only a certificate (usually in the form of assertions and proofs) is transmitted from the producer to the consumer who can check its validity and then extract executable code from it. Within our framework, the certificate consists of a sequence of transformation steps which can be applied to a given consumer specification in order to automatically synthesize safe code in agreement with the original requirements. We also provide an implementation of the program transformation framework in the high-performance, rewriting logic language Maude which, by means of an experimental evaluation of the system, highlights the potentiality of our approach.