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.
Thu 8 Nov Times are displayed in time zone: Guadalajara, Mexico City, Monterrey change
13:30 - 15:00: Parallelism and CorrectnessOOPSLA at Studio 1 Chair(s): Werner DietlUniversity of Waterloo, Canada | |||
13:30 - 13:52 Talk | Thread-Safe Reactive Programming OOPSLA Joscha DrechslerTechnische Universität Darmstadt, Ragnar MogkTechnische Universität Darmstadt, Guido SalvaneschiTU Darmstadt, Mira MeziniTU Darmstadt DOI Pre-print File Attached | ||
13:52 - 14:15 Talk | RacerD: Compositional Static Race Detection OOPSLA Sam BlackshearFacebook, Nikos Gorogiannis, Peter W. O'HearnFacebook and University College London, Ilya SergeyYale-NUS College Pre-print | ||
14:15 - 14:37 Talk | What Happens-After the First Race? Enhancing the Predictive Power of Happens-Before Based Dynamic Race Detection OOPSLA Umang MathurUniversity of Illinois at Urbana-Champaign, Dileep KiniUniversity of Illinois at Urbana-Champaign, Mahesh ViswanathanUniversity of Illinois at Urbana-Champaign DOI Authorizer link Pre-print | ||
14:37 - 15:00 Talk | Sound Deadlock Prediction OOPSLA Christian Gram KalhaugeUniversity of California, Los Angeles, Jens PalsbergUniversity of California, Los Angeles |