Concurrency libraries can facilitate the development of multithreaded programs by providing concurrent implementations of familiar data types such as queues or sets. There exist many optimized algorithms that can achieve superior performance on multiprocessors by allowing concurrent data accesses without using locks. Unfortunately, such algorithms can harbor subtle concurrency bugs. Moreover, they require memory ordering fences to function correctly on relaxed memory models. To address these difficulties, we propose a verification approach that can exhaustively check all concurrent executions of a given test program on a relaxed memory model and can verify that they are observationally equivalent to a sequential execution. Our Check- Fence ...
Effectively handling multithreaded programs is an active field of research in the context of formal ...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
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...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
peer reviewedThis paper addresses the problem of verifying and correcting programs when they are mo...
technical reportWe view shared memories as structures which define relations over the set of progra...
Effectively handling multithreaded programs is an active field of research in the context of formal ...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
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...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
peer reviewedThis paper addresses the problem of verifying and correcting programs when they are mo...
technical reportWe view shared memories as structures which define relations over the set of progra...
Effectively handling multithreaded programs is an active field of research in the context of formal ...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...