Thursday, March 15, 2007
4:15 pm
B17 Upson Hall

Computer Science
Spring 2007

Mayur Naik
Stanford University

Effective Static Race Detection for Java

Concurrent programs are notoriously difficult to write and debug, a problem that is becoming acute as concurrency becomes more common.  A fundamental and particularly insidious concurrency bug is a race: a condition in which a pair of threads simultaneously access the same memory location and at least one of those accesses is a write.  Despite thirty years of research on race detection, today's concurrent programs are riddled with races.

This talk presents a novel approach to detecting races in concurrent Java programs.  The approach is sound in that it detects all races and is precise in that it misidentifies few non-races as races.  The approach is also effective, finding tens to hundreds of serious and previously unknown synchronization bugs in real-world programs.

Bio: Mayur Naik is a fourth year Ph.D. student in the Computer Science Department at Stanford University, where he is advised by Professor Alex Aiken.  Mayur's research interests lie at the boundary of programming languages and software engineering, with a current focus on concurrency.  He obtained a B.E. in Computer Science from BITS, Pilani, India in 1999 and a M.S. in Computer Science from Purdue University in 2003.  He was awarded a Microsoft Fellowship in 2004-05.