Testing Model Transformations in Model Driven Engineering

13 June 2008. Benoit Baudry (INRIA, Rennes, France).

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. I will present the work we have developed for testing model transformations. This work is decomposed in three parts: the definition of coverage criteria on the input domain of model transformations, defined as a metamodel; the adaptation of mutation analysis to tackle specific faults that occur during transformation; the automatic generation of models that can serve as test data, using constraint solving techniques.