Abstract
This paper reports on the correctness proof of compiler optimizations based on data-flow analysis. We formulate the optimizations and analyses as instances of a general framework for data-flow analyses and transformations, and prove that the optimizations preserve the behavior of the compiled programs. This development is a part of a larger effort of certifying an optimizing compiler by proving semantic equivalence between source and compiled code.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Cachera, D., Jensen, T., Pichardie, D., Rusu, V.: Extracting a data flow analyser in constructive logic. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 385–400. Springer, Heidelberg (2004)
Kildall, G.A.: A unified approach to global program optimization. In: 1st symposium on Principles of Programming Languages, pp. 194–206. ACM Press, New York (1973)
Klein, G., Nipkow, T.: Verified bytecode verifiers. Theoretical Computer Science 298(3), 583–626 (2002)
Lerner, S., Millstein, T., Rice, E., Chambers, C.: Automated soundness proofs for dataflow analyses and transformations via local rules. In: 32nd symposium on Principles of Programming Languages, pp. 364–377. ACM Press, New York (2005)
Morrisett, G., Walker, D., Crary, K., Glew, N.: From system F to typed assembly language. ACM Transactions on Programming Languages and Systems 21(3), 528–569 (1999)
Necula, G.C.: Proof-carrying code. In: 24th symposium Principles of Programming Languages, pp. 106–119. ACM Press, New York (1997)
Pnueli, A., Siegel, M., Singerman, E.: Translation validation. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 151–166. Springer, Heidelberg (1998)
Rinard, M.: Credible compilation. Technical Report MIT-LCS-TR-776, MIT (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bertot, Y., Grégoire, B., Leroy, X. (2006). A Structured Approach to Proving Compiler Optimizations Based on Dataflow Analysis. In: Filliâtre, JC., Paulin-Mohring, C., Werner, B. (eds) Types for Proofs and Programs. TYPES 2004. Lecture Notes in Computer Science, vol 3839. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11617990_5
Download citation
DOI: https://doi.org/10.1007/11617990_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-31428-8
Online ISBN: 978-3-540-31429-5
eBook Packages: Computer ScienceComputer Science (R0)