Affiliation:
1. Facebook, USA
2. Facebook, UK / Middlesex University, UK
3. Facebook, UK / University College London, UK
4. Yale-NUS College, Singapore / University College London, UK
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 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.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
55 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Accurate Static Data Race Detection for C;Lecture Notes in Computer Science;2024-09-11
2. Precise Compositional Buffer Overflow Detection via Heap Disjointness;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
3. An empirical application of user-guided program analysis;China Communications;2024-07
4. Hyper Hoare Logic: (Dis-)Proving Program Hyperproperties;Proceedings of the ACM on Programming Languages;2024-06-20
5. SSRD: Shapes and Summaries for Race Detection in Concurrent Data Structures;Proceedings of the 2024 ACM SIGPLAN International Symposium on Memory Management;2024-06-20