-/* Copyright (c) 2008-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2008-2023. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
XBT_DECLARE_ENUM_CLASS(ReductionMode, none, dpor);
ReductionMode reduction_mode_;
- long backtrack_count_ = 0;
+ unsigned long backtrack_count_ = 0; // for statistics
+ unsigned long visited_states_count_ = 0; // for statistics
static xbt::signal<void(RemoteApp&)> on_exploration_start_signal;
static xbt::signal<void(RemoteApp&)> on_backtracking_signal;
static xbt::signal<void(RemoteApp&)> on_log_state_signal;
public:
- explicit DFSExplorer(const std::vector<char*>& args, bool with_dpor);
+ explicit DFSExplorer(const std::vector<char*>& args, bool with_dpor, bool need_memory_info = false);
void run() override;
RecordTrace get_record_trace() override;
std::vector<std::string> get_textual_trace() override;
private:
void check_non_termination(const State* current_state);
void backtrack();
- void restore_state();
/** Stack representing the position in the exploration graph */
std::list<std::unique_ptr<State>> stack_;