Un lenguaje de dominio específico para mutación de modelos

  1. Gómez-Abajo, Pablo
Supervised by:
  1. Esther Guerra Sánchez Director
  2. Mercedes Garcia Merayo Director

Defence university: Universidad Autónoma de Madrid

Fecha de defensa: 14 July 2020

Committee:
  1. Manuel Núñez García Chair
  2. Javier Troya Castilla Secretary
  3. Jesús Sánchez Cuadrado Committee member

Type: Thesis

Abstract

Software mutation techniques are used in different fields such as mutation testing, software testing, logic formulas testing, genetic algorithms and the automated generation of exercises. The existing solutions are usually ad-hoc, creating from scratch a specific solution for the faced problem. This approach involves a high implementation effort, it is error-prone, entails a high maintenance cost, and results in a variety of solutions each of which only solves a particular problem. With the purpose of providing a generic approach that alleviates these inconveniences, this thesis introduces a domain-specific language for model mutation called Wodel, and its development environment. Wodel is domain independent and can be used with any arbitrary language defined by a meta-model. It includes mutation primitives to create, modify, delete, retype and clone objects, and to create, modify and delete references. Wodel provides facilities to simplify the mutation process, such as model validation, a registry of the applied mutations and the detection of equivalent mutants. It also supports the engineering of mutation operators by the generation of metrics of the mutation programs and the automated synthesis of seed models which ensure full coverage of the statements in a Wodel program, hence easing its testing and validation. Additionally, Wodel is extensible and permits taking advantage of all its model mutation functionalities in post-processing applications. To illustrate this extensibility capability, this thesis reports on two of these extensions to Wodel: the first one targeted to the automated generation of self-assessment exercises for students, called Wodel-Edu; and the second one targeted to ease the creation of mutation testing tools for programming or modelling languages, called Wodel-Test