ACM Home Page
Please provide us with feedback. Feedback
Program transformation by templates based on term rewriting
Full text PdfPdf (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
Yuki Chiba  Tohoku University, Sendai, Japan
Takahito Aoto  Tohoku University, Sendai, Japan
Yoshihito Toyama  Tohoku University, Sendai, Japan
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 34,   Citation Count: 0
Additional Information:

abstract   references   index terms   review   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1069774.1069780
What is a DOI?

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...

Collaborative Colleagues:
Yuki Chiba: colleagues
Takahito Aoto: colleagues
Yoshihito Toyama: colleagues