Barriers to Systematic Model Transformation Testing

被引:64
作者
Baudry, Benoit [1 ]
Ghosh, Sudipto [2 ]
Fleurey, Franck [3 ]
France, Robert [2 ]
Le Traon, Yves [4 ,5 ]
Mottu, Jean-Marie [6 ]
机构
[1] INRIA Rennes Bretagne Atlantique, Dept Comp Sci, Rennes, France
[2] Colorado State Univ, Dept Comp Sci, Ft Collins, CO 80523 USA
[3] SINTEF, Oslo, Norway
[4] Univ Luxembourg, CSC Res Unit, Luxembourg, Luxembourg
[5] Univ Luxembourg, Secur Reliabil & Trust Res Ctr, Luxembourg, Luxembourg
[6] Univ Nantes, F-44035 Nantes, France
关键词
Automatic programming - Safety engineering - Codes (symbols) - Computer software - Software design - Reverse engineering;
D O I
10.1145/1743546.1743583
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Introduction Model Driven Engineering (MDE) techniques support extensive use of models in order to manage the increasing complexity of software systems. Appropriate abstractions of software system elements can ease reasoning and understanding and thus limit the risk of errors in large systems. Automatic model transformations play a critical role in MDE since they automate complex, tedious, error-prone, and recurrent software development tasks. Airbus uses automatic code synthesis from SCADE models to generate the code for embedded controllers in the Airbus A380. Commercial tools for model transformations exist. Objecteering and Together from Borland are tools that can automatically add design patterns in a UML class model. Esterel Technologies have a tool for automatic code synthesis for safety critical systems. Other examples of transformations are refinement of a design model by adding details pertaining to a particular target platform, refactoring a model by changing its structure to enhance design quality, or reverse engineering code to obtain an abstract model. These software development tasks are critical and thus the model transformations that automate them must be validated. A fault in a transformation can introduce a fault in the transformed model, which if undetected and not removed, can propagate to other models in successive development steps. As a fault propagates across transformations, it becomes more difficult to detect and isolate. Since model transformations are meant to be reused, faults present in them may result in many faulty models. Model transformations constitute a class of programs with unique characteristics that make testing them challenging. The complexity of input and output data, lack of model management tools, and the heterogeneity of transformation languages pose special problems to testers of transformations. In this paper we identify current model transformation characteristics that contribute to the difficulty of systematically testing transformations. We present promising solutions and propose possible ways to overcome these barriers. © 2010 ACM.
引用
收藏
页码:139 / 143
页数:5
相关论文
共 12 条
[1]  
BEZIVIN J, 2005, P MODEL 05 C, P120
[2]  
BROTTIER E, 2006, S SOFTW REL ENG RAL
[3]  
EHRIG K, 2006, FORMAL METHODS OPEN
[4]  
FLEUREY F, 2007, SOFTWARE SYSTEMS MOD
[5]  
France R., 2007, FUTURE SOFTWARE ENG
[6]   Space-efficient search algorithms [J].
Korf, RE .
ACM COMPUTING SURVEYS, 1995, 27 (03) :337-339
[7]  
KUSTER JM, MOD DES VAL WORKSH A
[8]  
MOTTU JM, 2006, MODELS 06 GEN IT
[9]  
REITER T, P 3 INT WORKSH MOD D
[10]   Model-driven engineering [J].
Schmidt, DC .
COMPUTER, 2006, 39 (02) :25-31