UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

RacerD: compositional static race detection

Blackshear, S; Gorogiannis, N; O'Hearn, P; Sergey, I; (2018) RacerD: compositional static race detection. Proceedings of the ACM on Programming Languages , 2 , Article 144. 10.1145/3276514. Green open access

[thumbnail of O'Hearn_RacerD. Compositional static race detection_VoR.pdf]
O'Hearn_RacerD. Compositional static race detection_VoR.pdf - Published version

Download (528kB) | Preview


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 shown to have non-trivial precision and impact. Due to its compositionality, it can analyze code changes quickly, and this allows it to perform continuous reasoning about a large, rapidly changing codebase as part of deployment within a continuous integration ecosystem. In contrast to previous static race detectors, its design favors reporting high-confidence bugs over ensuring their absence. RacerD has been in deployment for over a year at Facebook, where it has flagged over 2500 issues that have been fixed by developers before reaching production. It has been important in enabling the development of new code as well as fixing old code: it helped support conversion of part of the main Facebook Android app from a single-threaded to a multi-threaded architecture. In this paper we describe RacerD’s design, implementation, deployment and impact.

Type: Article
Title: RacerD: compositional static race detection
Open access status: An open access version is available from UCL Discovery
DOI: 10.1145/3276514
Publisher version: https://doi.org/10.1145/3276514
Language: English
Additional information: © 2018 Copyright held by the owner/author(s). This work is licensed under a Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/).
Keywords: Theory of computation, Program analysis, Software and its engineering, Concurrent programming structures
UCL classification: UCL
UCL > Provost and Vice Provost Offices
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10074292
Downloads since deposit
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item