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...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
Model checking is an automatic formal verification technique for establishing correctness of systems...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Abstract. We propose a SAT-based bounded verification technique, called TCBMC, for threaded C progra...
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the ap...
Abstract. We present a technique for automatically verifying safety properties of concurrent program...
technical reportWe view shared memories as structures which define relations over the set of progra...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
Model checking is an automatic formal verification technique for establishing correctness of systems...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Abstract. We propose a SAT-based bounded verification technique, called TCBMC, for threaded C progra...
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the ap...
Abstract. We present a technique for automatically verifying safety properties of concurrent program...
technical reportWe view shared memories as structures which define relations over the set of progra...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
Model checking is an automatic formal verification technique for establishing correctness of systems...