Capítulo de livro Revisado por pares

Summarized Trace Indexing and Querying for Scalable Back-in-Time Debugging

2011; Springer Science+Business Media; Linguagem: Inglês

10.1007/978-3-642-22655-7_26

ISSN

1611-3349

Autores

Guillaume Pothier, Éric Tanter,

Tópico(s)

Logic, programming, and type systems

Resumo

Back-in-time debuggers offer an interactive exploration interface to execution traces. However, maintaining a good level of interactivity with large execution traces is challenging. Current approaches either maintain execution traces in memory, which limits scalability, or perform exhaustive on-disk indexing, which is not efficient enough. We present a novel scalable disk-based approach that supports efficient capture, indexing, and interactive navigation of arbitrarily large execution traces. In particular, our approach provides strong guarantees in terms of query processing time, ensuring an interactive debugging experience. The execution trace is divided into bounded-size execution blocks about which summary information is indexed. Blocks themselves are discarded, and retrieved as needed through partial deterministic replay. For querying, the index provides coarse answers at the level of execution blocks, which are then replayed to find the exact answer. Benchmarks on a prototype for Java show that the system is fast in practice, and outperforms existing back-in-time debuggers.

Referência(s)