In the legacy code look at ActionStateSequenceOld.insertRandomActionUnsafe which was used for the insert mutation of a test case. It added a new action from one of the states. AbstractState.getNewRandomAction was never implemented but the paper states:
Insert operator: With decreasing probability (1.0, 0.5, 0.25)
a new action is inserted into the sequence. Each insertion
happens at a random position of the interaction sequence.
A random unexplored action available in that state is chosen
and inserted into the interaction sequence just after that state,
if available, else we fallback to a random action.
To get a random unexplored action, we have to know which actions have been explored?
This information is only available from the SUT model?
In the legacy code look at
ActionStateSequenceOld.insertRandomActionUnsafe
which was used for the insert mutation of a test case. It added a new action from one of the states.AbstractState.getNewRandomAction
was never implemented but the paper states:To get a random unexplored action, we have to know which actions have been explored? This information is only available from the SUT model?