ChroniclerJ: Lightweight Recording of Nondeterministic Inputs to Reproduce Field Failures (System Implementation)

Bell, Jonathan Schaffer; Sarda, Nikhil; Kaiser, Gail E.

This archive contains the Java implementation of our system, Chronicler, described below: When programs fail in the field, developers are often left with limited information to diagnose the failure. Automated error reporting tools can assist in bug report generation but without precise steps from the end user it is often difficult for developers to recreate the failure. Advanced remote debugging tools aim to capture sufficient information from field executions to recreate failures in the lab but often have too much overhead to practically deploy. We present CHRONICLER, an approach to remote debugging that captures non-deterministic inputs to applications in a lightweight manner, assuring faithful reproduction of client executions. We evaluated CHRONICLER by creating a Java implementation, CHRONICLERJ, and then by using a set of benchmarks mimicking real world applications and workloads, showing its runtime overhead to be under 10% in most cases (worst case 8! 6%), while an existing tool showed overhead over 100% in the same cases (worst case 2,322%).


More About This Work

Academic Units
Computer Science
Published Here
June 27, 2013