A domain-specific language for model mutation
Wodel is a Domain-Specific Language for the specification and generation of model mutants. Wodel is domain-independent, as it can be used to generate mutants of models conforming to arbitrary meta-models. Wodel provides nine mutation primitives for object creation and deletion, reference redirection, attribute modification, cloning, and retyping (change the type of an object to one of its siblings types), among others.
The engine verifies that each generated mutant is a valid model (i.e., it conforms to the domain meta-model and satisfies its integrity constraints).
You can access the following links to learn more about this DSL and the tool support provided:
- wodel.core
- wodel.footprints
- wodel.additions
- wodel.examples
- wodel.json
- wodel.asple
- wodel.seed.synthesis
- wodel.emf.comparison
- wodel.emf.validation
Wodel-Edu is an extension to Wodel for the automated generation of exercises. It generates seven kinds of exercises:
- Alternative response: the student has to tell if the diagram or the textual representation is correct or not.
- Multiple diagram choice: the student has to tell which of the shown diagrams is correct.
- Multiple text choice: the student has to tell which of the shown textual representations is correct.
- Multiple emendation choice: the student has to tell which text options fix the shown diagram.
- Match pairs choice: the student has to match the statement on the left with the correct option of the drop-down list.
- Missing words choice: the student has to complete the gaps of the text shown with the correct options in the drop-down lists to match the statement.
- Text drag and drop: the student has to complete the gaps of the text shown with the correct options of the set of texts presented as labels in categories to match the statement.
You can access the following links to learn more about this solution and the tool support provided:
Wodel-Test is built on top of Wodel, a domain-specific language to define and execute model mutations.
Wodel is language independent, enabling the creation of mutation operators for any language defined by a meta-model.
Once the mutation operators are defined, Wodel-Test generates a complete Mutation Testing (MT) environment for the language as an Eclipse plugin.
This MT tool parses the program representing it as a model conformant to the language meta-model, applies the mutation operators, and evaluates the test suite on the generated mutants, offering a rich collection of metrics about the MT process.
You can access the following link to learn more about this solution and the tool support provided:
This work has been funded by the Spanish Ministry of Science (RTI2018-095255-B-I00, project "MASSIVE") and the R&D programme of Madrid (P2018/TCS-4314, project "FORTE").