|
| SailfishStateBuilder (SMTFactory &Fcty, TSDataLayout &D, ExternalMemorySpec *MemSepc, ExternalIOSpec *IOSpec) |
|
void | pushState () |
|
void | popState () |
|
void | resetState () |
|
void | recordState (const SEGObject *O) |
|
void | recordState (const std::shared_ptr< VulnerabilityTrace > &T) |
|
void | recordState (const SMTExpr &E) |
|
void | recordState (const SMTExprVec &EV) |
|
void | recordState (const SummaryCacheItem &SCI, bool Sym) |
|
bool | hasState (const SEGObject *O) const |
|
std::vector< SummaryCacheItem >::const_iterator | sym_dep_begin () const |
|
std::vector< SummaryCacheItem >::const_iterator | sym_dep_end () const |
|
std::vector< SummaryCacheItem >::const_iterator | nonsym_dep_begin () const |
|
std::vector< SummaryCacheItem >::const_iterator | nonsym_dep_end () const |
|
| SymbolicExprGraphSolver (SMTFactory &Fcty, TSDataLayout &D, ExternalMemorySpec *MemSepc, ExternalIOSpec *IOSpec) |
|
SMTExprVec | getCtrlDeps (const SEGNodeBase *N, void *Args=nullptr) |
| Get the condition of paths reaching node n.
|
|
virtual SMTExprVec | getCtrlDeps (BasicBlock *B, const SymbolicExprGraph *G, void *Args=nullptr) |
| Get the condition of paths reaching the block B.
|
|
virtual std::pair< SMTExprVec, SMTExprVec > | getCtrlDepsPair (BasicBlock *B, const SymbolicExprGraph *G, void *Args=nullptr) |
|
virtual SMTExprVec | getDataDeps (const SEGNodeBase *N, void *Args=nullptr) |
| Model node n's data dependence.
|
|
virtual SMTExprVec | getPhiGated (const SEGPhiNode *PhiNode, const SEGPhiNode::IncomeNode InNode, void *Args=nullptr) |
|
SMTExprVec | getPhiGated (const SEGPhiNode *PhiNode, const SEGNodeBase *Value, BasicBlock *BB, void *Args=nullptr) |
|
SMTExprVec | getPhiGated (const SEGPhiNode *PhiNode, const SEGNodeBase *Value, void *Args=nullptr) |
|
virtual SMTExprVec | getDeps (const SEGNodeBase *N, const SEGNodeBase *M) |
|
virtual std::pair< SMTExprVec, SMTExprVec > | getDepsPair (const SEGNodeBase *N, const SEGNodeBase *M) |
|
virtual void | push () |
|
virtual void | pop (unsigned N=1) |
|
virtual void | reset () |
|
virtual SMTResultType | check () |
|
const std::unordered_set< const SEGArgumentNode * > & | getUsedFunctionArguments () |
|
std::pair< std::vector< const SEGCallSiteOutputNode * >::iterator, std::vector< const SEGCallSiteOutputNode * >::iterator > | getUsedCallSiteOutputs (bool Restart=false) |
|
const SEGNodeBase * | getNodeFromSymbol (std::string Symbol) |
| return the SEG node for the given symbol
|
|
SMTExpr | getOrInsertExpr (const SEGNodeBase *N) |
|
SMTExpr | encodeOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeBinaryOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeCompareOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeCastOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeGEPOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeExtractElementOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeInsertElementOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeSelectOpcodeNode (const SEGOpcodeNode *N) |
|
virtual SMTExpr | encodeConcatOpcodeNode (const SEGOpcodeNode *N) |
|