Chis, Vasile-Andrei; Denker, Marcus; Girba, Tudor Adrian; Nierstrasz, Oscar Marius (2015). Practical domain-specific debuggers using the Moldable Debugger framework. Computer languages, systems & structures, 44, pp. 89-113. Pergamon Press 10.1016/j.cl.2015.08.005
Chis15c-PracticalDomainSpecificDebuggers.pdf - Accepted Version
Restricted to registered users only until 20 August 2017.
Available under License Creative Commons: Attribution-Noncommercial-No Derivative Works (CC-BY-NC-ND).
Download (3MB) | Request a copy
1-s2.0-S1477842415000561-main.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.
Download (2MB) | Request a copy
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 Debugger is 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.
|Item Type:||Journal Article (Original Article)|
|Division/Institute:||08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)
|UniBE Contributor:||Chis, Vasile-Andrei; Denker, Marcus; Girba, Tudor Adrian and Nierstrasz, Oscar Marius|
|Subjects:||000 Computer science, knowledge & systems
500 Science > 510 Mathematics
|Submitter:||Oscar Marius Nierstrasz|
|Date Deposited:||30 Jun 2016 07:45|
|Last Modified:||08 Feb 2017 12:03|
|Additional Information:||Special issue on the 6th and 7th International Conference on Software Language Engineering (SLE 2013 and SLE 2014)|
|Uncontrolled Keywords:||scg-pub scg15 snf-asa1 Andrei Chis, Tudor Girba, Debugging, Customization, Domain-specific tools, User interfaces, Programming environments, Smalltalk|