The Taub Faculty of Computer Science Events and Talks
Thursday, 09.05.2013, 12:30
Deterministic application replay has many use cases like reproducing bugs in long-running applications. A key challenge for deterministic replay is to record and replay asynchronous events like signals or context switches between threads in parallel programs. Unfortunately, existing approaches either do not support the deterministic replay of asynchronous events, are hard to deploy, or incur a record and/or replay overhead of 100x or more. rr is a deterministic record/replay framework, that replays the execution of arbitrary binaries without requiring instrumentation of application code, so it is simultaneously low-overhead, general purpose, and easy to deploy. rr is an unified framework,
since it imposes no restrictions on the target application and replays all non-deterministic events - including asynchronous events - deterministically. For example, rr can replay self-modifying code that is common in modern
web browsers or a Java Virtual Machine (JVM). rr is a software-only solution that runs in user-space and requires no modifications to the operating system.