Designing efficient concurrent objects often requires abandoning the standard specification technique of linearizability in favor of more relaxed correctness conditions. However, the variety of alternatives makes it difficult to choose which condition to employ, and how to compose them when using objects specified by different conditions. In this work, we propose a uniform alternative in the form of Hoare logic, which can explicitly capture--in the auxiliary state--the interference of environment threads. We demonstrate the expressiveness of our method by verifying a number of concurrent objects and their clients, which have so far been specified only by non-standard conditions of concurrency-aware linearizability, quiescent, and quantit...
Most work on the verification of concurrent objects for shared memory assumes sequential consistency...
AbstractConcurrent data structures are usually designed to satisfy correctness conditions such as se...
AbstractDistributed and concurrent object-oriented systems are difficult to analyze due to the compl...
With the advent of parallel architectures, distributed programs are used intensively and the questio...
Specification and verification techniques for abstract data types that have been successful for sequ...
How can we rigorously prove that an algorithm does what we think it does? Logically verifying progr...
International audienceWith the advent of parallel architectures, distributed programs are used inten...
An execution containing operations performing queries or updating a concurrent object is linearizabl...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
AbstractA syntax-directed generalization of Owicki–Gries's Hoare logic for a parallel while language...
Concurrent data structures like stacks, sets or queues need to be highly optimized to provide large ...
International audienceWe study a family of implementations for linked lists using fine-grain synchro...
Correctness conditions for concurrent objects describe how atomicity of an abstract sequential objec...
AbstractCurrent object-oriented approaches to distributed programs may be criticized in several resp...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
Most work on the verification of concurrent objects for shared memory assumes sequential consistency...
AbstractConcurrent data structures are usually designed to satisfy correctness conditions such as se...
AbstractDistributed and concurrent object-oriented systems are difficult to analyze due to the compl...
With the advent of parallel architectures, distributed programs are used intensively and the questio...
Specification and verification techniques for abstract data types that have been successful for sequ...
How can we rigorously prove that an algorithm does what we think it does? Logically verifying progr...
International audienceWith the advent of parallel architectures, distributed programs are used inten...
An execution containing operations performing queries or updating a concurrent object is linearizabl...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
AbstractA syntax-directed generalization of Owicki–Gries's Hoare logic for a parallel while language...
Concurrent data structures like stacks, sets or queues need to be highly optimized to provide large ...
International audienceWe study a family of implementations for linked lists using fine-grain synchro...
Correctness conditions for concurrent objects describe how atomicity of an abstract sequential objec...
AbstractCurrent object-oriented approaches to distributed programs may be criticized in several resp...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
Most work on the verification of concurrent objects for shared memory assumes sequential consistency...
AbstractConcurrent data structures are usually designed to satisfy correctness conditions such as se...
AbstractDistributed and concurrent object-oriented systems are difficult to analyze due to the compl...