- Set environment variable
COVEXPEXPLOREto point to your seed model location - Preprocess seeds by running experiment# 1, 2 and 3 using covexp.covcollect
- After preprocessing invoke
emi.go()to generate mutants - Use
emi.reportto see reports
Configure cfg.m in MATLAB using edit emi.cfg
Two issues: one generalising from the issue solved by
emi.decs.FixateDTCOutputDataType -- since block output types may get
changed in the mutants and would result in comparison errors. Other is a
possible bug
TypeAnnotateByOutDTypeStr fixates output type of every block.
TypeAnnotateEveryBlock fixates input types of every block.
See emi.decs.TypeAnnotateByOutDTypeStr
MUTATOR_DECORATORS = {
@emi.decs.TypeAnnotateEveryBlock % Pre-process
@emi.decs.TypeAnnotateByOutDTypeStr % Pre-process
@emi.decs.DeleteDeadAddSaturation
};
Issue: Data-type converters in the original model was getting a new
output data type in the mutants, since their successors got change and
Simulink was inferring new output data types for the DTC blocks.
See emi.decs.FixateDTCOutputDataType
MUTATOR_DECORATORS = {
@emi.decs.FixateDTCOutputDataType % Pre-process
@emi.decs.TypeAnnotateEveryBlock % Pre-process
@emi.decs.DeleteDeadAddSaturation
};
Issue: May change semantics in live (zombie) path
Code:
MUTATOR_DECORATORS = {
@emi.decs.TypeAnnotateEveryBlock
@emi.decs.DeleteDeadDirectReconnect
};