Experiments in validating formal semantics for c
What if Martin Luther King had died when he was stabbed in 1958 ? What if I were to put that box over here and this one over there?
These modes of thought and speech have been the subject of extensive study in philosophy, linguistics, psychology, artificial intelligence, history, and many other allied fields.
Semantics preserving compilation of low-level C programs is challenging because their semantics is implementation defined according to the C standard.
This paper presents the proof of an enhanced and more concrete memory model for the Comp Cert C compiler which assigns a definite meaning to more C programs.
Section 1.3 focuses on the central role of counterfactuals in metaphysics and the philosophy of science.
Readers interested in more familiarity with these tools will find basic set theory, as well as This section begins with some terminological issues (§1.1).We prove that the existing memory model is an abstraction of our more concrete model thus validating formally the soundness of Comp Cert’s abstract semantics of pointers.We also show how to adapt the front-end of Comp Cert thus demonstrating that it should be feasible to port the whole compiler to our novel memory model.Empowered by the fact that we can directly execute the semantics using the K framework, we validated our model by co-simulating it against a real machine.During co-simulation, we execute a machine program on the processor as well as on our K model and compare the execution results after every instruction.