Deterministic replay tools offer a compelling approach to debugging hard-to-reproduce bugs. Recent work on relaxed-deterministic replay techniques shows that replay debugging with low in-production overhead is possible. However, despite considerable progress, a replay-debugging system that offers not only low in-production runtime overhead but also high debugging utility, remains out of reach. To this end, we argue that the research community should strive for debug determinism-- a new determinism model premised on the idea that effective debugging entails reproducing the same failure and the same root cause as the original execution. We present ideas on how to achieve and quantify debug determinism and give preliminary evidence that a debug-deterministic system has potential to provide both low in-production overhead and high debugging utility.
['Cristian Zamfir', 'Gautam Altekar', 'George Candea', 'Ion Stoica']
Debug determinism: the sweet spot for replay-based debugging