log in  |  register  |  feedback?  |  help  |  web accessibility
Logo
An effect-oriented approach to concurrency-bug detection and recovery
Tuesday, December 10, 2013, 11:00 am-12:00 pm Calendar
  • You are subscribed to this talk through .
  • You are watching this talk through .
  • You are subscribed to this talk. (unsubscribe, watch)
  • You are watching this talk. (unwatch, subscribe)
  • You are not subscribed to this talk. (watch, subscribe)
Abstract

Concurrency bugs are caused by unsynchronized interaction among threads. This complicated cause makes concurrency bugs much more difficult to detect and recover from than sequential bugs. With multi-threaded software becoming prevalent in the multi-core era, concurrency bugs are widespread. They frequently escape in-house bug detection and severely hurt system reliability during production runs.

This talk will present an effect-oriented approach to in-house concurrency-bug detection and production-run concurrency-bug failure recovery. I will first use a characteristics study to demonstrate that concurrency and sequential bugs have drastically different causes but mostly similar effects. I will then present two bug detection tools, ConMem and ConSeq. Guided by the effect patterns of concurrency bugs, ConMem and ConSeq can detect concurrency bugs before they manifest with higher coverage and accuracy than traditional cause-oriented approaches. Of course, no bug detection tool is perfect. Next, I will discuss how we build ConAir to handle bugs that escape into production runs. ConAir is a static code transformation tool that enables automatic failure recovery through rollback reexecution. Different from traditional rollback-reexecution techniques, ConAir leverages the effect patterns of concurrency bugs to avoid memory checkpoint and multi-threaded rollback. As a result, it incurs negligible run-time overhead (<1%) with no OS/hardware change. I will conclude the talk by discussing other research in my group that tackles concurrency bugs and performance bugs.

 

Bio

Shan Lu is the Claire Boothe Luce Assistant Professor of Computer Sciences at University of Wisconsin, Madison. She earned her Ph.D. at University of Illinois, Urbana-Champaign, in 2008. At University of Wisconsin, her group works on detecting, diagnosing, and fixing concurrency bugs and performance bugs. Shan Lu won NSF Career Award in 2010, and the Distinguished Alumni Educator Award from Department of Computer Science at University of Illinois in 2013. Her co-authored papers won the Best Paper Award at USENIX FAST in 2013, ACM-SIGPLAN CACM Research Highlight Nomation in 2011, and IEEE Micro Top Picks in 2006. She currently serves as the Information Director of ACM-SIGOPS.

This talk is organized by Jeff Foster