Mechanized semantics

Abstract : The goal of this lecture is to show how modern theorem provers---in this case, the Coq proof assistant---can be used to mechanize the specification of programming languages and their semantics, and to reason over individual programs and over generic program transformations, as typically found in compilers. The topics covered include: operational semantics (small-step, big-step, definitional interpreters); a simple form of denotational semantics; axiomatic semantics and Hoare logic; generation of verification conditions, with application to program proof; compilation to virtual machine code and its proof of correctness; an example of an optimizing program transformation (dead code elimination) and its proof of correctness.
Document type :
Book sections
Complete list of metadatas

Cited literature [53 references]  Display  Hide  Download

https://hal.inria.fr/inria-00529848
Contributor : Xavier Leroy <>
Submitted on : Tuesday, October 26, 2010 - 5:26:32 PM
Last modification on : Friday, May 25, 2018 - 12:02:07 PM
Long-term archiving on : Thursday, January 27, 2011 - 3:02:05 AM

Files

notes.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Xavier Leroy. Mechanized semantics. J. Esparza and B. Spanfelner and O. Grumberg. Logics and languages for reliability and security, 25, IOS Press, pp.195-224, 2010, NATO Science for Peace and Security Series D: Information and Communication Security, ⟨10.3233/978-1-60750-100-8-195⟩. ⟨inria-00529848⟩

Share

Metrics

Record views

185

Files downloads

261