Peeking into the Past: Efficient Checkpoint-Assisted Time-Traveling Debugging

Armando Miraglia, Dirk Vogt, Herbert Bos, Andy Tanenbaum, Cristiano Giuffrida

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

Debugging long-lived latent software bugs that manifest themselves only long after their introduction in the system is hard. Even state-of-the-artrecord/replay debugging techniques are of limited use to identify the rootcause of long-lived latent bugs in general and event-driven bugs in particular. We propose DeLorean, a new end-to-end solution for time-travelling debugging based on fast memory checkpointing. Our design trades off replay guarantees with efficient support for history-aware debug queries (or time-travelling introspection) and provides novel analysis tools to diagnose event-driven latent software bugs. DeLorean imposes low run-time performance and memory overhead while preserving in memory as much history information as possible by deduplicating and/or compressing the collected data. We evaluate DeLorean byextensive experimentation, exploring the performance-memory tradeoffs in different configurations and comparing our results against state-of-the-art solutions. We show that DeLorean can efficiently support high-frequency checkpoints and store millions of them in memory.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE 27th International Symposium on Software Reliability Engineering, ISSRE 2016
PublisherACM, IEEE Computer Society
Pages455-466
Number of pages12
ISBN (Electronic)9781467390019
DOIs
Publication statusPublished - 5 Dec 2016
Event27th IEEE International Symposium on Software Reliability Engineering, ISSRE 2016 - Ottawa, United States
Duration: 23 Oct 201627 Oct 2016

Conference

Conference27th IEEE International Symposium on Software Reliability Engineering, ISSRE 2016
CountryUnited States
CityOttawa
Period23/10/1627/10/16

Fingerprint Dive into the research topics of 'Peeking into the Past: Efficient Checkpoint-Assisted Time-Traveling Debugging'. Together they form a unique fingerprint.

Cite this