Browse Prior Art Database

Towards Testing Model Transformation Chains Using Precondition Construction in Algebraic Graph Transformation

IP.com Disclosure Number: IPCOM000241744D
Original Publication Date: 2015-May-27
Included in the Prior Art Database: 2015-May-27
Document File: 6 page(s) / 444K

Publishing Venue

Linux Defenders

Related People

Elie Richa, Etienne Borde, Laurent Pautet, Matteo Bordin, and José F. Ruiz: AUTHOR

Abstract

Complex model-based tools such as code generators are typically designed as chains of model transformations taking as input a model of a software application and transforming it through several intermediate steps and representations. The complexity of intermediate models is such that testing is more conveniently done on the integrated chain, with test models expressed in the input language. To achieve a high test coverage, existing transformation analyses automatically generate constraints guiding the generation of test models. However, these so called test objectives are expressed on the complex intermediate models. We propose to back-propagate test objectives along the chain into constraints and test models in the input language, relying on precondition construction in the theory of Algebraic Graph Transformation. This system focuses on a one-step back-propagation.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 23% of the total text.

Page 01 of 6

Towards Testing Model Transformation Chains Using Precondition Construction in Algebraic Graph Transformation

Authors: Elie Richa, Etienne Borde, Laurent Pautet, Matteo Bordin, and José F. Ruiz

Keywords:

      testing, model transformation chains, algebraic graph transformation, weakest precondition, ATL

Abstract:

Complex model-based tools such as code generators are typically designed as chains of model transformations taking as input a model of a software application and transforming it through several intermediate steps and representations. The complexity of intermediate models is such that testing is more conveniently done on the integrated chain, with test models expressed in the input language. To achieve a high test coverage, existing transformation analyses automatically generate constraints guiding the generation of test models. However, these so called test objectives are expressed on the complex intermediate models. We propose to back-propagate test objectives along the chain into constraints and test models in the input language, relying on precondition construction in the theory of Algebraic Graph Transformation. This system focuses on a one-step back-propagation.

Problem:

When testing critical applications, a primary concern is to ensure high coverage of the software under test (i.e. ensure that all features and different behaviors of the software are tested). Tools used in the production of critical software must be thoroughly verified. Unit testing is the recommended way to achieve this by considering each component separately, identify its functionalities, and develop dedicated tests.

Applying complex model transformation tools such as code generators is very costly and impractical. Such tools are often designed as a chain of several model transformations taking as input a model developed by the user in a high-level language and transforming it through several steps. Unit testing then boils down to testing each step of the chain independently. In practice, intermediate models increase in detail and complexity as transformations are applied making it difficult to produce test models in the intermediate representations. Manual production is both error-prone because of the complexity of the languages and tedious since intermediate languages do not typically have model editors. It is often easier for the tester to create a model in the input language of the chain, with elements known to exercise a particular feature down the chain. Existing approaches can automate the production of tests for model transformations, thus producing unit tests. However, when a test failure uncovers an error, analyzing the complex intermediate representations is difficult for the developer.

Introduction:

Proposed is a system and method to test model transformation chains that aims to ensure test coverage of each step while preserving the convenience of using test models in the input language. This is completed by relying on existing analys...