1#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SYMBOLIC_EXECUTOR_GREEDY_NODE_COV_H_
2#define BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SYMBOLIC_EXECUTOR_GREEDY_NODE_COV_H_
9#include "midend/coverage.h"
11#include "backends/p4tools/modules/testgen/core/program_info.h"
12#include "backends/p4tools/modules/testgen/core/symbolic_executor/symbolic_executor.h"
14namespace P4::P4Tools::P4Testgen {
29 void runImpl(
const Callback &callBack, ExecutionStateReference state)
override;
38 uint64_t stepsWithoutTest = 0;
41 static const uint64_t MAX_STEPS_WITHOUT_TEST = 1000;
50 std::vector<Branch> potentialBranches;
61 std::vector<Branch> unexploredBranches;
67 static std::optional<SymbolicExecutor::Branch> popPotentialBranch(
69 std::vector<SymbolicExecutor::Branch> &candidateBranches);
77 [[nodiscard]] std::optional<ExecutionStateReference> pickSuccessor(StepResult successors);
Provides a higher-level interface for an SMT solver.
Definition solver.h:24
std::set< const IR::Node *, SourceIdCmp > CoverageSet
Definition coverage.h:39
Definition phv/solver/action_constraint_solver.cpp:33