Framework-Aware Debugging with Stack Tailoring

Research output: Chapter in Book/Report/Conference proceedingConference paperResearch

Abstract

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.
Original languageEnglish
Title of host publicationProceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages (DLS '20)
PublisherACM
Pages71-84
Number of pages14
ISBN (Print)978-1-4503-8175-8/20/11
DOIs
Publication statusPublished - Nov 2020
EventDynamic Languages Symposium 2020 -
Duration: 18 Nov 202019 Nov 2020
https://conf.researchr.org/home/dls-2020

Conference

ConferenceDynamic Languages Symposium 2020
Abbreviated titleDLS '20
Period18/11/2019/11/20
Internet address

Fingerprint Dive into the research topics of 'Framework-Aware Debugging with Stack Tailoring'. Together they form a unique fingerprint.

Cite this