We propose a family of logical theories for capturing an abstract notion of consistency and show how to build a generic and efficient theory solver that works for all members in the family.
The theories can be used to model the influence of memory consistency models on the semantics of concurrent programs.
They are general enough to precisely capture important examples like TSO, POWER, ARMv8, RISC-V, RC11, IMM, and the Linux kernel memory model.
To evaluate the expressiveness of our theories and the performance of our solver, we integrate them into a lazy SMT scheme that we use as a backend for a bounded model checking tool.
An evaluation against related verification tools shows, besides flexibility, promising performance on challenging programs under complex memory models.
Sat 10 DecDisplayed time zone: Auckland, Wellington change
10:30 - 12:00
|A Concurrent Program Logic with a Future and History|
|CAAT: Consistency as a Theory|
Thomas Haas TU Braunschweig, Roland Meyer TU Braunschweig, Hernán Ponce de León Huawei Dresden Research CenterDOI
|Implementing and Verifying Release-Acquire Transactional Memory in C11|