Abstract. The choice of where a thread scheduling algorithm preempts one thread in order to execute another is essential to reveal concurrency errors such as atomicity violations, livelocks, and deadlocks. We present a scheduling strategy called preemption sealing that controls where and when a scheduler is disabled from preempting threads during program execution. We demonstrate that this strategy is effective in addressing two key problems in testing industrial-scale concurrent programs: (1) tolerating existing errors in order to find more errors, and (2) composi-tional testing of layered, concurrent systems. We evaluate the effective-ness of preemption sealing, implemented in the Chess tool, for these two scenarios on newly released conc...
Multi-core machines have become common and have led to an increase in multithreaded software. In ...
Concurrency bugs are notoriously difficult to detect because there can be vast combinations of inter...
We propose the first systematic concurrent program testing approach that is able to cover the entire...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
find, and are characterized by subtle interleaving patterns that tend to man-ifest in the field, whi...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Previous approaches to systematic state-space exploration for test-ing multi-threaded programs have ...
Abstract. Non-determinism of the thread schedule is a well-known problem in concurrent programming. ...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
The most prominent advantage of software verification over testing is a rigorous check of every poss...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
Multi-core machines have become common and have led to an increase in multithreaded software. In ...
Concurrency bugs are notoriously difficult to detect because there can be vast combinations of inter...
We propose the first systematic concurrent program testing approach that is able to cover the entire...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
find, and are characterized by subtle interleaving patterns that tend to man-ifest in the field, whi...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Previous approaches to systematic state-space exploration for test-ing multi-threaded programs have ...
Abstract. Non-determinism of the thread schedule is a well-known problem in concurrent programming. ...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
The most prominent advantage of software verification over testing is a rigorous check of every poss...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
Multi-core machines have become common and have led to an increase in multithreaded software. In ...
Concurrency bugs are notoriously difficult to detect because there can be vast combinations of inter...
We propose the first systematic concurrent program testing approach that is able to cover the entire...