|
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.
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
|
|
| |
3
|
COUSOT, P. Semantic foundations of program analysis. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds., Prentice-Hall, Englewood Cliffs, N.J., 1981, 303-342.
|
 |
4
|
|
| |
5
|
HUET, G., ANO LANG, B. Proving and applying program transformations expressed with secondorder patterns. Acta In{. 11 (1978), 31-55.
|
 |
6
|
|
| |
7
|
|
| |
8
|
MILNER, R. Program semantics and mechanized proof. In Foundations of Computer Science II, K. R. Apt and J. W. de Bakker, Eds., Mathematical Centre Tracts 82, Amsterdam, 1976, 3-44.
|
| |
9
|
NIELSON, F. A denotational framework for data flow analysis. Acta Inf. 18 (1982), 265-287.
|
 |
10
|
|
| |
11
|
|
CITED BY 14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mason Chang , Edwin Smith , Rick Reitmaier , Michael Bebenita , Andreas Gal , Christian Wimmer , Brendan Eich , Michael Franz, Tracing for web 3.0: trace compilation for the next generation web applications, Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, March 11-13, 2009, Washington, DC, USA
|
|
|
|
REVIEW
"Jacek Gibert : Reviewer"
Data flow analysis is a practical tool often used for transforming and
optimizing programs during compilation. This theoretical paper proposes
a formal mathematical framework that allows the validation of such program
transformations. A toy lang
more...
|