2018
DOI: 10.1145/3276514
|View full text |Cite
|
Sign up to set email alerts
|

RacerD: compositional static race detection

Abstract: Automatic static detection of data races is one of the most basic problems in reasoning about concurrency. We present RacerDÐa static program analysis for detecting data races in Java programs which is fast, can scale to large code, and has proven effective in an industrial software engineering scenario. To our knowledge, RacerD is the first inter-procedural, compositional data race detector which has been empirically shown to have non-trivial precision and impact. Due to its compositionality, it can analyze c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

1
54
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 64 publications
(55 citation statements)
references
References 35 publications
1
54
0
Order By: Relevance
“…In this section we place RacerDX in the field of static race detectors that have been subjected to formal analysis. Since the majority of the static race analyzers used in industry-ThreadSafe (Atkey and Sannella 2015), Coverity's analysis suite (Chou 2014), and RacerD (Blackshear et al 2018)despite being impactful in practice, do not come with any formal theorem about their algorithm, we focus on the only two race analyzers we know of, for which a formal statement has been made: Chord (Naik et al 2006;Raghothaman et al 2018) and RacerDX. Chord is a tool which strives to be sound, or to favour reduction of false negatives over false positives.…”
Section: Discussion and Related Workmentioning
confidence: 99%
See 3 more Smart Citations
“…In this section we place RacerDX in the field of static race detectors that have been subjected to formal analysis. Since the majority of the static race analyzers used in industry-ThreadSafe (Atkey and Sannella 2015), Coverity's analysis suite (Chou 2014), and RacerD (Blackshear et al 2018)despite being impactful in practice, do not come with any formal theorem about their algorithm, we focus on the only two race analyzers we know of, for which a formal statement has been made: Chord (Naik et al 2006;Raghothaman et al 2018) and RacerDX. Chord is a tool which strives to be sound, or to favour reduction of false negatives over false positives.…”
Section: Discussion and Related Workmentioning
confidence: 99%
“…The RacerD program analyzer searches for data races in Java programs, and it has had significantly more reported industrial impact than any other concurrency analysis that we are aware of. It was released as open source in October of 2017, and the OOPSLA'18 paper by Blackshear et al (2018) describes its design, and gives more details about its deployment. They report, for example, that over 2,500 concurrent data races found by RacerD have been fixed by Facebook developers, and that it has been used to support the conversion of Facebook's Android app rendering infrastructure from a single-threaded to a multi-threaded architecture.…”
Section: Context For the True Positives Theoremmentioning
confidence: 99%
See 2 more Smart Citations
“…§8 showed that though NullAway is unsound, it has been able to prevent nearly all NPEs in production Android code at Uber. The RacerD system for static data race detection [19] also aims for this threshold of few to no false negatives in practice, based on bugs observed in the field. We anticipate that future work will continue this trend of static analysis and type system design based on preventing nearly all errors previously observed in testing and production, rather than aiming for strict soundness.…”
Section: Related Workmentioning
confidence: 99%