Model transformation testing: a bi‐level search‐based software engineering approach

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. Copyright © 2015 John Wiley & Sons, Ltd.

[1]  Andy Schürr,et al.  Systematic Testing of Graph Transformations: A Practical Approach Based on Graph Patterns , 2013, ICMT.

[2]  Kalyanmoy Deb,et al.  Efficient Evolutionary Algorithm for Single-Objective Bilevel Optimization , 2013, ArXiv.

[3]  Gabriele Taentzer,et al.  Generating instance models from meta models , 2006, Software & Systems Modeling.

[4]  Kalyanmoy Deb,et al.  Meaningful representation and recombination of variable length genomes , 2012, GECCO '12.

[5]  Martin Gogolla,et al.  Tractable Model Transformation Testing , 2011, ECMFA.

[6]  A. Koh A Metaheuristic Framework for Bi-level Programming Problems with Multi-disciplinary Applications , 2013 .

[7]  Kalyanmoy Deb,et al.  Code-Smell Detection as a Bilevel Problem , 2014, TSEM.

[8]  Patrice Marcotte,et al.  A Trust-Region Method for Nonlinear Bilevel Programming: Algorithm and Computational Experience , 2005, Comput. Optim. Appl..

[9]  Marouane Kessentini,et al.  Regression Testing for Model Transformations: A Multi-objective Approach , 2013, SSBSE.

[10]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[11]  Jürgen Dingel,et al.  Model transformation testing: the state of the art , 2012, AMT '12.

[12]  Antonio Vallecillo,et al.  Static Fault Localization in Model Transformations , 2015, IEEE Transactions on Software Engineering.

[13]  Benoit Baudry,et al.  On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[14]  Gordon Fraser,et al.  Parameter tuning or default values? An empirical investigation in search-based software engineering , 2013, Empirical Software Engineering.

[15]  Gabriele Taentzer,et al.  Generating Instance Models from Meta Models , 2006, FMOODS.

[16]  Benoit Baudry,et al.  Automatic Model Generation Strategies for Model Transformation Testing , 2009, ICMT@TOOLS.

[17]  Jean-Luc Dekeyser,et al.  Traceability for Mutation Analysis in Model Transformation , 2010, MoDELS.

[18]  Yves Le Traon,et al.  Qualifying input test data for model transformations , 2009, Software & Systems Modeling.

[19]  D. Sahin,et al.  Code-Smells Detection as a Bi-Level Problem , 2013 .

[20]  Jochen Malte Küster,et al.  Validation of model transformations: first experiences using a white box approach , 2006, MoDELS'06.

[21]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[22]  Vicente Pelechano,et al.  Test-Driven Development of Model Transformations , 2009, MoDELS.

[23]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[24]  ColsonBenoît,et al.  A Trust-Region Method for Nonlinear Bilevel Programming , 2005 .

[25]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[26]  Kevin Warwick,et al.  Synapsing Variable-Length Crossover: Meaningful Crossover for Variable-Length Genomes , 2007, IEEE Transactions on Evolutionary Computation.

[27]  Kalyanmoy Deb,et al.  Messy Genetic Algorithms: Motivation, Analysis, and First Results , 1989, Complex Syst..

[28]  B. Baudry,et al.  Validation in model-driven engineering: testing model transformations , 2004, Proceedings. 2004 First International Workshop on Model, Design and Validation, 2004..

[29]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[30]  Kalyanmoy Deb,et al.  Evolutionary bilevel optimization , 2013, GECCO '13 Companion.

[31]  Gerti Kappel,et al.  Automated verification of model transformations based on visual contracts , 2013, Automated Software Engineering.

[32]  Esther Guerra,et al.  Specification-Driven Test Generation for Model Transformations , 2012, ICMT@TOOLS.

[33]  Kalyanmoy Deb,et al.  Multi-objective Stackelberg game between a regulating authority and a mining company: A case study in environmental economics , 2013, 2013 IEEE Congress on Evolutionary Computation.

[34]  Martin Gogolla,et al.  Formal Specification and Testing of Model Transformations , 2012, SFM.

[35]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[36]  Yves Le Traon,et al.  Mutation Analysis Testing for Model Transformations , 2006, ECMDA-FA.

[37]  Manuel Wimmer,et al.  Testing M2T/T2M Transformations , 2013, MoDELS.

[38]  Holger Giese,et al.  Complete Specification Coverage in Automatically Generated Conformance Test Cases for TGG Implementations , 2013, ICMT.

[39]  Houari A. Sahraoui,et al.  Example-based model-transformation testing , 2011, Automated Software Engineering.

[40]  Mark Harman,et al.  Cooperative Co-evolutionary Optimization of Software Project Staff Assignments and Job Scheduling , 2011, SSBSE.

[41]  Agachai Sumalee,et al.  Optimal Road User Charging Cordon Design: A Heuristic Optimization Approach , 2004 .

[42]  Jean-Marc Jézéquel,et al.  Automatic test case optimization: a bacteriologic algorithm , 2005, IEEE Software.

[43]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[44]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[45]  Jeffrey G. Gray,et al.  A Testing Framework for Model Transformations , 2005, Model-Driven Software Development.

[46]  Jordi Cabot,et al.  ATLTest: a white-box test generation approach for ATL transformations , 2012, MODELS'12.