Repairing sequential consistency in C/C++ 11

O Lahav, V Vafeiadis, J Kang, CK Hur… - ACM SIGPLAN Notices, 2017 - dl.acm.org
The C/C++ 11 memory model defines the semantics of concurrent memory accesses in
C/C++, and in particular supports racy" atomic" accesses at a range of different consistency …

Deductive software verification: from pen-and-paper proofs to industrial tools

R Hähnle, M Huisman - Computing and Software Science: State of the Art …, 2019 - Springer
Deductive software verification aims at formally verifying that all possible behaviors of a
given program satisfy formally defined, possibly complex properties, where the verification …

Effective stateless model checking for C/C++ concurrency

M Kokologiannakis, O Lahav, K Sagonas… - Proceedings of the ACM …, 2017 - dl.acm.org
We present a stateless model checking algorithm for verifying concurrent programs running
under RC11, a repaired version of the C/C++ 11 memory model without dependency cycles …

'Cause I'm strong enough: Reasoning about consistency choices in distributed systems

A Gotsman, H Yang, C Ferreira, M Najafzadeh… - Proceedings of the 43rd …, 2016 - dl.acm.org
Large-scale distributed systems often rely on replicated databases that allow a programmer
to request different data consistency guarantees for different operations, and thereby control …

Strong logic for weak memory: Reasoning about release-acquire consistency in Iris

JO Kaiser, HH Dang, D Dreyer, O Lahav… - … Conference on Object …, 2017 - drops.dagstuhl.de
The field of concurrent separation logics (CSLs) has recently undergone two exciting
developments:(1) the Iris framework for encoding and unifying advanced higher-order CSLs …

RustBelt meets relaxed memory

HH Dang, JH Jourdan, JO Kaiser… - Proceedings of the ACM on …, 2019 - dl.acm.org
The Rust programming language supports safe systems programming by means of a strong
ownership-tracking type system. In their prior work on RustBelt, Jung et al. began the task of …

Model checking for weakly consistent libraries

M Kokologiannakis, A Raad, V Vafeiadis - Proceedings of the 40th ACM …, 2019 - dl.acm.org
We present GenMC, a model checking algorithm for concurrent programs that is parametric
in the choice of memory model and can be used for verifying clients of concurrent libraries …

Common compiler optimisations are invalid in the C11 memory model and what we can do about it

V Vafeiadis, T Balabonski, S Chakraborty… - Proceedings of the …, 2015 - dl.acm.org
We show that the weak memory model introduced by the 2011 C and C++ standards does
not permit many common source-to-source program transformations (such as expression …

Diaframe: automated verification of fine-grained concurrent programs in Iris

I Mulder, R Krebbers, H Geuvers - Proceedings of the 43rd ACM …, 2022 - dl.acm.org
Fine-grained concurrent programs are difficult to get right, yet play an important role in
modern-day computers. We want to prove strong specifications of such programs, with …

GPS: Navigating weak memory with ghosts, protocols, and separation

A Turon, V Vafeiadis, D Dreyer - Proceedings of the 2014 ACM …, 2014 - dl.acm.org
Weak memory models formalize the inconsistent behaviors that one can expect to observe
in multithreaded programs running on modern hardware. In so doing, however, they …