Research context and topic
Model transformations are crucial for the success of Model-Driven Engineering (MDE), comparable in role and importance to compilers for programming languages, allowing to transform models between languages and abstraction levels, e.g., to generate platform-dependent models from platform-independent ones. Given their prominent role in MDE and their increasing use in safety critical areas such as the aviation industry, proper means for testing the correctness of model transformations are inevitable.
Although first testing frameworks have been proposed, they fall short with respect to the crucial phases of test source model generation and fault localization, and they are typically hardly configurable and tightly coupled to a certain transformation language. Second, apart of these frameworks, first isolated approaches for the phase of test source model generation have been proposed, which, however, rely on black-box testing techniques, thus, incorporating the source metamodels and the requirements, but neglect the transformation definition, which may lead to untested parts of the transformation definition. Finally, means for fault localization are missing, since testing approaches identify the failing of a test case, but miss to provide the failing parts of the transformation definition.
For tackling these limitations, the aim of this project is to establish a generic and comprehensive testing framework for model transformations called TETRA Box (A Generic White-Box TEsting Framework for Model TRAnsformations), whereby we base on the experiences gained in our previous FWF-funded project TROPIC. The goal of TETRA Box is to support all testing phases, ranging from test source model generation to fault localization especially focusing on configurable components. To keep the framework broadly applicable, components must be independent of a transformation language, either through the use of a common formalism (eg. control flow graph), or by analyzing the semantics of the considered model transformation language. Envisioned components include a generator of test source models on basis of the transformation definition by means of symbolic execution, and a fault localization tool to trace failures back to the correct part of the executed transformation.