Abstract
This paper describes how program-checking can be used to establish the correctness of a compiler front-end which was generated by unverified compiler construction tools. The basic idea of program- checking is to use an unverified algorithm whose results are checked by a verified component at run time. The approach not only simplifies the construction of a verified compiler front-end because checking the result of the analysis is much simpler to verify than the verification of a high sophisticated compiler front-end. It even allows to define a notion of front-end correctness. Furthermore, we are still able to use existing generators ools without major modifications. Additionally, this work points out the tasks which still have to be verified and it discusses the exibility of the approach.
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
E. Börger and I. Durdanovic. Correctness of Compiling Occam to Transputer code. The Computer Journal, 39:52–93, 1996.
Manuel Blum and Sampath Kannan. Designing programs that check their work. Journal of the Association for Computing Machinery, 42(1):269–291, January 1995
D. F. Brown, H. Moura, and D. A. Watt. Actress: an action semantics directed compiler generator. In Compiler Compilers 92, volume 641 of LNCS, 1992.
A. Dold, T. Gaul, W. Goerigk, G. Goos, A. Heberle, F. von Henke, U. Hoffmann, H. Langmaack, H. Pfeifer, H. Ruess, and W. Zimmermann. Definition of the Language IS. Verifix Working Paper [Verifix/UKA/1], University of Karlsruhe/Kiel/Ulm, 1995.
A.[Dold, T.[Gaul, V.[Vialard, and W.[Zimmermann. H. Schmitt, editors, Proceedings of the 5th International Workshop on Abstract State Machines, pages 50–67, 199
Stephan Diehl. Semantics-Directed Generation of Compilers and Abstract Machines. PhD thesis, University of the Saarland, Germany, 1996.
W. Goerigk, A. Dold, T. Gaul, G. Goos, A. Heberle, F. von Henke, U. Hoffmann, H. Langmaack, H. Pfeifer, H. Ruess, and W. Zimmermann. Compiler Correctness and Implementation Verification: The Verifix Approach. In P. Fritzson, editor, Proceedings of the Poster Session of CC’96-International Conference on Compil er Construction, pages 65–73. ida, 1996. TR-Nr.: R-96-12.
J. Grosch and H. Emmelmann. A tool box for compiler construction. In Compiler Compilers, Third International Workshop, CC’90; Schwerin, FRG; Proceedings, volume 477 of LNCS. Springer-Verlag, 1990.
J.B. Goodenough and S.L. Gerhart. Toward a Theory of Test Data Selection. SIGPLAN Notices, 10(6):493–510, June 1975.
W. Goerigk, T.S. Gaul, and W. Zimmermann. Correct Programs without Proof? On Checker-Based Program Verification. In Proceedings ATOOLS’98 Workshop on “Tool Support for System Speciciation, Development, and Verification”, Advances in Computing Science, Malente, 1998. Springer Verlag.
Gerhard Goos. Sather-K-The Language. Software-Concepts and Tools, 18:91–109, 1997.
A. Heberle and T. Gaul. Syntax einer Sprache zur textuellen Repräsentation von Graphen Interner Bericht, 1998.
Andreas Heberle and Dirk Heuzeroth. The formal specification of IS. Technical Report [Verifix/UKA/2 revised], IPD, Universität Karlsruhe, January 1998.
G. C. Necula and P. Lee. The design and implementation of a certifying compiler. In Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 333–344, 1998.
M. Pettersson. Compiling Natural Semantics. PhD thesis, Linkoeping University, 1995.
Hal Wasserman and Manuel Blum. Software reliability via run-time result-checking. Journal of the ACM, 44(6):826–849, November 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Heberle, A., Gaul, T., Goerigk, W., Goos, G., Zimmermann, W. (2000). Construction of Verified Compiler Front-Ends with Program-Checking. In: Bjøner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 1999. Lecture Notes in Computer Science, vol 1755. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46562-6_43
Download citation
DOI: https://doi.org/10.1007/3-540-46562-6_43
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67102-2
Online ISBN: 978-3-540-46562-1
eBook Packages: Springer Book Archive