Leveraging metamodels for model transformation testing

lecturer: Dr. BenoƮt Baudry

Model transformation is a core mechanism for model-driven engineering (MDE). Transformations are used to automate a large number of tedious, error-prone, and recurrent tasks that occur during software development. For example, transformations can be used to refine a design model, refactor a model by changing its structure, reverse engineer code to obtain an abstract model, or generate code from design models. These software development tasks are critical and thus the model transformations that automate them must be validated. In this presentation we look at how metamodels, that formally model the input and output domains of the transformation, can be used to drive model transformation testing. The presentation focuses on three aspects of testing. First, we will see how the model of the input domain serves as the basis for the definition of new coverage criteria. Second, we study how constraint solving techniques can be used to automatically generate models that serve as test data. Third, mutation analysis is adapted for model transformations.

Slides