|  | 
|  | 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 
 | 
|  | 
| virtual 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) | 
|  |