How debuggers work: algorithms, data structures, and architecture
How debuggers work: algorithms, data structures, and architecture
Domain-specific languages: an annotated bibliography
ACM SIGPLAN Notices
Debugging programs after structure-changing transformation
Debugging programs after structure-changing transformation
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
Towards domain-driven development: the smartTools software factory
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Weaving a debugging aspect into domain-specific language grammars
Proceedings of the 2005 ACM symposium on Applied computing
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Domain-specific languages (DSLs) assist a domain expert (or end-user) in writing a software program using idioms that are closer to the abstractions found in a specific problem domain. Language tool support for DSLs is lacking, however, when compared to the capabilities provided for standard general purpose languages (e.g., Java and C++). For example, support for debugging and testing a program written in a DSL is often nonexistent. A DSL grammar serves as the primary artifact for defining DSLs from a higher level of abstraction. This paper describes an investigation into a grammar-driven technique to build a testing tool from existing DSL grammars. The DSL grammars are used to generate the hooks needed to interface with a supporting infrastructure written for an Integrated Development Environment (IDE) that assists in debugging and testing a program written in a DSL. We describe a DSL framework that we have implemented to generate DSL testing tools (e.g., debugger and test engine). This framework demonstrates the feasibility and applicability of using the information derived from DSL grammars and existing software components and services to support end-user debugging and testing in a domain friendly programming environment.