Title
Practical domain-specific debuggers using the Moldable Debugger framework
Abstract
Understanding the run-time behavior of software systems can be a challenging activity. Debuggers are an essential category of tools used for this purpose as they give developers direct access to the running systems. Nevertheless, traditional debuggers rely on generic mechanisms to introspect and interact with the running systems, while developers reason about and formulate domain-specific questions using concepts and abstractions from their application domains. This mismatch creates an abstraction gap between the debugging needs and the debugging support leading to an inefficient and error-prone debugging effort, as developers need to recover concrete domain concepts using generic mechanisms. To reduce this gap, and increase the efficiency of the debugging process, we propose a framework for developing domain-specific debuggers, called the Moldable Debugger, that enables debugging at the level of the application domain. The Moldable Debuggeris adapted to a domain by creating and combining domain-specific debugging operations with domain-specific debugging views, and adapts itself to a domain by selecting, at run time, appropriate debugging operations and views. To ensure the proposed model has practical applicability (i.e., can be used in practice to build real debuggers), we discuss, from both a performance and usability point of view, three implementation strategies. We further motivate the need for domain-specific debugging, identify a set of key requirements and show how our approach improves debugging by adapting the debugger to several domains. HighlightsWe identify and discuss requirements for developing domain-specific debuggers.We present the Moldable Debugger, a model for developing domain-specific debuggers.We give real-world examples showing the usage of the Moldable Debugger model.We discuss a prototype implementation of the Moldable Debugger model.We discuss three different approaches for implementing debugging operations.
Year
DOI
Venue
2015
10.1016/j.cl.2015.08.005
Computer Languages, Systems & Structures
Keywords
Field
DocType
Debugging,Customization,Domain-specific tools,User interfaces,Programming environments,Smalltalk
Programming language,Debugger,Computer science,Usability,Smalltalk,Software system,Application domain,User interface,Debugging,Algorithmic program debugging
Journal
Volume
Issue
ISSN
44
PA
1477-8424
Citations 
PageRank 
References 
10
0.55
59
Authors
4
Name
Order
Citations
PageRank
Andrei Chis1545.90
Marcus Denker228523.94
Tudor Gîrba345626.89
Oscar Nierstrasz42404346.86