Concurrent data structures with fine-grained synchronization are notoriously difficult to implement correctly. The difficulty of reasoning about these implementations does not stem from the number of variables or the program size, but rather from the large number of possible interleavings. These implementations are therefore prime candidates for model checking. We introduce an algorithm for verifying linearizability of singly-linked heap-based concurrent data structures. We consider a model consisting of an unbounded heap where each node consists an element from an unbounded data domain, with a restricted set of operations for testing and updating pointers and data elements. Our main result is that linearizability is decidable for programs ...
An execution containing operations performing queries or updating a concurrent object is linearizabl...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Abstract. Concurrent data structures with fine-grained synchroniza-tion are notoriously difficult to...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
International audienceWe study a family of implementations for linked lists using fine-grain synchro...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
Abstract. We present a comprehensive methodology for proving cor-rectness of concurrent data structu...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
An execution containing operations performing queries or updating a concurrent object is linearizabl...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Abstract. Concurrent data structures with fine-grained synchroniza-tion are notoriously difficult to...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
International audienceWe study a family of implementations for linked lists using fine-grain synchro...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
Abstract. We present a comprehensive methodology for proving cor-rectness of concurrent data structu...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
An execution containing operations performing queries or updating a concurrent object is linearizabl...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...