Project-Team : triskell
Section: New Results
Model-Based Testing
Validation in a MDE context : Models and Model Transformations testing
Validation in a MDE context : Models and Model Transformations testing
Participants: Benoit Baudry, Franck Fleurey, Jim Steel, Jean-Marie Mottu, Yves le Traon.Model-driven software development techniques raise the level of abstraction at which developers conceive and implement complex software systems. To ensure that the developed systems are of high quality, it is important for developers to evaluate the quality of the system models and the model transformations which manipulate them.
A systematic study of faults that occur in UML designs will help us develop better design evaluation techniques. While there is a large body of literature on fault models for system implementations (code), there is a lack of research on fault models in designs. In many cases, researchers reverse engineer the code to obtain views of the design. Our goal is to develop fault models for UML designs at various levels of abstraction, not just models of the code. There will be some overlap in the fault models for designs and code. However, there is a completely new set of fault types that arise from the use of different UML diagram types that can be used to represent different views of a system. In [27] we present a taxonomy of faults that occur in UML designs. We also describe a set of mutation operators for UML class diagrams. This work is part of a collaboration with Trung Dinh-Trong, Sudipto Gosh and Robert France from the Computer Science Department of the Colorado State University.
Once we can trust the models used, transformations allow automatic manipulations of these. It's an important feature for the models reuse. Thus, it is necessary to propose efficient techniques to validate the transformation programs. For every program, test process is composed of three steps: the test data generation, their execution and the validation of the results produced by the oracle. If the execution has no specificities, the two other features depend on the program tested. With transformation programs, we need dedicated techniques because the data are particularly complex: the models. In [31], we study original solutions for model transformation testing. We introduce criteria to generate test data. We discuss an adaptation of the mutation testing which allows to evaluate the efficiency of the data generated. Finally, different issues for the oracle feature are analyzed. This work is part of a collaboration with Erwan Brottier from the Research and Development department of France Telecom.