Skip to main content

Automated Proof of the Correctness of a Compiling Specification

  • Conference paper
Algebraic Methodology and Software Technology (AMAST’93)

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. M. Broy, Experiences with machine supported software and system specifications and verification using LP, the Larch proof assistant, preprint, 1992.

    Google Scholar 

  3. J.P Bowen, Formal specification of the PROCOS/safemos instruction set, Microprocessors and Microsystems, 14 10, pages 631–643, 1990.

    Google Scholar 

  4. A. Cohn, Machine assisted proofs of recursion implementation, Ph.D. Thesis, Dept. of Comp. Sci., University of Edinburgh, 1979.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. INMOS Ltd, Transputer instruction set: a compiler writers guide, Prentice-Hall, 1988.

    Google Scholar 

  7. He Jifeng, P. Pandya, J. Bowen, Compiling specification for ProCos level 0 language, 1990. Procos Technical Report [OU HJF 4]

    Google Scholar 

  8. He Jifeng, J. Bowen, Compiling specification for ProCos language PL0 1, 1991. Procos Technical Report [OU HJF 6]

    Google Scholar 

  9. H.H. Lovengreen, K.M. Jensen, Definition of the ProCoS programming language level 0, 1989. Procos Technical Report [ID/DTH HH1 2].

    Google Scholar 

  10. A.W. Roscoe, C.A.R. Hoare, The laws of occam programming, Theoretical Computer Science 60, pages 177–229, 1988

    Article  MATH  MathSciNet  Google Scholar 

  11. A. Sampaio, A comparative study of theorem provers: proving correctness of compiling specifications, Oxford University PRG Tech. Report PRG-TR-20-90, 1990.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. E.A. Scott, An automated proof of the correctness of a compiling specification, University of Surrey Technical Report CS-93-01, 1993.

    Google Scholar 

  14. D. Weber-Wulff, Proof movie, Proving the Add-Assign Compiler with the Boyer-Moore Prover, to appear in Formal Aspects Of Computing.

    Google Scholar 

  15. W.D. Young, A mechanically verified code generator, Journal of Automated Reasoning, 5, 1989

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics