{'fraction_non_alphanumeric': 0.03232533889468196, 'fraction_numerical': 0.0, 'mean_word_length': 5.114649681528663, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A DSL for Model Mutation and its Applications to Different Domains

Model-Driven Engineering (MDE) is a Software Engineering paradigm that focuses all phases of the software development process in models. Therefore, the automated manipulation of models is essential in MDE. While many Domain-Specific Languages (DSLs) exist to specify model transformation, model simulation, or code generation, there is a lack of DSLs to specify and apply model mutations. A model mutation is a kind of model manipulation that creates a set of variants (or mutants) of a seed model by the application of one or more mutation operators. Model mutation has many applications (e.g., model transformation testing, automated generation of exercises, verification of software testing, etc.). The objective of this thesis is the creation of a DSL for model mutation, and its application to different domains like education, model-based testing and search-based software engineering.