January 25th, 2012 — Finding Race Condition and Data Races Effectively — Madan Musuvathi

Published: Sun 01 January 2012
By nwcpp

In 2012.

Time and Location

January 25th, 2012 at 7:00 PM
Microsoft Campus.
(note room change).
This meeting was originally scheduled for Jan 18th but postponed due to snow.

Come at 6:30pm for pizza supplied by Microsoft Server and Tools.


In this talk, I will describe two MSR tools, Cuzz and DataCollider, for finding concurrency errors. Cuzz uses a randomized algorithm to insert delays in a concurrent program to force race conditions with probabilistic guarantees. Cuzz is easy to use and is integrated with Microsoft’s Application Verifier. DataCollider uses hardware facilities in interesting ways to find data races with little runtime overhead. While other data-race detection techniques incur a 1000% runtime overhead or more, DataCollider incurs about 0 to 20% overhead.


Madan Musuvathi is a Senior Researcher in the Research in Software Engineering group at Microsoft Research. His research focus is on scalable analysis of concurrent systems. More broadly, his interests include systems, program analysis, model checking, verification, and theorem proving. He also spends a lot of time at Microsoft building analysis tools to improve the productivity of software developers and testers.