Exploring efficient and scalable omniscient debugging for MDE

Thumbnail Image
Journal Title
Journal ISSN
Volume Title
University of Alabama Libraries

Model-Driven Engineering (MDE) has emerged as a software development paradigm that can assist in separating the issues of the problem space of a software system from a particular solution space of implementation. MDE approaches often use customized domain-specific modeling languages that capture the intent of a particular group of end users through abstractions and notations that fit a specific domain of interest. In MDE, the execution and evolution of models is commonly defined using model transformation languages, which can be used to specify the distinct needs of a requirements or engineering change at the software modeling level, or defining directly executable models. Like more traditional software development artifacts, both model transformations and executable models are subject to human error, and common software engineering practices (e.g., debugging) are still prevalent in MDE. The primary thrust of the work described in this dissertation concerns investigating the application of omniscient debugging in an MDE context. The work also explores how developers form and use queries during debugging tasks, thereby promoting a better understanding of the types of data developers seek during debugging tasks and how tool support can assist developers during these activities. Furthermore, as distributed development becomes ever more prevalent, I explored supporting collaborative development processes (e.g., paired debugging) in a distributed modeling environment. The work presented in this dissertation has impacted the MDE community by developing new applied techniques and provided an improved understanding of the process used by developers during debugging tasks.

Electronic Thesis or Dissertation
Computer science