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 vertex stores 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 ...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Concurrency in data structures is crucial to the performance of multithreaded programs in shared-mem...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
Abstract. We present a comprehensive methodology for proving cor-rectness of concurrent data structu...
We present a linearizable, lock-free concurrent binomial heap. In our experience, a binomial heap is...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
We study a family of implementations for linked lists using finegrain synchronisation. This approach...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
Abstract. Distributed algorithms are inherently complex to verify. In this paper we show how to veri...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Concurrency in data structures is crucial to the performance of multithreaded programs in shared-mem...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
Abstract. We present a comprehensive methodology for proving cor-rectness of concurrent data structu...
We present a linearizable, lock-free concurrent binomial heap. In our experience, a binomial heap is...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
We study a family of implementations for linked lists using finegrain synchronisation. This approach...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
Abstract. Distributed algorithms are inherently complex to verify. In this paper we show how to veri...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Concurrency in data structures is crucial to the performance of multithreaded programs in shared-mem...
The notions of serializability, linearizability and sequential consistency are used in the specifica...