All ETDs from UAB

Advisory Committee Chair

Jeff Gray

Advisory Committee Members

Barrett Bryant

Marjan Mernik

Mikhail Auguston

Changcui Zhang

Brian Toone

Document Type


Date of Award


Degree Name by School

Doctor of Philosophy (PhD) College of Arts and Sciences


Domain-specific languages (DSLs) assist a software developer (or end-user) in writing a program using idioms that are similar to the abstractions found in a specific problem domain. Testing tool support for DSLs is lacking when compared to the capabilities provided for standard general-purpose languages (GPLs), such as Java and C++. For example, support for debugging and unit testing a program written in a DSL is often non-existent. The lack of a debugger and unit test engine at the proper abstraction level limits an end-user‟s ability to discover and locate faults in a DSL program. This dissertation describes a grammar-driven technique to build a debugging and unit testing tool generation framework by adaptations to existing DSL grammars. This approach leverages existing GPL testing tools to indirectly exercise the end-user‟s debug and test intentions at the DSL level. The adaptations to DSL grammars represent the hooks needed to interface with a supporting infrastructure constructed for an Integrated Development Environment (IDE) that assists in debugging and unit testing a program written in a DSL. The contribution represents a coordinated approach to bring essential software tools (e.g., debuggers and test engines) to different types of DSLs (e.g., imperative, declarative, and hybrid). This approach hides from the end-users the accidental complexities associated with expanding the focus of a language environment to include testing tools. During the testing tool generation process, crosscutting concerns iv were observed in representations of DSL grammars. To address these particular crosscutting concerns, an investigation into the principles of aspect-oriented programming applied to grammars has been conducted. A domain-specific aspect language, called AspectG, has been designed and implemented, which is focused within the domain of language specification. This dissertation outlines the challenges and issues that exist when designing aspect languages that assist in modularizing crosscutting concerns in grammars. The research described in the dissertation addresses a long-term goal of empowering end-users with development tools for particular DSL problem domains at the proper level of abstraction without depending on a specific GPL.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.