PLSESep 9, 2019

Sindarin: A Versatile Scripting API for the Pharo Debugger

arXiv:1909.03658v111 citations
Originality Incremental advance
AI Analysis

This addresses the issue of inefficient debugging in software maintenance for developers, though it is incremental as it builds on prior research on scripting DSLs and moldable debuggers.

The paper tackles the problem of mainstream debuggers being poorly adapted to complex debugging scenarios by introducing Sindarin, a versatile scripting API that enables developers to automate and express various debugging strategies, successfully reproducing advanced breakpoints and non-trivial debugging mechanisms from existing literature.

Debugging is one of the most important and time consuming activities in software maintenance, yet mainstream debuggers are not well-adapted to several debugging scenarios. This has led to the research of new techniques covering specific families of complex bugs. Notably, recent research proposes to empower developers with scripting DSLs, plugin-based and moldable debuggers. However, these solutions are tailored to specific use-cases, or too costly for one-time-use scenarios. In this paper we argue that exposing a debugging scripting interface in mainstream debuggers helps in solving many challenging debugging scenarios. For this purpose, we present Sindarin, a scripting API that eases the expression and automation of different strategies developers pursue during their debugging sessions. Sindarin provides a GDB-like API, augmented with AST-bytecode-source code mappings and object-centric capabilities. To demonstrate the versatility of Sindarin, we reproduce several advanced breakpoints and non-trivial debugging mechanisms from the literature.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes