A promising semantics for relaxed-memory concurrency
Despite many years of research, it has proven very difficult to develop a memory model for
concurrent programming languages that adequately balances the conflicting desiderata of …
concurrent programming languages that adequately balances the conflicting desiderata of …
The problem of programming language concurrency semantics
M Batty, K Memarian, K Nienhuis… - … 2015, Held as Part of the …, 2015 - Springer
Despite decades of research, we do not have a satisfactory concurrency semantics for any
general-purpose programming language that aims to support concurrent systems code. The …
general-purpose programming language that aims to support concurrent systems code. The …
A concurrency semantics for relaxed atomics that permits optimisation and avoids thin-air executions
J Pichon-Pharabod, P Sewell - ACM SIGPLAN Notices, 2016 - dl.acm.org
Despite much research on concurrent programming languages, especially for Java and
C/C++, we still do not have a satisfactory definition of their semantics, one that admits all …
C/C++, we still do not have a satisfactory definition of their semantics, one that admits all …
Pomsets with preconditions: a simple model of relaxed memory
Relaxed memory models must simultaneously achieve efficient implementability and thread-
compositional reasoning. Is that why they have become so complicated? We argue that the …
compositional reasoning. Is that why they have become so complicated? We argue that the …
On thin air reads towards an event structures model of relaxed memory
This is the first paper to propose a pure event structures model of relaxed memory. We
propose confusion-free event structures over an alphabet with a justification relation as a …
propose confusion-free event structures over an alphabet with a justification relation as a …
The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrency
Program logics and semantics tell a pleasant story about sequential composition: when
executing (S1; S2), we first execute S1 then S2. To improve performance, however …
executing (S1; S2), we first execute S1 then S2. To improve performance, however …
Verifying C11 programs operationally
This paper develops an operational semantics for a release-acquire fragment of the C11
memory model with relaxed accesses. We show that the semantics is both sound and …
memory model with relaxed accesses. We show that the semantics is both sound and …
Towards understanding the costs of avoiding out-of-thin-air results
P Ou, B Demsky - Proceedings of the ACM on Programming Languages, 2018 - dl.acm.org
Eliminating so-called “out-of-thin-air”(OOTA) results is an open problem with many existing
programming language memory models including Java, C, and C++. OOTA behaviors are …
programming language memory models including Java, C, and C++. OOTA behaviors are …
The code that never ran: Modeling attacks on speculative evaluation
C Disselkoen, R Jagadeesan… - 2019 IEEE Symposium …, 2019 - ieeexplore.ieee.org
This paper studies information flow caused by speculation mechanisms in hardware and
software. The Spectre attack shows that there are practical information flow attacks which …
software. The Spectre attack shows that there are practical information flow attacks which …
A calculus for relaxed memory
K Crary, MJ Sullivan - Proceedings of the 42nd Annual ACM SIGPLAN …, 2015 - dl.acm.org
We propose a new approach to programming multi-core, relaxed-memory architectures in
imperative, portable programming languages. Our memory model is based on explicit …
imperative, portable programming languages. Our memory model is based on explicit …