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. © 1985, ACM. All rights reserved.
CITATION STYLE
Nielson, F. (1985). Program Transformations in a Denotational Setting. ACM Transactions on Programming Languages and Systems (TOPLAS), 7(3), 359–379. https://doi.org/10.1145/3916.3917
Mendeley helps you to discover research relevant for your work.