iReplayer: In-situ and Identical Record-and-Replay for Multithreaded Applications
Reproducing executions of multithreaded programs is very challenging due to many intrinsic and external non-deterministic factors. Existing RnR systems achieve significant progress in terms of performance overhead, but none targets the in-situ setting, in which replay occurs within the same process as the recording process. Also, most existing work cannot achieve identical replay, which may prevent the reproduction of some errors.
This paper presents iReplayer, which aims to identically replay multithreaded programs in the original process (under the "in-situ" setting). The novel in-situ and identical replay of iReplayer makes it more likely to reproduce errors, and allows it to directly employ debugging mechanisms (e.g. watchpoints) to aid failure diagnosis. Currently, iReplayer only incurs 3% performance overhead on average, which allows it to be always enabled in the production environment. iReplayer enables a range of possibilities, and this paper presents three examples: two automatic tools for detecting buffer overflows and use-after-free bugs, and one interactive debugging tool that is integrated with GDB.
Thu 21 Jun
|14:00 - 14:25|
Hongyu LiuUniversity of Texas at San Antonio, USA, Sam SilvestroUniversity of Texas at San Antonio, USA, Wei WangUniversity of Texas at San Antonio, USA, Chen TianHuawei Lab, USA, Tongping LiuMedia Attached
|14:25 - 14:50|
|14:50 - 15:15|
Jake RoemerOhio State University, Kaan GençOhio State University, USA, Michael BondOhio State UniversityMedia Attached
|15:15 - 15:40|