-
Notifications
You must be signed in to change notification settings - Fork 1
Features
The mutation framework can look for pom.xml and gradle directories and automatically determine the build tool. It parses the files to obtain information needed for running the mutation framework e.g. source, test and byte-code folders, project names, etc.
The user can set the maximum number of mutations the framework is allowed to inject. By default, it is unlimited.
For reproducibility, the user can set a seed for the randomness involved in the mutation framework. This makes debugging this project and reproducing experimentation results much easier.
When turned on, the project will attempt to mutate the test case until it fails. To lower the overhead, it checks for failure of the test case during MicroBat's Precheck, then re-attempts with a different seed. The user can specify the first and last seed, and the project will attempt all seeds between them, until the test case fails.
Some mutations are under the "strong" category as they can break data dependencies. When turned on, the project will attempt to mutate with only the weak operators. If it passes, it re-attempts with the strong mutations included.