ClearBlue
Public Member Functions
SailfishRetValSummaryBuilder Class Reference
Inheritance diagram for SailfishRetValSummaryBuilder:
Inheritance graph
[legend]
Collaboration diagram for SailfishRetValSummaryBuilder:
Collaboration graph
[legend]

Public Member Functions

 SailfishRetValSummaryBuilder (SailfishChecker *P, Function *F)
 
virtual void run () override
 
virtual void storeSummary (SummaryBase *R) override
 
- Public Member Functions inherited from SailfishFunctionChecker
 SailfishFunctionChecker (SailfishChecker *P, Function *F)
 
virtual void handleException ()
 

Additional Inherited Members

- Protected Member Functions inherited from SailfishFunctionChecker
void downstreamSearch (const SEGNodeBase *CurrentNode, const SEGNodeBase *PreviousNode, Vulnerability::ValueSitePairType Src, unsigned InlineDepth)
 
void search (const SEGNodeBase *CurrentNode, const SEGNodeBase *PreviousNode, Vulnerability::ValueSitePairType Src, unsigned InlineDepth)
 
void matchFormalActual (SummaryBase *Smry, const SEGCallSite *CS, std::unordered_map< std::string, SMTExpr > &)
 Add constraints: "formal == actual".
 
bool inlineReturnSymbolicSummary (const SEGCallSiteOutputNode *Symbol)
 
bool inlineReturnSymbolicSummary (Vulnerability::ValueSitePairType Src)
 
void inlineCalleeSummaryStartWithParam (const SEGCallSite *CS, TraceSummary *Smry, Vulnerability::ValueSitePairType Src, const SEGOperandNode *ActualNode, unsigned InlineDepth, int Case=0)
 
void inlineCalleeSummaryEndWithReturn (const SEGCallSite *CS, TraceSummary *Smry, const SEGCallSiteOutputNode *CallSiteOutput, Vulnerability::ValueSitePairType Src, unsigned InlineDepth, int Case=0)
 
bool canReport (Vulnerability::ValueSitePairType Src) const
 
int checkUseSite (const SEGOperandNode *Node, const SEGSiteBase *UseSite, std::unordered_map< const BasicBlock *, SMTSolver::SMTResultType > &, bool UpdateCache)
 
void processUseSite (Vulnerability::ValueSitePairType Src, const SEGOperandNode *Node, const SEGSiteBase *UseSite, Vulnerability::SiteType USTy, unsigned InlineDepth)
 It processes use sites according to the type of use sites.
 
template<class TraceSummaryType >
TraceSummaryType * createTraceSummary (SMTExprVec Constraints, std::shared_ptr< VulnerabilityTrace > Trace, const std::unordered_set< const SEGArgumentNode * > *Inputs, unsigned InlineDepth)
 
void collectVarMapping (const std::vector< SummaryCacheItem > &ConstraintsCache, std::string Suffix, std::unordered_map< std::string, SMTExpr > &VariableMapping)
 
void addCachedConstraintsToSummary (SummaryBase *S)
 Add the cached constraints to build summary.
 
void tryReport (std::shared_ptr< VulnerabilityTrace > Trace, unsigned Depth)
 
- Protected Attributes inherited from SailfishFunctionChecker
SailfishCheckerParent
 the parent checker
 
Function * F
 current function
 
SailfishSummarySmry
 the summary of this function
 
const DomTree * DT
 dom tree and post-dom tree
 
const DomTree * PDT
 
const SymbolicExprGraphSEG
 the symbolic expr graph IR
 
SMTFactory ConstraintFactory
 the factory to create constraints
 
SailfishStateBuilderStateBuilder
 
Timer * TimeChecker
 
std::shared_ptr< VulnerabilityTSV
 The vulnerability instance.
 
std::map< const SEGSiteBase *, std::set< const SEGOperandNode * > > Sources
 Taint sources.
 
ParallelThreadLocalPTL
 

The documentation for this class was generated from the following files: