Armed cats: Formal concurrency modelling at arm

J Alglave, W Deacon, R Grisenthwaite… - ACM Transactions on …, 2021 - dl.acm.org
We report on the process for formal concurrency modelling at Arm. An initial formal
consistency model of the Arm achitecture, written in the cat language, was published and …

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 …

Simplifying ARM concurrency: multicopy-atomic axiomatic and operational models for ARMv8

C Pulte, S Flur, W Deacon, J French, S Sarkar… - Proceedings of the …, 2017 - dl.acm.org
ARM has a relaxed memory model, previously specified in informal prose for ARMv7 and
ARMv8. Over time, and partly due to work building formal semantics for ARM concurrency, it …

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 …

Automatically comparing memory consistency models

J Wickerson, M Batty, T Sorensen… - Proceedings of the 44th …, 2017 - dl.acm.org
A memory consistency model (MCM) is the part of a programming language or computer
architecture specification that defines which values can legally be read from shared memory …

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 …

GenMC: A Model Checker for Weak Memory Models

M Kokologiannakis, V Vafeiadis - International Conference on Computer …, 2021 - Springer
GenMC is an LLVM-based state-of-the-art stateless model checker for concurrent C/C++
programs. Its modular infrastructure allows it to support complex memory models, such as …

Bridging the gap between programming languages and hardware weak memory models

A Podkopaev, O Lahav, V Vafeiadis - Proceedings of the ACM on …, 2019 - dl.acm.org
We develop a new intermediate weak memory model, IMM, as a way of modularizing the
proofs of correctness of compilation from concurrent programming languages with weak …

Choice trees: Representing nondeterministic, recursive, and impure programs in coq

N Chappe, P He, L Henrio, Y Zakowski… - Proceedings of the ACM …, 2023 - dl.acm.org
This paper introduces ctrees, a monad for modeling nondeterministic, recursive, and impure
programs in Coq. Inspired by **a et al.'s itrees, this novel data structure embeds …