Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations of shared-memory objects adhere to their given sequential specifications; sequential consistency, linearizability, and conflict serializability are the canonical variations of this problem. While verifying sequential consistency of systems with unbounded concurrency is known to be undecidable, we demonstrate that conflict serializability, and linearizability with fixed linearization points are EXPSPACE-complete, while the general linearizability problem is undecidable. Our (un)decidability proofs, besides bestowing novel theoretical results, also reveal novel program explorations strategies. For instance, we show that every violation to confl...
technical reportWe view shared memories as structures which define relations over the set of progra...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
We view shared memories as structures which define relations over the set of programs and their exec...
Specification and verification techniques for abstract data types that have been successful for sequ...
Abstract. We are interested in identifying and enforcing the isolation requirements of a concurrent ...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
We are interested in identifying and enforcing the isolation requirements ofa concurrent program, i....
Abstract. Concurrent data structures with fine-grained synchroniza-tion are notoriously difficult to...
Abstract. Distributed algorithms are inherently complex to verify. In this paper we show how to veri...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Abstract. In shared-memory multiprocessors sequential consistency o ers a natural tradeo between the...
technical reportWe view shared memories as structures which define relations over the set of progra...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
We view shared memories as structures which define relations over the set of programs and their exec...
Specification and verification techniques for abstract data types that have been successful for sequ...
Abstract. We are interested in identifying and enforcing the isolation requirements of a concurrent ...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
We are interested in identifying and enforcing the isolation requirements ofa concurrent program, i....
Abstract. Concurrent data structures with fine-grained synchroniza-tion are notoriously difficult to...
Abstract. Distributed algorithms are inherently complex to verify. In this paper we show how to veri...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Abstract. In shared-memory multiprocessors sequential consistency o ers a natural tradeo between the...
technical reportWe view shared memories as structures which define relations over the set of progra...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...