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.