Program transformations in a denotational setting
- 1 July 1985
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 7 (3) , 359-379
- https://doi.org/10.1145/3916.3917
Abstract
Program transformations are frequently performed by optimizing compilers, and the correctness of applying them usually depends on data flow information. For language-to-same-language transformations, it is shown how a denotational setting can be useful for validating such program transformations. Strong equivalence is obtained for transformations that exploit information from a class of forward data flow analyses, whereas only weak equivalence is obtained for transformations that exploit information from a class of backward data flow analyses. To obtain strong equivalence, both the original and the transformed program must be data flow analysed, but consideration of a transformation-exploiting liveness of variables indicates that a more satisfactory approach may be possible.Keywords
This publication has 5 references indexed in Scilit:
- A denotational framework for data flow analysisActa Informatica, 1982
- Systematic design of program analysis frameworksPublished by Association for Computing Machinery (ACM) ,1979
- Program Improvement by Source-to-Source TransformationJournal of the ACM, 1977
- Correctness-preserving program transformationsPublished by Association for Computing Machinery (ACM) ,1975
- Tree-Manipulating Systems and Church-Rosser TheoremsJournal of the ACM, 1973