Concurrent data structure algorithms have traditionally been designed using locks to regulate the behaviour of interacting threads, thus restricting access to parts of the shared memory to only one thread at a time. Since locks can lead to issues of performance and scalability, there has been interest in designing so-called nonblocking algorithms that do not use locks. However, designing and reasoning about concurrent systems is difficult, and is even more so for nonblocking systems, as evidenced by the number of incorrect algorithms in the literature. This thesis explores how the technique of model checking can aid the testing and verification of nonblocking data structure algorithms. Model checking is an automated verification method for...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Model checking is an automatic formal verification technique for establishing correctness of systems...
We describe an array-based nonblocking implementation of a concurrent bounded queue, due to Shann, H...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Model checking is a successful method for checking properties on the state space of concurrent, reac...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Model checking is a successful method for checking properties on the state space of concurrent, reac...
Abstract. We present a technique for automatically verifying safety properties of concurrent program...
The problem of model checking threads interacting purely via the standard synchronization primitives...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Verification of concurrent algorithms has been the focus of much research over a considerable period...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Modern computer systems often involve multiple processes or threads of control that communicate thro...
Model checking is an automated verification procedure, which checks that a model of a system satisfi...
Model checking has been used in various domains, to enable automatic verification of properties for ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Model checking is an automatic formal verification technique for establishing correctness of systems...
We describe an array-based nonblocking implementation of a concurrent bounded queue, due to Shann, H...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Model checking is a successful method for checking properties on the state space of concurrent, reac...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Model checking is a successful method for checking properties on the state space of concurrent, reac...
Abstract. We present a technique for automatically verifying safety properties of concurrent program...
The problem of model checking threads interacting purely via the standard synchronization primitives...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Verification of concurrent algorithms has been the focus of much research over a considerable period...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Modern computer systems often involve multiple processes or threads of control that communicate thro...
Model checking is an automated verification procedure, which checks that a model of a system satisfi...
Model checking has been used in various domains, to enable automatic verification of properties for ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Model checking is an automatic formal verification technique for establishing correctness of systems...
We describe an array-based nonblocking implementation of a concurrent bounded queue, due to Shann, H...