Journal Articles (Review Article) The Journal of Object Technology Year : 2023

Protocol-Based Interactive Debugging for Domain-Specific Languages

Abstract

Interactive debuggers are established tools used by developers to understand programs and localize faults. They are equally valuable in the context of model-driven development, when working on executable behavioral models. However, development costs of interactive debuggers for Domain-Specific Languages (DSLs) can be significant. In order to mitigate these costs, several reusable DSL-agnostic debugging solutions have been proposed. We argue that the applicability of these solutions is limited by being tied to a fixed set of debugging services, a specific language engineering approach, or a particular user interface. In this paper, we present a novel approach to provide interactive debugging services for executable DSLs through a reusable generic architecture. We propose a protocol allowing a generic interactive debugger to communicate with heterogeneous DSL runtimes, both for controlling the execution and for configuring the debugger with domain-specific breakpoints. The proposed debugger can itself be controlled using a reinterpretation of the Debug Adapter Protocol (DAP), for an effortless integration in existing Integrated Development Environments (IDEs) that support it. Using a prototype implementation based on JSON-RPC and two heterogeneous DSL runtimes, we show that our approach provides an off-the-shelf reusable interactive debugger that supports meaningful domain-specific breakpoints, and that can be used with minimal effort within an IDE such as Visual Studio Code.
Fichier principal
Vignette du fichier
main.pdf (521.59 Ko) Télécharger le fichier
Origin Publisher files allowed on an open archive
Licence

Dates and versions

hal-04124727 , version 1 (12-06-2023)

Licence

Identifiers

Cite

Josselin Enet, Erwan Bousse, Massimo Tisi, Gerson Sunyé. Protocol-Based Interactive Debugging for Domain-Specific Languages. The Journal of Object Technology, 2023, 22 (2), pp.2:1-14. ⟨10.5381/jot.2023.22.2.a6⟩. ⟨hal-04124727⟩
163 View
204 Download

Altmetric

Share

More