-static int is_exploration_stack_state(simgrid::mc::State* current_state){
-
- xbt_fifo_item_t item;
- simgrid::mc::State* stack_state;
- for(item = xbt_fifo_get_first_item(mc_stack); item != nullptr; item = xbt_fifo_get_next_item(item)) {
- stack_state = (simgrid::mc::State*) xbt_fifo_get_item_content(item);
- if(snapshot_compare(stack_state, current_state) == 0){
- XBT_INFO("Non-progressive cycle : state %d -> state %d", stack_state->num, current_state->num);
- return 1;
+bool SafetyChecker::checkNonDeterminism(simgrid::mc::State* current_state)
+{
+ for (auto i = stack_.rbegin(); i != stack_.rend(); ++i)
+ if(snapshot_compare(*i, current_state) == 0){
+ XBT_INFO("Non-progressive cycle : state %d -> state %d",
+ (*i)->num, current_state->num);
+ return true;