A tool for domain-independent model mutation

Abstract Mutation is a systematic technique to create variants of a seed artefact by means of mutation operators. It has many applications in computer science, like software testing, automatic exercise generation and design space exploration. Typically, mutation frameworks are developed ad-hoc by implementing mutation operators and their application strategies from scratch, using general-purpose programming languages. However, this is costly and error-prone. To improve this situation, we propose Wodel : a domain-specific language and tool for model-based mutation that is independent of the domain meta-model. Wodel enables the rapid development and application of model mutations. It provides built-in advanced functionalities like automatic generation of seed models, and static and dynamic metrics of operator coverage and applicability. It offers extension points, e.g., to post-process mutants and describe domain-specific equivalence criteria. As an example, we illustrate the usage of Wodel for the mutation of security policies, and present an empirical evaluation of its expressiveness.

[1]  Jacques Klein,et al.  Model Driven Mutation Applied to Adaptative Systems Testing , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[2]  Ákos Horváth,et al.  A model-driven framework for guided design space exploration , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[3]  S. Sen,et al.  Mutation-based Model Synthesis in Model Driven Engineering , 2006, Second Workshop on Mutation Analysis (Mutation 2006 - ISSRE Workshops 2006).

[4]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

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

[6]  Daniel Strüber,et al.  Generating Efficient Mutation Operators for Search-Based Model-Driven Engineering , 2017, ICMT.

[7]  Tanja E. J. Vos,et al.  Mutation Operators for UML Class Diagrams , 2016, CAiSE.

[8]  Benoit Baudry,et al.  A Generic Metamodel For Security Policies Mutation , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[9]  Estero-BotaroAntonia,et al.  Quality metrics for mutation testing with applications to WS-BPEL compositions , 2015 .

[10]  Martin Gogolla,et al.  From UML and OCL to relational logic and back , 2012, MODELS'12.

[11]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[12]  Esther Guerra,et al.  A domain-specific language for model mutation and its application to the automated generation of exercises , 2017, Comput. Lang. Syst. Struct..

[13]  Sanjit A. Seshia,et al.  Automating exercise generation: a step towards meeting the MOOC challenge for embedded systems , 2012, WESE '12.

[14]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[15]  Yves Le Traon,et al.  MutaLog: A Tool for Mutating Logic Formulas , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops.

[16]  Gordon Fraser,et al.  Special section on Mutation testing (Mutation 2010) , 2013, Sci. Comput. Program..

[17]  Robert M. Hierons,et al.  Mutation testing from probabilistic and stochastic finite state machines , 2009, J. Syst. Softw..

[18]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .