Concurrency bugs are notoriously difficult to detect because there can be vast combinations of interleavings among concurrent threads, yet only a small fraction can reveal them. Atomic-set serializability characterizes a wide range of concurrency bugs, including data races and atomicity violations. In this paper, we propose a two-phase testing technique that can effectively detect atomic-set serializability violations. In Phase I, our technique infers potential violations that do not appear in a concrete execution and prunes those interleavings that are violation-free. In Phase II, our technique actively controls a thread scheduler to enumerate these potential scenarios identified in Phase I to look for real violations. We have implemented ...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
AbstractEnsuring the correctness of multithreaded programs is difficult, due to the potential for un...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
Multi-core machines have become common and have led to an increase in multithreaded software. In ...
143 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2008.The third main contribution i...
Concurrency bugs, such as atomicity-violation bugs, are difficult to detect due to the uncertainty o...
Vaziri et al. propose a data-centric approach to synchronization. The key underlying concept of the...
Previously we presented atomic sets, memory locations that share some consistency property, and unit...
Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the...
Concurrency bugs are among the most difficult to test and diagnose of all software bugs. The multico...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Using thread-safe libraries can help programmers avoid the complexities of multithreading. However, ...
Multicore machines have become pervasive and, as a result, parallel programming has received renewe...
Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
AbstractEnsuring the correctness of multithreaded programs is difficult, due to the potential for un...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
Multi-core machines have become common and have led to an increase in multithreaded software. In ...
143 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2008.The third main contribution i...
Concurrency bugs, such as atomicity-violation bugs, are difficult to detect due to the uncertainty o...
Vaziri et al. propose a data-centric approach to synchronization. The key underlying concept of the...
Previously we presented atomic sets, memory locations that share some consistency property, and unit...
Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the...
Concurrency bugs are among the most difficult to test and diagnose of all software bugs. The multico...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Using thread-safe libraries can help programmers avoid the complexities of multithreading. However, ...
Multicore machines have become pervasive and, as a result, parallel programming has received renewe...
Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
AbstractEnsuring the correctness of multithreaded programs is difficult, due to the potential for un...