- When: Friday, October 14, 2016 from 11:00 AM to 12:00 PM
- Speakers: Dr. Tongping Liu
- Location: ENGR 4201
- Export to iCal
Record-and-replay (RnR) systems can greatly benefit software debugging, dynamic analysis, fault tolerance, and security forensics. However, none of existing systems satisfies all key properties of an ideal RnR system: (1) identical replay, (2) low recording overhead, (3) practicability, (4) convenience, and (5) scalability.
This paper proposes IDEALREPLAY, the first RnR system that simultaneously satisfies all of these properties for multithreaded programs. In order to preserve the same system states that are crucial for the identical replay, IDEALREPLAY performs re-executions in the same process as the original execution (without the exit), which is different from existing RnR systems. IDEALREPLAY greatly reduces the recording overhead by delaying the handling of the non-determinism caused by race conditions to re-execution phases: instead of recording the order of racy memory accesses, it monitors the divergence of system calls or synchronizations during re-executions, and employs repeated re-executions to achieve the identical replay. IDEALREPLAY guarantees the identical execution for programs with races, as long as races may change the order of system calls or synchronizations. Overall, IDEALREPLAY only imposes 1% recording overhead on average, which makes it one of the fastest RnR systems to date. IDEALREPLAY is a drop-in library, which is easy and practicable to be employed. To exemplify the usefulness of the identical record-and-replay, we build two tools on top of IDEALREPLAY: detector of heap overflow and use- after-free errors. These tools are also the fastest tools that can accurately and precisely report the full context of memory errors, with only 4% performance overhead.
Tongping Liu is an Assistant Professor at the University of Texas at San Antonio. He got his Ph.D. from the University of Massachusetts Amherst in 2014. His research spans runtime systems, operating systems, programming languages, compiler, and distributed systems. His primary research goal is to practically improve the security, reliability and performance of different software systems, especially parallel software. His work appeared in those most prestigious system conferences, such as SOSP, OSDI and OOPSLA. He has been awarded a 2015 Google Faculty Research Award for his work in improving the performance of multithreaded programs.Posted 5 years ago