Framework-aware debugging with stack tailoring - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2020

Framework-aware debugging with stack tailoring

Résumé

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.
Fichier principal
Vignette du fichier
Marr20b-DSL-Stack.pdf (1.2 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03043779 , version 1 (22-01-2021)
hal-03043779 , version 2 (04-10-2021)

Identifiants

Citer

Matteo Marra, Guillermo Polito, Elisa Gonzalez Boix. Framework-aware debugging with stack tailoring. SPLASH '20: Conference on Systems, Programming, Languages, and Applications, Software for Humanity, Nov 2020, Virtual USA, United States. pp.71-84, ⟨10.1145/3426422.3426982⟩. ⟨hal-03043779v2⟩
59 Consultations
87 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More