A Study of Real-World Data Races in Golang

被引:8
|
作者
Chabbi, Milind [1 ]
Ramanathan, Murali Krishna [1 ]
机构
[1] Uber Technol Inc, Programming Syst Grp, Sunnyvale, CA 94086 USA
关键词
Data race; Golang; Dynamic analysis;
D O I
10.1145/3519939.3523720
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The concurrent programming literature is rich with tools and techniques for data race detection. Less, however, has been known about real-world, industry-scale deployment, experience, and insights about data races. Golang (Go for short) is a modern programming language that makes concurrency a first-class citizen. Go offers both message passing and shared memory for communicating among concurrent threads. Go is gaining popularity in modern microservice-based systems. Data races in Go stand in the face of its emerging popularity. In this paper, using our industrial codebase as an example, we demonstrate that Go developers embrace concurrency and show how the abundance of concurrency alongside language idioms and nuances make Go programs highly susceptible to data races. Google's Go distribution ships with a built-in dynamic data race detector based on ThreadSanitizer. However, dynamic race detectors pose scalability and flakiness challenges; we discuss various software engineering trade-offs to make this detector work effectively at scale. We have deployed this detector in Uber's 46 million lines of Go codebase hosting 2100 distinct microservices, found over 2000 data races, and fixed over 1000 data races, spanning 790 distinct code patches submitted by 210 unique developers over a six-month period. Based on a detailed investigation of these data race patterns in Go, we make seven high-level observations relating to the complex interplay between the Go language paradigm and data races.
引用
收藏
页码:474 / 489
页数:16
相关论文
共 50 条
  • [41] Developing real-world evidence from real-world data: Transforming raw data into analytical datasets
    Bastarache, Lisa
    Brown, Jeffrey S.
    Cimino, James J.
    Dorr, David A.
    Embi, Peter J.
    Payne, Philip R. O.
    Wilcox, Adam B.
    Weiner, Mark G.
    LEARNING HEALTH SYSTEMS, 2022, 6 (01):
  • [42] Breast cancer in Twitter: A real-world data exploratory study
    Bayona, R. Sanchez
    Chang-Azancot, L.
    Alvarez de Mon, M. A.
    Llavero, M.
    Vallejo, M.
    Gardeazabal, I.
    Salas, D.
    Sala Elarre, P.
    Baraibar Argota, I.
    Eguren, I.
    Santisteban Eslava, M.
    Ceniceros, L.
    Castanon Alvarez, E.
    ANNALS OF ONCOLOGY, 2018, 29
  • [43] Data Collection Impacts on Study Costs: A Real-World Analysis
    Tessmer, Megan
    Staloch, Jessica
    Streib, Christopher D.
    Silva, Luis
    Gieseke, Jessica
    Nierengarten, Elizabeth
    Staugaitis, Abbey
    STROKE, 2024, 55
  • [44] Cenobamate: real-world data from a retrospective multicenter study
    Lauxmann, Stephan
    Heuer, David
    Heckelmann, Jan
    Fischer, Florian P.
    Schreiber, Melanie
    Schriewer, Elisabeth
    Widman, Guido
    Weber, Yvonne
    Lerche, Holger
    Alber, Michael
    Schuh-Hofer, Sigrid
    Wolking, Stefan
    JOURNAL OF NEUROLOGY, 2024, : 6596 - 6604
  • [45] Real-World Pitfalls of Analyzing Real-World Data: A Cautionary Note and Path Forward
    Cooper, John D.
    Shou, Karen
    Sunderland, Kevin
    Pham, Kevin
    Thornton, Jennifer A.
    Destefano, Christin B.
    JCO CLINICAL CANCER INFORMATICS, 2023, 7
  • [46] Real-World Evidence: A Review of Real-World Data Sources Used in Orthopaedic Research
    Hak, David J.
    Mackowiak, John I.
    Irwin, Debra E.
    Aldridge, Molly L.
    Mack, Christina D.
    JOURNAL OF ORTHOPAEDIC TRAUMA, 2021, 35 : S6 - S12
  • [47] Real-World Pitfalls of Analyzing Real-World Data: A Cautionary Note and Path Forward
    Cooper, John D.
    Shou, Karen
    Sunderland, Kevin
    Pham, Kevin
    Thornton, Jennifer A.
    DeStefano, Christin B.
    JCO CLINICAL CANCER INFORMATICS, 2023, 7 : e2300097
  • [48] A DIAGNOSTIC FRAMEWORK TO EVALUATE REAL-WORLD DATA SOURCES FOR REAL-WORLD EVIDENCE GENERATION
    Denysyk, L.
    Doyle, J.
    Sood, R.
    VALUE IN HEALTH, 2018, 21 : S89 - S89
  • [49] Real-World Data and Real-World Evidence in Healthcare in the United States and Europe Union
    Zou, Kelly H.
    Berger, Marc L.
    BIOENGINEERING-BASEL, 2024, 11 (08):
  • [50] ANALYSIS OF REAL-WORLD EVIDENCE AND REAL-WORLD DATA BY CONITEC, BRAZILIAN HTA AGENCY
    Nita, M. E.
    Riveros, B. S.
    Vaz, P.
    Mussolino, F.
    VALUE IN HEALTH, 2016, 19 (03) : A286 - A286