International audienceReal life C programs are often written using C dialects which, for the ISO C standard, have undefined behaviours. In particular, according to the ISO C standard, reading an uninitialised variable has an undefined behaviour and low-level pointer operations are implementation defined. We propose a formal semantics which gives a well-defined meaning to those behaviours for the C dialect of the CompCert compiler. Our semantics builds upon a novel memory model leveraging a notion of symbolic values. Symbolic values are used by the semantics to delay the evaluation of operations and are normalised lazily to genuine values when needed. We show that the most precise normalisation is computable and that a slightly relaxed norma...
http://www.springer.com/International audienceThis paper presents a formal verification with the Coq...
C remains central to our computing infrastructure. It is notionally defined by ISO standards, but in...
Systems code is almost universally written in the C programming language or a variant. C has a very ...
International audienceReal life C programs are often written using C dialects which, for the ISO C s...
Abstract. Real life C programs are often written using C dialects which, for the ISO C standard, hav...
International audienceThe CompCert C compiler guarantees that the target program behaves as the sour...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
This thesis presents an extension of the CompCert compiler that aims at providing formal guarantees ...
International audienceThe CompCert C compiler provides the formal guarantee that the observable beha...
International audienceThe CompCert C compiler provides the formal guarantee that the observable beha...
A memory model is an important component of the formal semantics of imperative programming languages...
Cette thèse présente une extension du compilateur CompCert permettant de fournir des garanties forme...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceThis article presents the formal verification, using the Coq proof assistant, ...
http://www.springer.com/International audienceThis paper presents a formal verification with the Coq...
C remains central to our computing infrastructure. It is notionally defined by ISO standards, but in...
Systems code is almost universally written in the C programming language or a variant. C has a very ...
International audienceReal life C programs are often written using C dialects which, for the ISO C s...
Abstract. Real life C programs are often written using C dialects which, for the ISO C standard, hav...
International audienceThe CompCert C compiler guarantees that the target program behaves as the sour...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
This thesis presents an extension of the CompCert compiler that aims at providing formal guarantees ...
International audienceThe CompCert C compiler provides the formal guarantee that the observable beha...
International audienceThe CompCert C compiler provides the formal guarantee that the observable beha...
A memory model is an important component of the formal semantics of imperative programming languages...
Cette thèse présente une extension du compilateur CompCert permettant de fournir des garanties forme...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceThis article presents the formal verification, using the Coq proof assistant, ...
http://www.springer.com/International audienceThis paper presents a formal verification with the Coq...
C remains central to our computing infrastructure. It is notionally defined by ISO standards, but in...
Systems code is almost universally written in the C programming language or a variant. C has a very ...