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...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
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...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
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...
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...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
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...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
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...
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...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
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...