C remains central to our computing infrastructure. It is notionally defined by ISO standards, but in reality the properties of C assumed by systems code and those implemented by compilers have diverged, both from the ISO standards and from each other, and none of these are clearly understood. We make two contributions to help improve this error-prone situation. First, we describe an in-depth analysis of the design space for the semantics of pointers and memory in C as it is used in practice. We articulate many specific questions, build a suite of semantic test cases, gather experimental data from multiple implementations, and survey what C experts believe about the de facto standards. We identify questions where there is a consensus (either...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
The semantics of pointers and memory objects in C has been a vexed question for many years. C values...
C remains central to our infrastructure, making verification of C code an essential and much-researc...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
The ISO C standard does not specify the semantics of many valid programs that use non-portable idiom...
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...
International audienceThe CompCert C compiler provides the formal guarantee that the observable beha...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceThe CompCert C compiler guarantees that the target program behaves as the sour...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
The semantics of pointers and memory objects in C has been a vexed question for many years. C values...
C remains central to our infrastructure, making verification of C code an essential and much-researc...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
The ISO C standard does not specify the semantics of many valid programs that use non-portable idiom...
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...
International audienceThe CompCert C compiler provides the formal guarantee that the observable beha...
International audienceSemantics preserving compilation of low-level C programs is challenging becaus...
International audienceThe CompCert C compiler guarantees that the target program behaves as the sour...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...
International audienceWe discuss the difference between a formal semantics of the C standard, and a ...