MTR minor version has been updated due the following updates which have been made since 3.11.0:
Overview of new functionalities:
+ Graphical User Interface (GUI):
- Create a new, web based GUI, currently supporting FSM and EFSM model creation.
- The old, python based beta version GUI has been phased out.
+ Model handling:
- Model:
- Updates on model parsing:
- Critical log message is given if a mandatory field of an EFSM model variable (`id` or `type`) is missing or a `type` of a variable is invalid
- Warning log message is given if an action or a guard condition is given, but `variables` field is missing.
- Model conversions:
- Updates on Inject random faults to the model:
- Introduce `INPUT` change type to swap or reassign input symbols within a state.
- Add `--swap_input` CLI/configuration flag to control whether inputs are swapped (CS/PS) or reassigned to unused inputs (PS only).
- Introduce `--reduced_check` CLI/configuration flag to be able to set that the injected model should be a reduced model for completely specified, reduced input models. With the `--reduced_retries` CLI/configuration flag one can specify the maximum number of retry attempts.
+ Test generation:
- New test generation algorithms:
- Genetic Algorithm with Beam Search (GABS) with a coverage-driven beam search layer for testing EFSM models
+ Test set and suite related features:
- Test suite and test set report:
- Requirement/transition/state coverage: Evaluates what fraction of the model's requirements/transitions/states are satisfied by the given test suites or set of test suites.
- Fault detection scoring: Evaluates the fault detection capability of existing test sets and test suites against a set of mutant models.
Bugfixes:
+ General:
- Fix a bug, for which nested directory paths that do not exist were not handled correctly
+ Model handling:
- Model:
- Fixed an issue where checking the compatibility of `untyped_struct` and explicitlty typed struct during Struct Member Assignment caused an exception
- Fixed an issue where a matching enum member would automatically cause an `untyped_struct` to be compatible with another struct, and so bypassing type-safety.
- Model conversions:
- Inject random faults to the model:
- `REMOVE_STATE` now considers the start state as a possible state for redirection, too