Efficient scalable thread-safety-violation detection: finding thousands of concurrency bugs during testing
Concurrency bugs are hard to find, reproduce, and debug. They often escape rigorous in-
house testing, but result in large-scale outages in production. Existing concurrency-bug …
house testing, but result in large-scale outages in production. Existing concurrency-bug …
Sound and efficient concurrency bug prediction
Y Cai, H Yun, J Wang, L Qiao, J Palsberg - Proceedings of the 29th ACM …, 2021 - dl.acm.org
Concurrency bugs are extremely difficult to detect. Recently, several dynamic techniques
achieve sound analysis. M2 is even complete for two threads. It is designed to decide …
achieve sound analysis. M2 is even complete for two threads. It is designed to decide …
Predictive monitoring against pattern regular languages
While current bug detection techniques for concurrent software focus on unearthing low-
level issues such as data races or deadlocks, they often fall short of discovering more …
level issues such as data races or deadlocks, they often fall short of discovering more …
Optimal prediction of synchronization-preserving races
Concurrent programs are notoriously hard to write correctly, as scheduling nondeterminism
introduces subtle errors that are both hard to detect and to reproduce. The most common …
introduces subtle errors that are both hard to detect and to reproduce. The most common …
Entanglement detection with near-zero cost
Recent research on parallel functional programming has culminated in a provably efficient
(in work and space) parallel memory manager, which has been incorporated into the MPL …
(in work and space) parallel memory manager, which has been incorporated into the MPL …
Fast, sound, and effectively complete dynamic race prediction
A Pavlogiannis - Proceedings of the ACM on Programming Languages, 2019 - dl.acm.org
Writing concurrent programs is highly error-prone due to the nondeterminism in interprocess
communication. The most reliable indicators of errors in concurrency are data races, which …
communication. The most reliable indicators of errors in concurrency are data races, which …
Detecting concurrency memory corruption vulnerabilities
Memory corruption vulnerabilities can occur in multithreaded executions, known as
concurrency vulnerabilities in this paper. Due to non-deterministic multithreaded executions …
concurrency vulnerabilities in this paper. Due to non-deterministic multithreaded executions …
Coarser Equivalences for Causal Concurrency
Trace theory (formulated by Mazurkiewicz in 1987) is a principled framework for defining
equivalence relations for concurrent program runs based on a commutativity relation over …
equivalence relations for concurrent program runs based on a commutativity relation over …
Canary: practical static detection of inter-thread value-flow bugs
Concurrent programs are still prone to bugs arising from the subtle interleavings of threads.
Traditional static analysis for concurrent programs, such as data-flow analysis and symbolic …
Traditional static analysis for concurrent programs, such as data-flow analysis and symbolic …
What happens-after the first race? enhancing the predictive power of happens-before based dynamic race detection
Dynamic race detection is the problem of determining if an observed program execution
reveals the presence of a data race in a program. The classical approach to solving this …
reveals the presence of a data race in a program. The classical approach to solving this …