Sindarin: a Versatile Scripting API for the Pharo Debugger
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 to use for one-time-use scenarios.
In this article 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.
Univ. Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL - Centre de Recherche en Informatique Signal et Automatique de Lille
Sun 20 OctDisplayed time zone: Beirut change
16:00 - 17:30
|Lazy Pointer Update for Low Heap Compaction Pause TimesResearch Paper
|Sindarin: a Versatile Scripting API for the Pharo DebuggerResearch Paper
Thomas Dupriez Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL, Guillermo Polito Univ. Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL - Centre de Recherche en Informatique Signal et Automatique de Lille, Steven Costiou INRIA Lille, Vincent Aranega Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL, Stéphane Ducasse INRIA LilleMedia Attached
|Standard Object Out: Streaming Objects with Polymorphic Write StreamsExperience Paper
Marcel Weiher Hasso-Plattner-Institut (HPI), Germany, Robert Hirschfeld Hasso-Plattner-Institut (HPI), GermanyPre-print Media Attached