Skip to content

Opening book details…

Can I read A Study of Real-World Data Races in Golang on EtoBox?

A Study of Real-World Data Races in Golang by Chabbi, Milind; Ramanathan, Murali Krishna is a scholarly article available to read on EtoBox.

What is A Study of Real-World Data Races in Golang about?

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 fix

Author
Chabbi, Milind; Ramanathan, Murali Krishna
Published
2022
Language
EN

More by Chabbi, Milind; Ramanathan, Murali Krishna

Browse all works by Chabbi, Milind; Ramanathan, Murali Krishna