resetStatesForNewExecution(icsCG, vm);
// If we don't see a fair scheduling of events/choices then we have to enforce it
fairSchedulingAndBacktrackPoint(icsCG, vm);
- // Map state to event
- mapStateToEvent(icsCG.getNextChoice());
// Explore the next backtrack point:
// 1) if we have seen this state or this state contains cycles that involve all events, and
// 2) after the current CG is advanced at least once
} else {
numOfTransitions++;
}
+ // Map state to event
+ mapStateToEvent(icsCG.getNextChoice());
justVisitedStates.clear();
choiceCounter++;
}
if (!vm.isNewState() && !isEndOfExecution && choiceCounter > 1 &&
currVisitedStates.contains(stateId) && (stateId > 0)) {
// Find the choice/event that marks the start of this cycle: first choice we explore for conflicts
- if (stateToChoiceCounterMap.get(stateId) == null) {
- System.out.println();
- }
int conflictChoice = stateToChoiceCounterMap.get(stateId);
int currentChoice = choiceCounter - 1;
// Find conflicts between choices/events in this cycle (we scan forward in the cycle, not backward)