Abstract
Transformational programming is a method for program development. To formalize the transformational programming techniques, the key point is to formally represent transformation rules and to prove the correctness of these rules. In this paper, we describe a constructive type-theoretical approach for formalizing the concepts of program schema, transformation rules and strategies, and software development processes. Some examples for verification and derivation of semantically correct program transformation rules are presented.
- [Barz 77] Barzdin, J.M.: "Inductive Inference of Automata, Functions and Programs", Amer. Math. Soc. Translations, Vol. 109, No. 2, 1977.Google Scholar
- [Blum 75] Blum, L. and Blum, M.: "Toward a Mathematical Theory of Inductive Inference", Information Control, Vol. 28, 1975.Google ScholarCross Ref
- [BierBP 75] Biermann, A.W., Baum, R.I. and Petry, F.E.: "Speeding up the Synthesis of Programs from Traces", IEEE Transactions on Computers, Vol. C-24, No. 2, 1975.Google Scholar
- [BierK 76] Biermann, A.W. and Krishnaswamy, R.: "Constructing Programs from Example Computations", IEEE Transactions on Software Engineering, Vol. SE-2, 1976.Google ScholarDigital Library
- [Gold 67] Gold, M.: "Languge Identification in the Limit", Information Control, Vol. 5, 1967.Google Scholar
- [Zhu 89] Zhu, M.-Y.: "AUTOSTAR - A Software Development System", ACM SIGPLAN Notices, Vol. 24, No. 3, March, 1989. Google ScholarDigital Library
- [ZhuW 91] Zhu, M.-Y. and Wang, C.-W.: "A Higher-Order Lambda Calculus: PowerEpsilon", Technical Report, Beijing Institute of Systems Engineering, Beijing, 1991.Google Scholar
- [ZhuW 92] Zhu, M.-Y. and Wang, C.-W.: "Program Derivation in PowerEpsilon", Proceedings of COMPSAC'92, Chicago, September, 1992.Google ScholarCross Ref
Index Terms
- Program transformation in constructive type theory
Recommendations
Type-changing rewriting and semantics-preserving transformation
PEPM '14: Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program ManipulationWe have identified a class of regular, whole-program transformations that cannot be safely performed with typical transformation techniques because transformation requires changing the types of terms. In these transformations, we want to change ...
Type-safe two-level data transformation
FM'06: Proceedings of the 14th international conference on Formal MethodsA two-level data transformation consists of a type-level transformation of a data format coupled with value-level transformations of data instances corresponding to that format. Examples of two-level data transformations include XML schema evolution ...
Point-free Program Transformation
Program Transformation: Theoretical Foundations and Basic Techniques. Part 1Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the ...
Comments