Efficient scalable thread-safety-violation detection: finding thousands of concurrency bugs during testing

G Li, S Lu, M Musuvathi, S Nath, R Padhye - Proceedings of the 27th …, 2019 - dl.acm.org
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 …

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 …

Predictive monitoring against pattern regular languages

Z Ang, U Mathur - Proceedings of the ACM on Programming Languages, 2024 - dl.acm.org
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 …

Optimal prediction of synchronization-preserving races

U Mathur, A Pavlogiannis, M Viswanathan - Proceedings of the ACM on …, 2021 - dl.acm.org
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 …

Entanglement detection with near-zero cost

S Westrick, J Arora, UA Acar - Proceedings of the ACM on Programming …, 2022 - dl.acm.org
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 …

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 …

Detecting concurrency memory corruption vulnerabilities

Y Cai, B Zhu, R Meng, H Yun, L He, P Su… - Proceedings of the 2019 …, 2019 - dl.acm.org
Memory corruption vulnerabilities can occur in multithreaded executions, known as
concurrency vulnerabilities in this paper. Due to non-deterministic multithreaded executions …

Coarser Equivalences for Causal Concurrency

A Farzan, U Mathur - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
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 …

Canary: practical static detection of inter-thread value-flow bugs

Y Cai, P Yao, C Zhang - Proceedings of the 42nd ACM SIGPLAN …, 2021 - dl.acm.org
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 …

What happens-after the first race? enhancing the predictive power of happens-before based dynamic race detection

U Mathur, D Kini, M Viswanathan - Proceedings of the ACM on …, 2018 - dl.acm.org
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 …