D. Sahin, M. Kessentini, M. Wimmer, K. Deb: Model Transformation Testing: A Bi-Level Search-based Software Engineering Approach, Journal of Software: Evolution and Process, 27 (2015), 11; pages 821 - 837. doi: 10.1002/smr.1735


The process of writing model transformations is a complex and error‐prone one. Thus, efficient techniques and tools for validating model transformations are needed. One of them is model transformation testing. The generation of test cases for model transformations is mainly based on metamodel and rules coverage criteria. In this paper, we propose to treat model transformation testing as a bi‐level optimization problem to combine the generation of test cases with mutation testing. In our adaptation, the upper‐level problem generates a set of test cases that maximizes the coverage of metamodels and errors introduced by the lower level to the transformation rules. The lower level maximizes the number of generated errors in the rules that cannot be detected by the test cases produced by the upper level. The main advantage of our bi‐level formulation is that the evaluation of test cases is not limited to the coverage of metamodels, but it allows evaluating their ability to detect errors. The statistical analysis of our experiments on different transformation mechanisms confirms the outperformance of our bi‐level proposal compared with state‐of‐the‐art model transformation testing techniques.

Model Transformation Testing: A Bi-Level Search-based Software Engineering Approach