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 complicate the already-difficult task of reasoning about cor-rectness of concurrent code. Worse, they render impotent the sophisticated formal methods that have been developed to tame concurrency, which almost universally assume a strong (i.e., sequentially consistent) memory model. This paper introduces GPS, the first program logic to pro-vide a full-fledged suite of modern verification techniques— including ghost state, protocols, and separation logic—for high-level, structured reasoning about weak memory. We demonstrate the effectiveness of GPS by applying it to chal-lengi...
We present SLR, the first expressive program logic for reason- ing about concurrent programs under a...
Read-Copy-Update (RCU) is a technique for letting multiple readers safely access a data structure wh...
Memory models of shared memory concurrent programs define the values a read of a shared memory locat...
Weak memory models formalize the inconsistent behaviors that one can expect to observe in multithrea...
Weak memory models formalize the unexpected behavior that one can expect to observe in multi-threade...
In order to improve performance or conserve energy, modern hardware implementations have adopted wea...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
This paper describes Coq libraries devoted to the semantic of relaxed memory models. These libraries...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
We describe a program logic for weak memory (also known as relaxed memory). The logic is based on Ho...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
We propose an axiomatic generic framework for modelling weak memory. We show how to instantiate this...
We present an axiomatic framework, implemented in the Coq proof assistant, to define weak memory mod...
We present SLR, the first expressive program logic for reason- ing about concurrent programs under a...
Read-Copy-Update (RCU) is a technique for letting multiple readers safely access a data structure wh...
Memory models of shared memory concurrent programs define the values a read of a shared memory locat...
Weak memory models formalize the inconsistent behaviors that one can expect to observe in multithrea...
Weak memory models formalize the unexpected behavior that one can expect to observe in multi-threade...
In order to improve performance or conserve energy, modern hardware implementations have adopted wea...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
This paper describes Coq libraries devoted to the semantic of relaxed memory models. These libraries...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
We describe a program logic for weak memory (also known as relaxed memory). The logic is based on Ho...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
We propose an axiomatic generic framework for modelling weak memory. We show how to instantiate this...
We present an axiomatic framework, implemented in the Coq proof assistant, to define weak memory mod...
We present SLR, the first expressive program logic for reason- ing about concurrent programs under a...
Read-Copy-Update (RCU) is a technique for letting multiple readers safely access a data structure wh...
Memory models of shared memory concurrent programs define the values a read of a shared memory locat...