XBT_INFO("%s", simgrid::mc::initial_global_state->send_diff);
}
XBT_INFO("Expanded states = %lu", expandedStatesCount_);
- XBT_INFO("Visited states = %lu", mc_stats->visited_states);
- XBT_INFO("Executed transitions = %lu", mc_stats->executed_transitions);
+ XBT_INFO("Visited states = %lu", mc_model_checker->visited_states);
+ XBT_INFO("Executed transitions = %lu", mc_model_checker->executed_transitions);
if (simgrid::mc::initial_global_state != nullptr)
XBT_INFO("Send-deterministic : %s",
!simgrid::mc::initial_global_state->send_deterministic ? "No" : "Yes");
state->interleaveSize());
/* Update statistics */
- mc_stats->visited_states++;
+ mc_model_checker->visited_states++;
if (stack_.size() <= (std::size_t) _sg_mc_max_depth
&& (req = MC_state_get_request(state)) != nullptr
if (dot_output != nullptr)
req_str = simgrid::mc::request_get_dot_output(req, req_num);
- mc_stats->executed_transitions++;
+ mc_model_checker->executed_transitions++;
/* TODO : handle test and testany simcalls */
e_mc_call_type_t call = MC_CALL_TYPE_NONE;
/* Update statistics */
visitedPairsCount_++;
- mc_stats->executed_transitions++;
+ mc_model_checker->executed_transitions++;
depth++;
Checker::logState();
XBT_INFO("Expanded pairs = %lu", expandedPairsCount_);
XBT_INFO("Visited pairs = %lu", visitedPairsCount_);
- XBT_INFO("Executed transitions = %lu", mc_stats->executed_transitions);
+ XBT_INFO("Executed transitions = %lu", mc_model_checker->executed_transitions);
}
void LivenessChecker::showAcceptanceCycle(std::size_t depth)
simgrid::mc::request_to_string(
req, req_num, simgrid::mc::RequestType::simix).c_str());
- /* Update mc_stats */
- mc_stats->executed_transitions++;
+ /* Update stats */
+ mc_model_checker->executed_transitions++;
if (!current_pair->exploration_started)
visitedPairsCount_++;
process_->init();
- /* Initialize statistics */
- mc_stats = xbt_new0(s_mc_stats_t, 1);
-
if ((_sg_mc_dot_output_file != nullptr) && (_sg_mc_dot_output_file[0] != '\0'))
MC_init_dot_output();
void handle_waitpid();
void on_signal(const struct signalfd_siginfo* info);
+public:
+ unsigned long visited_states = 0;
+ unsigned long executed_transitions = 0;
};
}
{
Checker::logState();
XBT_INFO("Expanded states = %lu", expandedStatesCount_);
- XBT_INFO("Visited states = %lu", mc_stats->visited_states);
- XBT_INFO("Executed transitions = %lu", mc_stats->executed_transitions);
+ XBT_INFO("Visited states = %lu", mc_model_checker->visited_states);
+ XBT_INFO("Executed transitions = %lu", mc_model_checker->executed_transitions);
}
int SafetyChecker::run()
stack_.size(), state, state->num,
state->interleaveSize());
- mc_stats->visited_states++;
+ mc_model_checker->visited_states++;
// The interleave set is empty or the maximum depth is reached,
// let's back-track.
if (dot_output != nullptr)
req_str = simgrid::mc::request_get_dot_output(req, state->transition.argument);
- mc_stats->executed_transitions++;
+ mc_model_checker->executed_transitions++;
/* Answer the request */
this->getSession().execute(state->transition);
simgrid::mc::State* mc_current_state = nullptr;
char mc_replay_mode = false;
-mc_stats_t mc_stats = nullptr;
-
/* Liveness */
namespace simgrid {
}
/* Update statistics */
- mc_stats->visited_states++;
- mc_stats->executed_transitions++;
+ mc_model_checker->visited_states++;
+ mc_model_checker->executed_transitions++;
}
XBT_PRIVATE void MC_show_deadlock(void);
-/****************************** Statistics ************************************/
-
-typedef struct mc_stats {
- unsigned long visited_states;
- unsigned long executed_transitions;
-} s_mc_stats_t, *mc_stats_t;
-
-XBT_PRIVATE extern mc_stats_t mc_stats;
-
/********************************** Snapshot comparison **********************************/
//#define MC_DEBUG 1