1 /* Copyright (c) 2008-2016. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
7 #ifndef SIMGRID_MC_SAFETY_CHECKER_HPP
8 #define SIMGRID_MC_SAFETY_CHECKER_HPP
12 #include "src/mc/mc_forward.hpp"
13 #include "src/mc/Checker.hpp"
18 class SafetyChecker : public Checker {
19 simgrid::mc::ReductionMode reductionMode_ = simgrid::mc::ReductionMode::unset;
21 SafetyChecker(Session& session);
24 RecordTrace getRecordTrace() override;
25 std::vector<std::string> getTextualTrace() override;
29 bool checkNonDeterminism(simgrid::mc::State* current_state);
31 /** Stack representing the position in the exploration graph */
32 std::list<simgrid::mc::State*> stack_;