Journal of Automated Reasoning

, Volume 43, Issue 3, pp 263–288

Mechanized Semantics for the Clight Subset of the C Language

Article

DOI: 10.1007/s10817-009-9148-3

Cite this article as:
Blazy, S. & Leroy, X. J Autom Reasoning (2009) 43: 263. doi:10.1007/s10817-009-9148-3

Abstract

This article presents the formal semantics of a large subset of the C language called Clight. Clight includes pointer arithmetic, struct and union types, C loops and structured switch statements. Clight is the source language of the CompCert verified compiler. The formal semantics of Clight is a big-step operational semantics that observes both terminating and diverging executions and produces traces of input/output events. The formal semantics of Clight is mechanized using the Coq proof assistant. In addition to the semantics of Clight, this article describes its integration in the CompCert verified compiler and several ways by which the semantics was validated.

Keywords

The C programming language Operational semantics  Mechanized semantics Formal proof The Coq proof assistant 

Copyright information

© Springer Science+Business Media B.V. 2009

Authors and Affiliations

  1. 1.ENSIIEEvry cedexFrance
  2. 2.INRIA Paris-RocquencourtLe ChesnayFrance

Personalised recommendations