iReplayer: In-situ and Identical Record-and-Replay for Multithreaded Applications
Hongyu Liu, Sam Silvestro, Wei Wang, Chen Tian, and Tongping Liu

TL;DR
iReplayer is a novel in-situ record-and-replay system for multithreaded applications that achieves identical replay within the same process, enabling more effective debugging with minimal performance overhead.
Contribution
It introduces the first in-situ, identical replay system for multithreaded programs, allowing error reproduction and debugging directly within the original process.
Findings
Achieves only 3% average performance overhead.
Enables automatic detection of buffer overflows and use-after-free bugs.
Supports interactive debugging integrated with GDB.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
