ROSE 0.11.145.147
Classes | Public Member Functions | Public Attributes | List of all members
Rose::BinaryAnalysis::FeasiblePath::Settings Struct Reference

Description

Settings that control this analysis.

Definition at line 84 of file FeasiblePath.h.

#include <Rose/BinaryAnalysis/FeasiblePath.h>

Collaboration diagram for Rose::BinaryAnalysis::FeasiblePath::Settings:
Collaboration graph
[legend]

Classes

struct  NullDeref
 

Public Member Functions

 Settings ()
 Default settings.
 

Public Attributes

SearchMode searchMode
 Method to use when searching for feasible paths.
 
Sawyer::Optional< rose_addr_t > initialStackPtr
 Concrete value to use for stack pointer register initial value.
 
size_t maxVertexVisit
 Max times to visit a particular vertex in one path.
 
size_t maxPathLength
 Limit path length in terms of number of instructions.
 
size_t maxCallDepth
 Max length of path in terms of function calls.
 
size_t maxRecursionDepth
 Max path length in terms of recursive function calls.
 
std::vector< Expressionassertions
 Constraints to be satisfied at some point along the path.
 
std::vector< std::string > assertionLocations
 Locations at which "constraints" are checked.
 
std::vector< rose_addr_t > summarizeFunctions
 Functions to always summarize.
 
bool nonAddressIsFeasible
 Indeterminate/undiscovered vertices are feasible?
 
std::string solverName
 Type of SMT solver.
 
SemanticMemoryParadigm memoryParadigm
 Type of memory state when there's a choice to be made.
 
bool processFinalVertex
 Whether to process the last vertex of the path.
 
bool ignoreSemanticFailure
 Whether to ignore instructions with no semantic info.
 
double kCycleCoefficient
 Coefficient for adjusting maxPathLengh during CFG cycles.
 
EdgeVisitOrder edgeVisitOrder
 Order in which to visit edges.
 
bool trackingCodeCoverage
 If set, track which block addresses are reached.
 
std::vector< rose_addr_t > ipRewrite
 An even number of from,to pairs for rewriting the insn ptr reg.
 
Sawyer::Optional< boost::chrono::duration< double > > smtTimeout
 Max seconds allowed per SMT solve call.
 
size_t maxExprSize
 Maximum symbolic expression size before replacement.
 
bool traceSemantics
 Trace all instruction semantics operations.
 
struct Rose::BinaryAnalysis::FeasiblePath::Settings::NullDeref nullDeref
 Settings for null-dereference analysis.
 
std::string exprParserDoc
 String documenting how expressions are parsed, empty for default.
 

Constructor & Destructor Documentation

◆ Settings()

Rose::BinaryAnalysis::FeasiblePath::Settings::Settings ( )
inline

Default settings.

Definition at line 122 of file FeasiblePath.h.

Member Data Documentation

◆ searchMode

SearchMode Rose::BinaryAnalysis::FeasiblePath::Settings::searchMode

Method to use when searching for feasible paths.

Definition at line 86 of file FeasiblePath.h.

◆ initialStackPtr

Sawyer::Optional<rose_addr_t> Rose::BinaryAnalysis::FeasiblePath::Settings::initialStackPtr

Concrete value to use for stack pointer register initial value.

Definition at line 87 of file FeasiblePath.h.

◆ maxVertexVisit

size_t Rose::BinaryAnalysis::FeasiblePath::Settings::maxVertexVisit

Max times to visit a particular vertex in one path.

Definition at line 88 of file FeasiblePath.h.

◆ maxPathLength

size_t Rose::BinaryAnalysis::FeasiblePath::Settings::maxPathLength

Limit path length in terms of number of instructions.

Definition at line 89 of file FeasiblePath.h.

◆ maxCallDepth

size_t Rose::BinaryAnalysis::FeasiblePath::Settings::maxCallDepth

Max length of path in terms of function calls.

