版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:Univ Bern Software Composit Grp CH-3012 Bern Switzerland Tudorgirba Com Basel Switzerland INRIA Lille Nord Europe RMoD Lille France
出 版 物:《COMPUTER LANGUAGES SYSTEMS & STRUCTURES》 (计算机语言、系统与结构)
年 卷 期:2015年第44卷第PartA期
页 面:89-113页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:Swiss National Science Foundation [200020-144126/1] Swiss National Science Foundation (SNF) [200020_144126] Funding Source: Swiss National Science Foundation (SNF)
主 题:Debugging Customization Domain-specific tools User interfaces Programming environments Smalltalk
摘 要: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. (C) 2015 Elsevier Ltd. All rights reserved.