Abstract
This paper reports on a non-trivial case-study carried out in the context on the German correct compiler construction project Verifix. The PVS system is here used as a vehicle to formally represent and verify a generic checker routine (run-time result verification) used in compiler back-ends. The checker verifies the results of a sophisticated labeling process of intermediate language expression trees with instances of compilation rule schemata. Starting from an operational specification (i.e. a set of recursive PVS functions), necessary declarative properties of the checker are formally stated and proved correct.
This work has been supported by the Deutsche Forschungsgemeinschaft (DFG) project Verifix
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
1. A. Dold, T. Gaul, V. Vialard, and W. Zimmermann. ASM-Based Mechanized Verification of Compiler Backends. In UweäGlässer and Peter H.äSchmitt, editors, 5th International Workshop on ASM, pages 50–67, 1998.
2. Axel Dold. Software Development in PVS using Generic Development Steps. In Dagstuhl Seminar on Generic Programming (April 98), LNCS, 1998.
3. W.äGoerigk, A.äDold, T.äGaul, G.äGoos, A.äHeberle, F.W.ä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, Poster Session of CC’ 96, IDA Technical Report LiTH-IDA-R-96-12, Linkøping, Sweden, 1996.
4. W.øGoerigk, T.øGaul, and W.øZimmermann. Correct Programs without Proof? On Checker-Based Program Verification. In ATOOLS’98 Workshop on “Tool Support for System Specification, Development, and Verification”, ACS, Malente, 1998. Springer Verla
5. W. Goerigk and U. Hoffmann. Rigorous Compiler Implementation Correctness: How to Prove the Real Thing Correct. In FM-TRENDS’98, LNCS, Boppard, 1998.
6. A.“Heberle, T.“Gaul, W.“Goerigk, G.“Goos, and W.“Zimmermann.Construction of Verified Compiler Front-Ends with Program-Checking. PSI’99 (this volume), 1998.
7. G.C.“Necula and P.“Lee. The Design and Implementation of a Certifying Compiler. In ACM SIGPLAN’98 PLDI, pages 333–344, Montreal, Canada, 17—19 June 1998.
8. S.—Owre, J. M.—Rushby, and N.—Shankar. PVS: A Prototype Verification System. In Deepak—Kapur, editor, CADE’11, volume 607 of LNAI, pages 748–752, Saratoga NY, 1992. Springer-Verlag.
9. A.—Pnuelli, M.—Siegel, and E.—Singermann. Translation Validation for Synchronous Languages. In S.—Skyum K.G.—Larsen and G.—Winskel, editors, ICALP 98, pages 235–246.
10. W.—Zimmermann and T.—Gaul. On the Construction of Correct Compiler Back-Ends: An ASM Approach. Journal of Universal Computer Science, 3(5):504–567, 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
Dold, A., Vialard, V. (2000). Formal Verification of a Compiler Back-End Generic Checker Program. 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_42
Download citation
DOI: https://doi.org/10.1007/3-540-46562-6_42
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