In order to test the robuseness of the DSLs (editors/checking rules/generators/etc do not crash, ...) we need to cover a large space of the input models. This project covers this by automatically generating (synthethizing) valid models based on a certain language definition.
Alternatively, it can also replace random nodes from models with other nodes which are allowed by the language definition.
Usage of models synthethizer
- Create a model and import the language
org.mpsqa.mutant
- Add also the languages you want to be used for creating your models
- Create a root node
mutation configuration
- specify the seed (starting point for the mutation)
- specify the languages used for mutation (from which languages the concepts used to instantiate nodes are to be considered)
- specify the depth (how deep should be the synthethised AST)
- specify the model where mutants are to be saved
org.mpsqa.mutant.sandbox
contains an example about the use of the models synthethizer.