Effective Methods for Concurrent Program Debugging
Title: Effective Methods for Concurrent Program Debugging
Speaker: Dr. Jeff Huang (UIUC)
Time: 9:30, Tuesday, January 15th, 2013
Venue: Lecture Room, 3rd Floor, Building #5, State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences
Multicore is here to stay. To keep up with the hardware innovation, software developers must move from sequential programming to concurrent programming. However, this move is slow and challenging due to the exponential complexity in reasoning about concurrency. In particular, Heisenbugs such as data races, which are non-deterministic concurrency errors, pervasively infect concurrent software, making concurrent program debugging notoriously difficult. In this talk, I will discuss some of the major research challenges in concurrent program debugging together with several effective methods, developed during my thesis research, that make significant improvements over the prior art. I will focus on two techniques: LEAP – an order-based replay tool for multithreaded Java programs, and CLAP – a search-based system that uses SMT solvers and thread-local profiles to reproduce concurrency errors in C/C++ programs.
Jeff received his Ph.D. in Computer Science from The Hong Kong University of Science and Technology in December 2012, and will start as a Postdoc in UIUC in February. His research focuses on techniques and tools for improving concurrent software reliability, debugging effectiveness and efficiency, and the validation of such techniques on real-world systems. Jeff was the winner of PLDI Student Research Competition in 2012, and was a winner of the Professor Samuel Chanson Best Teaching Assistant Award in 2010.