Tue 22 Oct 2024 11:25 - 11:50 at Pasadena - Morning Paper Session

The CompCert compiler [Leroy et al. 2016] represents a landmark effort in program verification as both a piece of verified software and as a compiler for verified C programs. A key shortcoming of CompCert however is that it does not support multithreaded programs. Prior work to add threads to CompCert has either required major rewrites of parts of the proof [Ševčík et al. 2013] or only works for well synchronized programs [Beringer et al. 2014]. The problem is that CompCert’s backward simulation derives from a forward simulation via the determinism of the semantics of intermediate representation languages. This makes the proofs in CompCert easier but also makes them incompatible with standard models of multithreading which are non-deterministic.

Here we propose an alternate formulation of CompCert’s proof structure that parameterizes the existing single threaded semantics with nondeterministic behavior generated at the multithreading level. While this is an old trick where program equivalence is concerned, performing it in the context of CompCert is quite subtle. Our approach allows for expressive concurrent semantics and does not require major proof rewrites but still results in a global backward simulation for multithreaded programs.

Tue 22 Oct

Displayed time zone: Pacific Time (US & Canada) change

11:00 - 12:30
Morning Paper SessionJENSFEST at Pasadena
11:00
25m
Talk
Towards Verification of a Denotational Semantics of Inheritance
JENSFEST
Peter D. Mosses Delft University of Technology and Swansea University
DOI File Attached
11:25
25m
Talk
Correct Compilation of Concurrent C Code
JENSFEST
John Bender Sandia National Laboratories
11:50
25m
Talk
Unboxing Virgil ADTs For Fun and Profit
JENSFEST
Bradley Wei Jie Teo Jane Street, Ben L. Titzer Carnegie Mellon University