Taming the Beast: Past, Present, and Future of Race Detection
Witawas Srisa-an
Associate Professor
Computer Science and Engineering
University of Nebraska at Lincoln
Stuart
Building 113
Thursday, April 5th, 2012
12:45PM - 1:45PM
Slides
Abstract: As the speed of microprocessors tails off, exploiting the offering of multiple processing cores per chip is becoming an increasingly popular way for developers to achieve higher performance. A natural way to do this is to shift from writing purely sequential applications to employing thread-level parallelism in their applications. Writing correct concurrent programs can, however, be challenging, because improper synchronization of access to shared resources can lead to runtime errors such as deadlocks and data races, which are difficult to detect, isolate, and correct. The focus of my talk will be on recent research efforts to automatically and dynamically detect data races. I will first describe a prior state-of-the-art approach to precisely detect races (i.e., no false reporting) and then explain why the approach incurred extremely high overhead, making it unusable in deployed systems. Next, I will describe our latest overhead reduction technique based on a dynamic analysis that exploits the stationary object notion. Lastly, I will discuss our recent effort to create an automatic and transparent race-healing system for Java.
Bio: Witty Srisa-an is an Associate Professor in the Department of Computer Science and Engineering at University of Nebraska-Lincoln. His research focus is on the development of runtime systems such as garbage collection, thread synchronization, and automatic data race healing to enhance the efficiency and dependability of modern software. His other on-going research interests include the development of context-aware operating systems and providing runtime support for software engineers to effectively test software. He received his M.S and Ph.D. in Computer Science from Illinois Institute of Technology in 1998 and 2002, respectively.