Thu 16 Jun 2022 13:50 - 14:10 at Kon-Tiki - Concurrency Chair(s): Mike Dodds
Fri 17 Jun 2022 01:50 - 02:10 at Kon-Tiki - Concurrency

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. Gois 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 code base 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. Dynamic race detectors pose scalability and flakiness challenges; we discuss various software engineering tradeoffs to scale this detector to work effectively at scale. We have deployed this detector in our 50-million lines of Go codebase hosting 2100 distinct microservices, found over2000 data races, fixed over 1000 data races, spanning 790distinct 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.

Thu 16 Jun

Displayed time zone: Pacific Time (US & Canada) change

13:30 - 14:50
ConcurrencyPLDI at Kon-Tiki +12h
Chair(s): Mike Dodds Galois, Inc.
13:30
20m
Talk
A Flexible Type System for Fearless Concurrency
PLDI
Mae Milano University of California, Berkeley, Joshua Turcotti University of California, Berkeley, Andrew C. Myers Cornell University
DOI
13:50
20m
Talk
A Study of Real-world Data Races in Golang
PLDI
Milind Chabbi Uber Technologies Inc., Murali Krishna Ramanathan Uber Technologies Inc.
DOI
14:10
20m
Talk
Checking Robustness to Weak Persistency Models
PLDI
Hamed Gorjiara University of California, Irvine, Weiyu Luo University of California, Irvine, Alex Lee University of California, Irvine, Guoqing Harry Xu University of California at Los Angeles, Brian Demsky University of California, Irvine
DOI
14:30
20m
Talk
Sound Sequentialization for Concurrent Program Verification
PLDI
Azadeh Farzan University of Toronto, Dominik Klumpp University of Freiburg, Andreas Podelski University of Freiburg, Germany
DOI File Attached

Fri 17 Jun

Displayed time zone: Pacific Time (US & Canada) change

01:30 - 02:50
ConcurrencyPLDI at Kon-Tiki
01:30
20m
Talk
A Flexible Type System for Fearless Concurrency
PLDI
Mae Milano University of California, Berkeley, Joshua Turcotti University of California, Berkeley, Andrew C. Myers Cornell University
DOI
01:50
20m
Talk
A Study of Real-world Data Races in Golang
PLDI
Milind Chabbi Uber Technologies Inc., Murali Krishna Ramanathan Uber Technologies Inc.
DOI
02:10
20m
Talk
Checking Robustness to Weak Persistency Models
PLDI
Hamed Gorjiara University of California, Irvine, Weiyu Luo University of California, Irvine, Alex Lee University of California, Irvine, Guoqing Harry Xu University of California at Los Angeles, Brian Demsky University of California, Irvine
DOI
02:30
20m
Talk
Sound Sequentialization for Concurrent Program Verification
PLDI
Azadeh Farzan University of Toronto, Dominik Klumpp University of Freiburg, Andreas Podelski University of Freiburg, Germany
DOI File Attached