Definition at line 90 of file FeasiblePath.h.

◆ maxRecursionDepth

size_t Rose::BinaryAnalysis::FeasiblePath::Settings::maxRecursionDepth

Max path length in terms of recursive function calls.

Definition at line 91 of file FeasiblePath.h.

◆ assertions

std::vector<Expression> Rose::BinaryAnalysis::FeasiblePath::Settings::assertions

Constraints to be satisfied at some point along the path.

Definition at line 92 of file FeasiblePath.h.

◆ assertionLocations

std::vector<std::string> Rose::BinaryAnalysis::FeasiblePath::Settings::assertionLocations

Locations at which "constraints" are checked.

Definition at line 93 of file FeasiblePath.h.

◆ summarizeFunctions

std::vector<rose_addr_t> Rose::BinaryAnalysis::FeasiblePath::Settings::summarizeFunctions

Functions to always summarize.

Definition at line 94 of file FeasiblePath.h.

◆ nonAddressIsFeasible

bool Rose::BinaryAnalysis::FeasiblePath::Settings::nonAddressIsFeasible

Indeterminate/undiscovered vertices are feasible?

Definition at line 95 of file FeasiblePath.h.

◆ solverName

std::string Rose::BinaryAnalysis::FeasiblePath::Settings::solverName

Type of SMT solver.

Definition at line 96 of file FeasiblePath.h.

◆ memoryParadigm

SemanticMemoryParadigm Rose::BinaryAnalysis::FeasiblePath::Settings::memoryParadigm

Type of memory state when there's a choice to be made.

Definition at line 97 of file FeasiblePath.h.

◆ processFinalVertex

bool Rose::BinaryAnalysis::FeasiblePath::Settings::processFinalVertex

Whether to process the last vertex of the path.

Definition at line 98 of file FeasiblePath.h.

◆ ignoreSemanticFailure

bool Rose::BinaryAnalysis::FeasiblePath::Settings::ignoreSemanticFailure

Whether to ignore instructions with no semantic info.

Definition at line 99 of file FeasiblePath.h.

◆ kCycleCoefficient

double Rose::BinaryAnalysis::FeasiblePath::Settings::kCycleCoefficient

Coefficient for adjusting maxPathLengh during CFG cycles.

Definition at line 100 of file FeasiblePath.h.

◆ edgeVisitOrder

EdgeVisitOrder Rose::BinaryAnalysis::FeasiblePath::Settings::edgeVisitOrder

Order in which to visit edges.

Definition at line 101 of file FeasiblePath.h.

◆ trackingCodeCoverage

bool Rose::BinaryAnalysis::FeasiblePath::Settings::trackingCodeCoverage

If set, track which block addresses are reached.

Definition at line 102 of file FeasiblePath.h.

◆ ipRewrite

std::vector<rose_addr_t> Rose::BinaryAnalysis::FeasiblePath::Settings::ipRewrite

An even number of from,to pairs for rewriting the insn ptr reg.

Definition at line 103 of file FeasiblePath.h.

◆ smtTimeout

Sawyer::Optional<boost::chrono::duration<double> > Rose::BinaryAnalysis::FeasiblePath::Settings::smtTimeout

Max seconds allowed per SMT solve call.

Definition at line 104 of file FeasiblePath.h.

◆ maxExprSize

size_t Rose::BinaryAnalysis::FeasiblePath::Settings::maxExprSize

Maximum symbolic expression size before replacement.

Definition at line 105 of file FeasiblePath.h.

◆ traceSemantics

bool Rose::BinaryAnalysis::FeasiblePath::Settings::traceSemantics

Trace all instruction semantics operations.

Definition at line 106 of file FeasiblePath.h.

◆ exprParserDoc

std::string Rose::BinaryAnalysis::FeasiblePath::Settings::exprParserDoc

String documenting how expressions are parsed, empty for default.

Definition at line 119 of file FeasiblePath.h.


The documentation for this struct was generated from the following file: