Abstract
Hoare's theory of compilation based on refinement algebra of programs is generalized to provide verifiable specification of optimized compilers that produce effective object codes. The compilation relation is modified by including a register table into data representation. The definition of this (modified) compilation relation is given in the framework of the justification scheme for data refinement. A compiler is specified by a set of theorems. They describe target object code for each construct of a source language and state that this partial compiling is correct, i.e. fits to the compilation relation. The proofs of compiler specification theorems are developed in algebraic style of the original theory with additional lemmas that justify alteration of a register table in the process of compilation.
Preview
Unable to display preview. Download preview PDF.
References
C.A.R. Hoare, Refinement Algebra Proves Correctness of Compiling Specifications, in: C.C. Morgan and J.C.P. Woodcock (Eds.), 3rd Refinement Workshop. Springer-Verlag, Workshops in Computing, 33–48, 1991.
He JiFeng and E.-R. Olderog (eds.), Interfaces between Languages for Concurrent Systems, volume II. ESPRIT BRA ProCoS Project Deliverable, 1991.
C.A.R. Hoare, J.M. Spivey and others, Laws of Programming. Comm. ACM, 30, 8 (1987), 672–686.
He JiFeng, Jonathan Bowen, Specification, Verification and Prototyping of an Optimized Compiler (submitted to Formal Aspects of Computing in 1992).
A.V. Aho and J.D. Ullman, Principles of Compiler Design. Addison-Wisley, Series in Computer Science and Information Processing, 1977.
I.V. Pottosin, Analysis of Program Optimization and Further Development. Theoretical Computer Science, 90 (1991), 17–36.
W.-P. de Roever, G. Rozenberg (eds.), Stepwise Refinement of Distributed Systems — Models, Formalisms, Correctness. Lecture Notes in Computer Science, 430, Springer-Verlag, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Levin, V. (1993). Algebraically provable specification of optimized compilations. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol 735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039719
Download citation
DOI: https://doi.org/10.1007/BFb0039719
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57316-6
Online ISBN: 978-3-540-48056-3
eBook Packages: Springer Book Archive