Program Transformations in a Denotational Setting

    Research output: Contribution to journalJournal articleResearchpeer-review

    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 transform program must be data flow analysed, but consideration of a transformation-exploiting liveness of variables indicates that a more satisfactory approach may be possible
    Original languageEnglish
    JournalACM Transactions on Programming Languages and Systems
    Volume7
    Issue number3
    Pages (from-to)359-379
    ISSN0164-0925
    Publication statusPublished - 1985

    Cite this