Towards systematic mutations for and with ATL model transformations

Model transformation is a key technique to automate software engineering tasks, such as generating implementations of software systems from higher-level models. To enable this automation, transformation engines are used to synthesize various types of software artifacts from models, where the rules according to which these artifacts are generated are implemented by means of dedicated model transformation languages. Hence, the quality of the generated software artifacts depends on the quality of the transformation rules applied to generate them. Thus, there is the need for approaches to certify their behavior for a selected set of test models. As mutation analysis has proven useful as a practical testing approach, we propose a set of mutation operators for the ATLAS Transformation Language (ATL) derived by a comprehensive language-centric synthesis approach. We describe the rationale behind each of the mutation operators and propose an automated process to generate mutants for ATL transformations based on a combination of generic mutation operators and higher-order transformations. Finally, we describe a cost-effective solution for executing the obtained mutants.

[1]  Jean-Luc Dekeyser,et al.  Towards an automation of the mutation analysis dedicated to model transformation , 2015, Softw. Test. Verification Reliab..

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

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

[4]  Richard F. Paige,et al.  Different models for model matching: An analysis of approaches to support model differencing , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[5]  Jacques Klein,et al.  Assessing Software Product Line Testing Via Model-Based Mutation: An Application to Similarity Testing , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

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

[7]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

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

[9]  Roberto da Silva Bigonha,et al.  A transformational language for mutant description , 2009, Comput. Lang. Syst. Struct..

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

[11]  Jordi Cabot,et al.  Towards a general composition semantics for rule-based model transformation , 2011, MODELS'11.

[12]  Bernhard K. Aichernig,et al.  Killing strategies for model‐based mutation testing , 2015, Softw. Test. Verification Reliab..

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

[14]  Juan de Lara,et al.  Uncovering Errors in ATL Model Transformations Using Static Analysis and Constraint Solving , 2014, 2014 IEEE 25th International Symposium on Software Reliability Engineering.

[15]  Márcio Eduardo Delamaro,et al.  Proteum/FSM: a tool to support finite state machine validation based on mutation testing , 1999, Proceedings. SCCC'99 XIX International Conference of the Chilean Computer Science Society.

[16]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[17]  Antonio Vallecillo,et al.  A Rewriting Logic Semantics for ATL , 2011, J. Object Technol..

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

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

[20]  Manuel Wimmer,et al.  From out-place transformation evolution to in-place model patching , 2014, ASE.

[21]  Juan de Lara,et al.  Engineering model transformations with transML , 2011, Software & Systems Modeling.

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

[23]  Yves Le Traon,et al.  Sampling Program Inputs with Mutation Analysis: Going Beyond Combinatorial Interaction Testing , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[24]  Jameleddine Hassine,et al.  Mutation Operators for the Atlas Transformation Language , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[25]  Jürgen Dingel,et al.  A Tridimensional Approach for Studying the Formal Verification of Model Transformations , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[26]  Frédéric Jouault Loosely Coupled Traceability for ATL , 2005 .