Previous approaches to systematic state-space exploration for test-ing multi-threaded programs have proposed context-bounding [20] and depth-bounding [6] to be effective ranking algorithms for test-ing multithreaded programs. This paper proposes two new metrics to rank thread schedules for systematic state-space exploration. Our metrics are based on characterization of a concurrency bug using v (the minimum number of distinct variables that need to be in-volved for the bug to manifest) and t (the minimum number of distinct threads among which scheduling constraints are required to manifest the bug). Our algorithm is based on the hypothesis that in practice, most concurrency bugs have low v (typically 1-2) and low t (typically 2-4) character...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
Abstract—As computers become more and more powerful, programs are increasingly split up into multipl...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Multithreaded programs are difficult to get right because of unexpected interaction between concurre...
The advent of multicore processors has necessitated the use of parallelism to extract greater softwa...
While multi-threading has become commonplace in many application domains (e.g., embedded systems, di...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Many multithreaded programs incur concurrency bugs. A modified version of such a program, which the ...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
With the increasing dependency on software systems, we require them to be reliable and correct. Sof...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
Abstract—As computers become more and more powerful, programs are increasingly split up into multipl...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Multithreaded programs are difficult to get right because of unexpected interaction between concurre...
The advent of multicore processors has necessitated the use of parallelism to extract greater softwa...
While multi-threading has become commonplace in many application domains (e.g., embedded systems, di...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Many multithreaded programs incur concurrency bugs. A modified version of such a program, which the ...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
With the increasing dependency on software systems, we require them to be reliable and correct. Sof...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
Abstract—As computers become more and more powerful, programs are increasingly split up into multipl...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...