< Terug naar vorige pagina

Publicatie

Framework-Aware Debugging with Stack Tailoring

Boekbijdrage - Boekhoofdstuk Conferentiebijdrage

Debugging applications that execute within a framework is not always easy:
the call-stack offered to developers is often a mix-up of stack frames that belong to different frameworks, introducing an unnecessary noise that prevents developers from focusing on the debugging task.
Moreover, relevant application code is not always available in the call-stack because it may have already returned, or is available in another thread.
In such cases, manually gathering all relevant information from these different sources is not only cumbersome but also costly.

In this paper we introduce Sarto, a call-stack instrumentation layer that allows developers to tailor the stack to make debugging framework-aware.
The goal is to improve the quality and amount information present in the call-stack to reduce debugging time without impacting the execution time.
Sarto proposes a set of six stack operations that combined hide irrelevant information, introduce missing information, and relate dispersed debugging sources before this is fed to the debugger.

We validate Sarto by applying it to four application cases using inherently different frameworks: unit testing, web server, remote promises and big data processing.
We showcase our experiences in using Sarto in the different frameworks, and perform some performance benchmarks to demonstrate that Sarto does not generate noticeable overhead when instrumenting a call-stack.
We also show that our solution reduces by half the amount of data stored to debug similar exceptions happening in a parallel setup.
Boek: Proceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages (DLS '20)
Series: DLS 2020 - Proceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages - Co-located with SPLASH 2020
Pagina's: 71-81
Aantal pagina's: 11
ISBN:978-1-4503-8175-8/20/11
Jaar van publicatie:2020
Toegankelijkheid:Open