Abstract
This paper reports on provably correct compiler implementation in the ESPRIT basic research action 3104 ProCoS (Provably Correct Systems). A sharp distinction is drawn between correctness of the specification of a compiler and correctness of the actual implementation. The first covers semantical correctness of the code to be generated, whereas the second concerns correctness of the compiler program with respect to the specification. The compiler construction framework presented aims at minimizing the amount of handcoding during implementation and at reusing specification correctness arguments for proving the implementation correct. The classical technique of bootstrapping compilers is revisited with respect to implementation correctness.
This work has been partially funded by the Commission of the European Communities under ESPRIT Basic Research Action 3104 ProCoS (Provably Correct Systems).
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Dines Bjørner et al. Final Deliverable of the ProCoS Project. Computer Science Department, Technical University of Denmark, Lyngby, DK, 1992 (submitted to Springer Verlag for publication)
Dines Bjørner, Cliff B. Jones. The Vienna Development Method: The Meta Language. LNCS 61. Springer Verlag, 1978
R.S. Boyer, J S. Moore. A Computational Logic Handbook. Academic Press, 1988
Martin Fränzle. Verification of Compilers for Recursive occam-like Languages. Master's Thesis, Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität Kiel, FRG, 1990
C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall Int., 1985
C.A.R. Hoare. Refinement Algebra Proves Correctness of Compiling Specifications. PRG-TR-6-90. Programming Research Group, Oxford University, UK, 1990
inmos Limited. Transputer instruction set: A compiler writers guide. Prentice-Hall Int., 1988
inmos Limited. occam 2 Reference Manual. Prentice-Hall Int., 1988
Cliff B. Jones. Systematic Software Development Using VDM. Prentice-Hall Int., 1990
Yassine Lakhneche. Equivalence of Denotational and Structural Operational Semantics of PL. Master's Thesis, Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität Kiel, FRG, 1991
Markus Müller-Olm. Correctness Proof of SubLISP to PL Translation. Master's Thesis, Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität Kiel, FRG, 1990
W. Polak. Compiler Specification and Verification. LNCS 124. Springer Verlag, 1981
Joseph E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, 1977
W.D. Young. A mechanically verified code generator. Journal of Automated Reasoning, 5(4), December 1989
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Buth, B. et al. (1992). Provably correct compiler development and implementation. In: Kastens, U., Pfahler, P. (eds) Compiler Construction. CC 1992. Lecture Notes in Computer Science, vol 641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55984-1_14
Download citation
DOI: https://doi.org/10.1007/3-540-55984-1_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55984-9
Online ISBN: 978-3-540-47335-0
eBook Packages: Springer Book Archive