Poster: RIPT - An Efficient Multi-Core Record-Replay System

Jiashuo Liang,Guancheng Li,Chao Zhang,Ming Yuan,Xingman Chen,Xinhui Han
DOI: https://doi.org/10.1145/3372297.3420021
2020-01-01
Abstract:Given the same input, a program may not behave the same in two runs due to some non-deterministic features, e.g., context switch and randomization. Such behaviors would cause non-deterministic program bugs which are hard to discover or diagnose. Record-and-replay is a promising technique to address such issues, however, performance and transparency are the main obstacles of existing works. In this poster, we propose a novel record-and-replay system named RIPT. RIPT utilizes Intel Processor Trace to record control flow information with very low overhead, and transparently captures non-deterministic sources such as system calls and signals with a kernel module. During replay, RIPT recovers the effect of non-deterministic events from the collected information, and makes target programs behave the same as recorded. We evaluate it with real-world program bugs and show that RIPT works well in practice.
What problem does this paper attempt to address?