Abstract
Since the early work of Cohn [4] in the LCF system, compiler proofs have attracted a lot of attention as test cases for automated theorem provers, see for example [14, 15]. Recently Broy [2] has used the Larch theorem prover (LP) to verify a code generator for a functional language. In our study the source language for the compiler is PLo [9], a subset of 0CCAM2, and the target language, MLo, is based on the machine language for the transputer [6]. Both languages were developed as part of the ESPRIT ProCos project [1]. Our work differs from earlier studies in that we start with a hand proof of compiler correctness [7] and attempt to use a theorem prover to verify the proof.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
D. Bjørner, C.A.R. Hoare, J.P. Bowen, et. al., A ProCos project description—ESPRIT BRA 3014, Bulletin of EATCS, 39, pages 60–73, 1989.
M. Broy, Experiences with machine supported software and system specifications and verification using LP, the Larch proof assistant, preprint, 1992.
J.P Bowen, Formal specification of the PROCOS/safemos instruction set, Microprocessors and Microsystems, 14 10, pages 631–643, 1990.
A. Cohn, Machine assisted proofs of recursion implementation, Ph.D. Thesis, Dept. of Comp. Sci., University of Edinburgh, 1979.
S.J. Garland, J.V. Guttag, An overview of LP, the Larch Prover, Proc. 3rd International Conf. Rewriting Techniques and Applications, ed N. Dershowitz, LNCS 355 pages 137–151, Springer-Verlag, 1989.
INMOS Ltd, Transputer instruction set: a compiler writers guide, Prentice-Hall, 1988.
He Jifeng, P. Pandya, J. Bowen, Compiling specification for ProCos level 0 language, 1990. Procos Technical Report [OU HJF 4]
He Jifeng, J. Bowen, Compiling specification for ProCos language PL0 1, 1991. Procos Technical Report [OU HJF 6]
H.H. Lovengreen, K.M. Jensen, Definition of the ProCoS programming language level 0, 1989. Procos Technical Report [ID/DTH HH1 2].
A.W. Roscoe, C.A.R. Hoare, The laws of occam programming, Theoretical Computer Science 60, pages 177–229, 1988
A. Sampaio, A comparative study of theorem provers: proving correctness of compiling specifications, Oxford University PRG Tech. Report PRG-TR-20-90, 1990.
E.A. Scott, K.J. Norrie, A study of PL0 + using the Larch Prover, First International Workshop on Larch, Dedham 1992, eds U. Martin, J. Wing, Springer-Verlag Workshops in Computing Series, 1993, 227–245.
E.A. Scott, An automated proof of the correctness of a compiling specification, University of Surrey Technical Report CS-93-01, 1993.
D. Weber-Wulff, Proof movie, Proving the Add-Assign Compiler with the Boyer-Moore Prover, to appear in Formal Aspects Of Computing.
W.D. Young, A mechanically verified code generator, Journal of Automated Reasoning, 5, 1989
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 British Computer Society
About this paper
Cite this paper
Scott, E.A. (1994). Automated Proof of the Correctness of a Compiling Specification. In: Nivat, M., Rattray, C., Rus, T., Scollo, G. (eds) Algebraic Methodology and Software Technology (AMAST’93). Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3227-1_42
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3227-1_42
Publisher Name: Springer, London
Print ISBN: 978-3-540-19852-9
Online ISBN: 978-1-4471-3227-1
eBook Packages: Springer Book Archive