We describe a program logic for weak memory (also known as relaxed memory). The logic is based on Hoare logic within a thread, and rely/guarantee between threads. It is presented via examples, giving proofs of many weak-memory litmus tests. It extends to coherence but not yet to synchronised assignment (compare-and-swap, load-logical/store-conditional). It deals with conditionals and loops but not yet arrays or heap. The logic uses a version of Hoare logic within threads, and a version of rely/guarantee between threads, with five stability rules to handle various kinds of parallelism (external, internal, propagation-free and two kinds of in-flight parallelism). There are B and U modalities to handle propagation, and temporal modalities sinc...
Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Comput...
This abstract introduces the C11 weak memory model, summarises known verification results, and discu...
Memory models define an interface between programs written in some language and their implementation...
In order to improve performance or conserve energy, modern hardware implementations have adopted wea...
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...
This paper describes Coq libraries devoted to the semantic of relaxed memory models. These libraries...
International audienceWe present a class of relaxed memory models, defined in Coq, parame-terised by...
We present an axiomatic framework, implemented in the Coq proof assistant, to define weak memory mod...
This contains a snapshot of the Compass development. More updated information can be found at https:...
International audienceWe present a class of relaxed memory models, defined in Coq, parameterised by ...
Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear t...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
We present SLR, the first expressive program logic for reason- ing about concurrent programs under a...
textProgram logics are formal logics designed to facilitate specification and correctness reasoning ...
Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Comput...
This abstract introduces the C11 weak memory model, summarises known verification results, and discu...
Memory models define an interface between programs written in some language and their implementation...
In order to improve performance or conserve energy, modern hardware implementations have adopted wea...
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...
This paper describes Coq libraries devoted to the semantic of relaxed memory models. These libraries...
International audienceWe present a class of relaxed memory models, defined in Coq, parame-terised by...
We present an axiomatic framework, implemented in the Coq proof assistant, to define weak memory mod...
This contains a snapshot of the Compass development. More updated information can be found at https:...
International audienceWe present a class of relaxed memory models, defined in Coq, parameterised by ...
Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear t...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
We present SLR, the first expressive program logic for reason- ing about concurrent programs under a...
textProgram logics are formal logics designed to facilitate specification and correctness reasoning ...
Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Comput...
This abstract introduces the C11 weak memory model, summarises known verification results, and discu...
Memory models define an interface between programs written in some language and their implementation...