7#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SYMBOLIC_EXECUTOR_GREEDY_NODE_COV_H_
8#define BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SYMBOLIC_EXECUTOR_GREEDY_NODE_COV_H_
15#include "midend/coverage.h"
17#include "backends/p4tools/modules/testgen/core/program_info.h"
18#include "backends/p4tools/modules/testgen/core/symbolic_executor/symbolic_executor.h"
20namespace P4::P4Tools::P4Testgen {
35 void runImpl(
const Callback &callBack, ExecutionStateReference state)
override;
44 uint64_t stepsWithoutTest = 0;
47 static const uint64_t MAX_STEPS_WITHOUT_TEST = 1000;
56 std::vector<Branch> potentialBranches;
67 std::vector<Branch> unexploredBranches;
73 static std::optional<SymbolicExecutor::Branch> popPotentialBranch(
75 std::vector<SymbolicExecutor::Branch> &candidateBranches);
83 [[nodiscard]] std::optional<ExecutionStateReference> pickSuccessor(StepResult successors);
Provides a higher-level interface for an SMT solver.
Definition solver.h:30
std::set< const IR::Node *, SourceIdCmp > CoverageSet
Definition coverage.h:47
Definition phv/solver/action_constraint_solver.cpp:33