Toward Generating Reducible Replay Logs

Toward Generating Reducible Replay Logs
PLDI 2011, 23%=55/236

Logging and replay is important to reproducing software failures and recovering from failures. Replaying a long execution is time consuming, especially when replay is further integrated with runtime techniques that require expensive instrumentation, such as dependence detection. In this paper, we propose a technique to reduce a replay log while retaining its ability to reproduce a failure. While traditional logging records only system calls and signals, our technique leverages the compiler to selectively collect additional information on the fly. Upon a failure, the log can be reduced by analyzing itself. The collection is highly optimized. The runtime overhead is trivial (2.6% average) and the size of additional log is comparable to the original log. Substantial reduction can be cost effectively achieved through a search based algorithm. The reduced log is guaranteed to reproduce the failure.

  author    = {Kyu Hyung Lee and
               Yunhui Zheng and
               Nick Sumner and
               Xiangyu Zhang},
  title     = {Toward generating reducible replay logs},
  booktitle = {PLDI},
  year      = {2011},
  pages     = {246-257},
  ee        = {},
  crossref  = {DBLP:conf/pldi/2011},
  bibsource = {DBLP,}