RMIT University
Browse

Certifying code generation runs with Coq: a tool description

conference contribution
posted on 2024-10-31, 17:12 authored by Jan Olaf Blech, Benjamin Grégoire
In this tool description paper we present a certifying code generation phase. Our code generation phase takes intermediate language programs and translates them into MIPS assembler code. Each time our code generation is invoked a proof script is emitted. This proof script is used as a certificate to guarantee the correctness of the code generation run. It is checked in the Coq theorem prover. Once this has been successfully done we can be sure that the code generation has been carried out correctly. Checking the generated proof scripts has turned out to be a bottleneck of certifying compilation. This paper is based on an implementation which uses - among other techniques - checker predicates to overcome this bottleneck. These are predicates formalized in an executable way that can be easily evaluated by the Coq theorem prover to speed up the certificate checking process. This paper presents the certifying code generation phase introduced in [5] and focuses on its implementation.

History

Start page

1

End page

11

Total pages

11

Outlet

Proceedings of the 7th International Workshop on Compiler Optimization Meets Compiler Verification (COCV 2008)

Editors

Rolf Drechsler, Sabine Glesner, Jens Knoop, Wolf Zimmermann

Name of conference

COCV 2008

Publisher

Elsevier

Place published

Netherlands

Start date

2008-04-05

End date

2008-04-05

Language

English

Copyright

© 2008 Elsevier

Former Identifier

2006041512

Esploro creation date

2020-06-22

Fedora creation date

2013-07-22

Usage metrics

    Scholarly Works

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC