Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings that needs to be accounted for. Higher-order programming features only exacerbate this difficulty. The need for tool support therefore increases as these features be-come more widespread. We investigate the P(CEK⋆)S abstract ma-chine as the foundation for tool support for detecting concurrency bugs. This abstract interpreter analyzes multi-threaded, higher-order programs with shared-store concurrency and a compare-and-swap synchronization primitive. In this paper, we evaluate two different approaches to reduce the size of the state space explored by the abstract interpreter. First, we integrate abstract garbage col-lection into the abstract inte...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Concurrency poses a major challenge for program verification, but it can also offer an opportunity t...
Lazy sequentialization has emerged as one of the most effective techniques to find bugs in concurren...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Concurrency bug detection is important to guarantee the correct behavior of multithread programs. Ho...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Writing ecient synchronization for multithreaded programs is notoriously hard. The resulting code of...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Lazy sequentialization has emerged as one of the most effective techniques to find bugs in concurren...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Concurrency poses a major challenge for program verification, but it can also offer an opportunity t...
Lazy sequentialization has emerged as one of the most effective techniques to find bugs in concurren...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Concurrency bug detection is important to guarantee the correct behavior of multithread programs. Ho...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Writing ecient synchronization for multithreaded programs is notoriously hard. The resulting code of...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Lazy sequentialization has emerged as one of the most effective techniques to find bugs in concurren...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Concurrency poses a major challenge for program verification, but it can also offer an opportunity t...
Lazy sequentialization has emerged as one of the most effective techniques to find bugs in concurren...