The notions of serializability, linearizability and sequential consistency are used in the specification of concurrent systems. We show that the model checking problem for each of these properties can be cast in terms of the containment of one regular language in another regular language shuffled using a semi-commutative alphabet. The three model checking problems are shown to be, respectively, in Pspace, in Expspace, and undecidable. 1 Introduction A common way of specifying concurrent systems is to describe the desired sequential behavior of the system, and then to allow the implementation to execute certain operations in parallel, provided the appearance of sequential behavior is maintained for a suitable observer. The earliest such not...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Perhaps the most difficult aspect of designing a shared memory multiprocessor is the hardware protoc...
Model checking is an automatic formal verification technique for establishing correctness of systems...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Specification and verification techniques for abstract data types that have been successful for sequ...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
Abstract. The design of concurrent algorithms tends to be a long and difficult process. Increasing t...
Abstract. Concurrent data structures with fine-grained synchroniza-tion are notoriously difficult to...
We view shared memories as structures which define relations over the set of programs and their exec...
In the formal verification of software systems, model-checking is one of the most studied and applie...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the ap...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Perhaps the most difficult aspect of designing a shared memory multiprocessor is the hardware protoc...
Model checking is an automatic formal verification technique for establishing correctness of systems...
AbstractThe notions of serializability, linearizability, and sequential consistency are used in the ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Abstract. We investigate the algorithmic feasibility of checking whether concurrent implementations ...
Specification and verification techniques for abstract data types that have been successful for sequ...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
Abstract. The design of concurrent algorithms tends to be a long and difficult process. Increasing t...
Abstract. Concurrent data structures with fine-grained synchroniza-tion are notoriously difficult to...
We view shared memories as structures which define relations over the set of programs and their exec...
In the formal verification of software systems, model-checking is one of the most studied and applie...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the ap...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Perhaps the most difficult aspect of designing a shared memory multiprocessor is the hardware protoc...
Model checking is an automatic formal verification technique for establishing correctness of systems...