Site Reliability and Outage Management
Open-sourcing RacerD: Fast static race detection at scale

Open-sourcing RacerD: Fast static race detection at scale

10/19/2017 · Sam Blackshear, Peter O'Hearn

What this post added

Introduced RacerD, an open-source static race detector for Java programs that operates without running the program. RacerD uses symbolic reasoning to identify data races, has been running in production for 10 months on Facebook's Android codebase, and has caught over 1000 multi-threading issues. The post details the challenges of concurrent programming at scale, the design decisions made for RacerD (compositionality, tracking lock/thread info, ownership analysis), and provides examples of its reasoning.

Read the original post ↗