Betriebssysteme · Institut für Systemarchitektur · Fakultät Informatik · TU Dresden



11. 03. 2011

Mathematizing C++ Concurrency


Mark Batty

University of Cambridge


The next versions of C++ (C++0x) and of C (C1X) will have new concurrency features, aiming to support high-performance code with well-defined semantics. Unfortunately, as we near the end of the long standardization process, not all has been well. Unsurprisingly, the prose specification style of the draft standards is poorly suited to describe the complex design of the relaxed memory model, and in fact there have been significant problems.

I will discuss work on formalization of the memory model, what was broken, and some resulting improvements to the C++0x draft standard. In addition I will present a tool, Cppmem, for graphically exploring the semantics of small concurrent C++0x programs, and describe a proof of the correctness of a compilation strategy targeting x86-TSO.
28. Oct 2020
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·