Many multithreaded programs employ concurrent data types to safely share data among threads. However, highly-concurrent algorithms for even seemingly simple data types are difficult to implement correctly, especially when considering the relaxed memory ordering models commonly employed by today’s multiprocessors. The formal verification of such implementations is challenging as well because the high degree of concurrency leads to a large number of possible executions. In this case study, we develop a SAT-based bounded verification method and apply it to a representative example, a well-known two-lock concurrent queue algorithm. We first formulate a correctness criterion that specifically targets failures caused by concurrency; it demands th...
Model checking is an automatic formal verification technique for establishing correctness of systems...
Perhaps the most difficult aspect of designing a shared memory multiprocessor is the hardware protoc...
Effectively handling multithreaded programs is an active field of research in the context of formal ...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Abstract. We propose a SAT-based bounded verification technique, called TCBMC, for threaded C progra...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Abstract. We present a technique for automatically verifying safety properties of concurrent program...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
Model checking is an automatic formal verification technique for establishing correctness of systems...
Perhaps the most difficult aspect of designing a shared memory multiprocessor is the hardware protoc...
Effectively handling multithreaded programs is an active field of research in the context of formal ...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Abstract. We propose a SAT-based bounded verification technique, called TCBMC, for threaded C progra...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Abstract. We present a technique for automatically verifying safety properties of concurrent program...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
Model checking is an automatic formal verification technique for establishing correctness of systems...
Perhaps the most difficult aspect of designing a shared memory multiprocessor is the hardware protoc...
Effectively handling multithreaded programs is an active field of research in the context of formal ...