Sound and efficient concurrency bug prediction
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 …
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 …
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 …
Smarttrack: efficient predictive race detection
Widely used data race detectors, including the state-of-the-art FastTrack algorithm, incur
performance costs that are acceptable for regular in-house testing, but miss races detectable …
performance costs that are acceptable for regular in-house testing, but miss races detectable …
Dynamic race detection with O (1) samples
Happens before-based dynamic analysis is the go-to technique for detecting data races in
large scale software projects due to the absence of false positive reports. However, such …
large scale software projects due to the absence of false positive reports. However, such …
The complexity of dynamic data race prediction
Writing concurrent programs is notoriously hard due to scheduling non-determinism. The
most common concurrency bugs are data races, which are accesses to a shared resource …
most common concurrency bugs are data races, which are accesses to a shared resource …
Atomicity checking in linear time using vector clocks
Multi-threaded programs are challenging to write. Developers often need to reason about a
prohibitively large number of thread interleavings to reason about the behavior of software …
prohibitively large number of thread interleavings to reason about the behavior of software …
HiRace: Accurate and Fast Data Race Checking for GPU Programs
Data races are egregious concurrency bugs that are especially problematic in performance-
oriented GPU codes where large thread counts and multiple shared memory regions tend to …
oriented GPU codes where large thread counts and multiple shared memory regions tend to …