Record-Replay (RR) is a useful technique for investigating concurrency related bugs whose appearance are subject to particular thread schedulings. RR logs/records the nondeterministic inputs that influence a program, such as thread scheduling, shared memory operations, and external file/socket data. The recording can be replayed, providing the same inputs to replicate the bug.
Unfortunately, current systems are slow for languages running on a Virtual Machine, like Java, as they limit parallelism and force the Garbage Collector and Just-In-Time compiler to behave exactly the same between the recording and replay. RR systems designed for Java replay multi-threaded code incorrectly or require the use of a customized JVM. Few RR systems are capable of mutable replay, replaying with a patched version of the program, as the patch typically introduces divergences — operations that cannot be replayed because they were not recorded (or occur out of the observed order).
To alleviate this, we propose to develop JMVX, an RR system for Java. It will operate within Java bytecode, allowing it to tolerate benign divergences, differences in a program’s execution caused by functionally equivalent operations, introduced by the JVM. JMVX will be designed to support multithreaded replay by providing a total ordering of monitor/lock operations via a vector clock. We plan to experiment with other partial order implementations and specialized support for thread pools. Finally, JMVX will attempt to support mutable replay by allowing the replay to interact “live” with a mock version of a resource’s snapshot.
Tue 22 OctDisplayed time zone: Pacific Time (US & Canada) change
11:00 - 12:30 | |||
11:00 30mTalk | Full-Stack Collaboration for Robust Heterogeneity-Enabled AI Systems Doctoral Symposium Yuxin Qiu University of California at Riverside | ||
11:30 30mTalk | JMVX: Improving Record-Replay for Managed Languages Doctoral Symposium David Schwartz University of Illinois at Chicago | ||
12:00 30mTalk | Unified Analysis Techniques for Programs with Outcomes Doctoral Symposium Noam Zilberstein Cornell University |