2021
DOI: 10.1145/3434317
|View full text |Cite
|
Sign up to set email alerts
|

Optimal prediction of synchronization-preserving races

Abstract: 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 concurrency errors are (data) races, which occur when memory-conflicting actions are executed concurrently. Consequently, considerable effort has been made towards developing efficient techniques for race detection. The most common approach is dynamic race prediction: given an observed, race-free trace σ of a concurrent program, the ta… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 23 publications
(8 citation statements)
references
References 75 publications
0
8
0
Order By: Relevance
“…Predictive techniques aim to detect data races that can occur in other correct reorderings of memory accesses by observing one dynamic execution. Predictive techniques use partial order relations that are weaker than HB to allow to reconstruct other valid memory reorderings [37,47,48,66,67,73].…”
Section: Related Workmentioning
confidence: 99%
“…Predictive techniques aim to detect data races that can occur in other correct reorderings of memory accesses by observing one dynamic execution. Predictive techniques use partial order relations that are weaker than HB to allow to reconstruct other valid memory reorderings [37,47,48,66,67,73].…”
Section: Related Workmentioning
confidence: 99%
“…A necessary criterion to ensure correct reorderings of a trace is to maintain write-to-read orders so that the new interleaving explores the same code branches [54,55]. Predictive techniques for CPU programs use partial order relations that are weaker than HB to reconstruct valid memory reorderings and have shown promise in detecting more data races in real-world applications [19,23,24,31,38,42,49,54,55,61].…”
Section: Predictive Data Race Detectionmentioning
confidence: 99%
“…Several partial order relations weaker than HB have been proposed for predictive data race detection on CPUs (e.g., causally-precedes (CP) [61], weak-causally-precedes (WCP) [31], schedulable-happens-before (SHB) [41], strong-dependentlyprecedes (SDP) [19], doesn't-commute (DC) [54], M2 [49], weak-doesn't-commute (WDC) [55]), and sync-preserving races (SyncP) [42]. This work uses the WCP relation as the baseline and extends it to the GPU programming model.…”
Section: Predictive Partial Ordersmentioning
confidence: 99%
See 1 more Smart Citation
“…In the context of testing multi-threaded programs, partial orders play a crucial role in dynamic race detection techniques, and have been thoroughly exploited to explore tradeoffs between soundness, completeness, and running time of the underlying analysis. Prominent examples include the widespread use of HB [19,24,30,49,60], schedulably-happens-before (SHB) [37], causally-precedes (CP) [63], weak-causally-precedes (WCP) [31], doesn't-commute (DC) [53], and strong/weak-dependently-precedes (SDP/WDP) [28], M2 [48] and SyncP [41]. Beyond race detection, partial orders are often employed to detect and reproduce other concurrency bugs such as atomicity violations [9,26,42], deadlocks [57,65], and other concurrency vulnerabilities [70].…”
Section: Introductionmentioning
confidence: 99%