pith. sign in

arxiv: 1704.02432 · v3 · pith:PXGTXQ3Hnew · submitted 2017-04-08 · 💻 cs.PL · cs.SE

Dynamic Race Prediction in Linear Time

classification 💻 cs.PL cs.SE
keywords executionlineartimeapproachdetectingproblemprogrammersrace
0
0 comments X
read the original abstract

Writing reliable concurrent software remains a huge challenge for today's programmers. Programmers rarely reason about their code by explicitly considering different possible inter-leavings of its execution. We consider the problem of detecting data races from individual executions in a sound manner. The classical approach to solving this problem has been to use Lamport's happens-before (HB) relation. Until now HB remains the only approach that runs in linear time. Previous efforts in improving over HB such as causally-precedes (CP) and maximal causal models fall short due to the fact that they are not implementable efficiently and hence have to compromise on their race detecting ability by limiting their techniques to bounded sized fragments of the execution. We present a new relation weak-causally-precedes (WCP) that is provably better than CP in terms of being able to detect more races, while still remaining sound. Moreover it admits a linear time algorithm which works on the entire execution without having to fragment it.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 2 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. Critical Sections Are Not Per-Thread: A Trace Semantics for Lock-Based Concurrency

    cs.PL 2026-03 unverdicted novelty 7.0

    Critical sections protected by locks are not confined to single threads; a trace model shows they can span multiple threads in general C/Pthread executions.

  2. Partial Orders for Precise and Efficient Dynamic Deadlock Prediction

    cs.PL 2025-02 unverdicted novelty 6.0

    Introduces the TRW partial order for sound deadlock prediction and a weakened variant for completeness, both efficiently computable and agreeing on benchmarks.