| Program transformation by templates based on term rewriting |
| Full text |
Pdf
(185 KB)
|
| Source
|
International Conference on Principles and Practice of Declarative Programming
archive
Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
table of contents
Lisbon, Portugal
Pages: 59 - 69
Year of Publication: 2005
ISBN:1-59593-090-6
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 34, Citation Count: 0
|
|
|
ABSTRACT
Huet and Lang (1978) presented a framework of automated program transformation based on lambda calculus in which programs are transformed according to a given program transformation template. They introduced a second-order matching algorithm of simply-typed lambda calculus to verify whether the input program matches the template. They also showed how to validate the correctness of the program transformation using the denotational semantics.We propose in this paper a framework of program transformation by templates based on term rewriting. In our new framework, programs are given by term rewriting systems. To automate our program transformation, we introduce a term pattern matching problem and present a sound and complete algorithm that solves this problem.We also discuss how to validate the correctness of program transformation in our framework. We introduce a notion of developed templates and a simple method to construct such templates without explicit use of induction. We then show that in any program transformation by developed templates the correctness of the transformation can be verified automatically. In our framework the correctness of the program transformation is discussed based on the operational semantics. This is a sharp contrast to Huet and Lang's framework.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
A. Bouhoula, E. Kounalis, and M. Rusinowitch. Automated mathematical induction. Journal of Logic and Computation, 5(5):631--668, 1995.
|
| |
3
|
H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi. Tree Automata Techniques and Applications. 1997.
|
| |
4
|
|
| |
5
|
O. de Moor and G. Sittampalam. Generic program transformation. In Proceedings of the 3rd International Summer School on Advanced Functional Programming, volume 1608 of LNCS, pages 116--149. Springer-Verlag, 1999.
|
| |
6
|
O. de Moor and G. Sittampalam. Higher-order matching for program transformation. Theoretical Computer Science, 269:135--162, 2001.
|
| |
7
|
J. Giesl, R. Thiemann, P. Schneider-Kamp, and S. Falke. Automated termination proofs with AProVE. In Proceedings of the 15th International Conference on Rewriting Techniques and Applications, volume 3091 of LNCS, pages 210--220. Springer-Verlag, 2004.
|
| |
8
|
K. Hirata, K. Yamada, and M. Harao. Tractable and intractable second-order matching problems. Journal of Symbolic Computation, 37(5):611--628, 2004.
|
| |
9
|
N. Hirokawa and A. Middeldorp. Tsukuba termination tool. In Proceedings of the 14th International Conference on Rewriting Techniques and Applications, volume 2706 of LNCS, pages 311--320. Springer-Verlag, 2003.
|
| |
10
|
G. Huet. A unification algorithm for typed λ-calculus. Theoretical Computer Science, 1:27--57, 1975.
|
| |
11
|
G. Huet and B. Lang. Proving and applying program transformations expressed with second order patterns. Acta Informatica, 11:31--55, 1978.
|
| |
12
|
S. Kamin and J.-J. Lévy. Two generalizations of the recursive path ordering. Unpublished manuscript, University of Illinois, 1980.
|
| |
13
|
|
| |
14
|
G. Sittampalam. Higher-Order Matching for Program Transformation. PhD thesis, Magdalen College, 2001.
|
| |
15
|
Terese. Term Rewriting Systems. Cambridge University Press, 2003.
|
| |
16
|
Y. Toyama. Commutativity of term rewriting systems. In The Second France-Japan Artificial Intelligence and Computer Science Symposium, 1987.
|
| |
17
|
|
| |
18
|
Eelco Visser. A survey of rewriting strategies in program transformation systems. In Workshop on Reduction Strategies in Rewriting and Programming, volume~57 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 2001.
|
| |
19
|
|
REVIEW
"Marlin W Thomas : Reviewer"
The automatic rewriting of programming code to enhance efficiency is fundamental to compiler design, and is an important area in theoretical computer science. The most typical current practice uses templates that comprise input and output schemas
more...
|