How Do Developers Solve Software-engineering Tasks on Model-based Code Generators? An Empirical Study Design (original) (raw)

Model-based code-generators are complex in nature; they are built using diverse technology platforms such as language workbenches, and model-to-model and model-to-text transformation languages. Due to the highly heterogeneous technology ecosystem in which code generators are built, understanding and maintaining their architecture pose numerous cognitive challenges to both novice and expert developers. Most of these challenges are associated with tasks that require to trace and pinpoint generation artifacts given a life-cycle requirement. We argue that such tasks can be classified in three families, namely, 1. information discovery, 2. information summarization, and 3. information filtering and isolation. Furthermore, we hypothesize that visualizations that allow the interactive exploration of model-to-model and model-to-text transformation compositions can significantly improve developers’ performance when reflecting on a code generation architecture, and its corresponding execution mechanics. In this paper we describe an empirical study which purpose is twofold: first to (a) understand the performance of developers (in terms of time and precision) when asked to discover, filter, and summarize information about a model-based code generator, using classic integrated development environments and editors, and to (b) measure and compare the performance of developers executing the same set of tasks using state-of-theart traceability visualizations for model-transformation compositions

Loading...

Loading Preview

Sorry, preview is currently unavailable. You can download the paper by clicking the button above.