Static Value-Flow Analysis
Public Member Functions | Static Public Attributes | List of all members
SVF::Options Class Reference

Carries around command line options. More...

#include <Options.h>

Public Member Functions

 Options (void)=delete
 

Static Public Attributes

static const OptionMap< enum PTAStat::ClockTypeClockType
 
static const Option< bool > MarkedClocksOnly
 
static const OptionMap< SVF::NodeIDAllocator::StrategyNodeAllocStrat
 
static const Option< u32_tMaxFieldLimit
 Maximum number of field derivations for an object. More...
 
static const Option< bool > ClusterAnder
 Whether to stage Andersen's with Steensgaard and cluster based on that data. More...
 
static const Option< bool > ClusterFs
 Whether to cluster FS or VFS with the auxiliary Andersen's. More...
 
static const Option< bool > PlainMappingFs
 Use an explicitly plain mapping with flow-sensitive (not null). More...
 
static const OptionMap< PointsTo::TypePtType
 Type of points-to set to use for all analyses. More...
 
static const OptionMap< enum hclust_fast_methodsClusterMethod
 
static const Option< bool > RegionedClustering
 Cluster partitions separately. More...
 
static const Option< bool > RegionAlign
 Align identifiers in each region to a word. More...
 
static const Option< bool > PredictPtOcc
 
static const OptionMap< BVDataPTAImpl::PTBackingTypeptDataBacking
 PTData type. More...
 
static const Option< u32_tFsTimeLimit
 Time limit for the main phase (i.e., the actual solving) of FS analyses. More...
 
static const Option< u32_tAnderTimeLimit
 Time limit for the Andersen's analyses. More...
 
static const Option< u32_tVersioningThreads
 Number of threads for the versioning phase. More...
 
static const Option< u32_tCxtBudget
 
static const Option< u32_tMaxPathLen
 
static const Option< u32_tMaxContextLen
 
static const Option< u32_tMaxStepInWrapper
 
static const Option< std::stringUserInputQuery
 
static const Option< bool > InsenRecur
 
static const Option< bool > InsenCycle
 
static const Option< bool > PrintCPts
 
static const Option< bool > PrintQueryPts
 
static const Option< bool > WPANum
 
static OptionMultiple< PointerAnalysis::PTATYDDASelected
 register this into alias analysis group More...
 
static const Option< u32_tFlowBudget
 
static const Option< bool > OCGDotGraph
 
static Option< bool > HandBlackHole
 
static const Option< bool > FirstFieldEqBase
 
static const Option< bool > ContextInsensitive
 
static const Option< bool > KeepAOFI
 
static const Option< std::stringSelfCycle
 
static const Option< bool > DumpVFG
 
static const Option< bool > TypePrint
 
static const Option< bool > FuncPointerPrint
 
static const Option< bool > PTSPrint
 
static const Option< bool > PTSAllPrint
 
static const Option< bool > PrintFieldWithBasePrefix
 
static const Option< bool > PStat
 
static const Option< u32_tStatBudget
 
static const Option< bool > PAGDotGraph
 
static const Option< bool > ShowSVFIRValue
 
static const Option< bool > DumpICFG
 
static const Option< std::stringDumpJson
 
static const Option< bool > ReadJson
 
static const Option< bool > CallGraphDotGraph
 
static const Option< bool > PAGPrint
 
static const Option< u32_tIndirectCallLimit
 
static const Option< bool > UsePreCompFieldSensitive
 
static const Option< bool > EnableAliasCheck
 
static const Option< bool > EnableTypeCheck
 
static const Option< bool > EnableThreadCallGraph
 
static const Option< bool > ConnectVCallOnCHA
 
static const Option< bool > INCDFPTData
 
static const Option< bool > IgnoreDeadFun
 
static const Option< bool > DumpMSSA
 
static const Option< std::stringMSSAFun
 
static const OptionMap< MemSSA::MemPartitionMemPar
 
static const Option< bool > SVFGWithIndirectCall
 
static Option< bool > OPTSVFG
 
static const Option< std::stringWriteSVFG
 
static const Option< std::stringReadSVFG
 
static const Option< bool > IntraLock
 
static const Option< bool > PrintLockSpan
 
static const Option< bool > PrintInterLev
 
static const Option< bool > DoLockAnalysis
 
static const Option< bool > AllPairMHP
 
static const Option< bool > TCTDotGraph
 
static const Option< bool > ValidateTests
 
static const Option< bool > DumpSlice
 
static const Option< u32_tCxtLimit
 
static const Option< bool > DumpCHA
 
static const Option< bool > PrintDCHG
 
static const Option< std::stringGraphtxt
 
static const Option< bool > SVFMain
 
static const Option< bool > LocMemModel
 
static const Option< bool > ModelConsts
 
static const Option< bool > ModelArrays
 
static const Option< bool > CyclicFldIdx
 
static const Option< bool > SymTabPrint
 
static const Option< u32_tMaxZ3Size
 
static const Option< u32_tMaxBVLen
 
static const Option< bool > PrintPathCond
 
static const Option< bool > CollectExtRetGlobals
 
static const Option< bool > DisableWarn
 
static const Option< bool > ConsCGDotGraph
 
static const Option< bool > BriefConsCGDotGraph
 
static const Option< bool > PrintCGGraph
 
static const Option< std::stringWriteAnder
 
static const Option< std::stringReadAnder
 
static const Option< bool > DiffPts
 
static Option< bool > DetectPWC
 
static const Option< bool > VtableInSVFIR
 
static const Option< std::stringExtAPIPath
 
static const Option< bool > AnderSVFG
 
static const Option< bool > SABERFULLSVFG
 
static const Option< bool > PrintAliases
 
static OptionMultiple< PointerAnalysis::PTATYPASelected
 
static OptionMultiple< WPAPass::AliasCheckRuleAliasRule
 
static const Option< bool > ShowHiddenNode
 
static const Option< std::stringGrammarFilename
 
static const Option< std::stringCFLGraph
 
static const Option< bool > PrintCFL
 
static const Option< bool > FlexSymMap
 
static const Option< bool > PEGTransfer
 
static const Option< bool > CFLSVFG
 
static const Option< bool > POCRAlias
 
static const Option< bool > POCRHybrid
 
static const Option< bool > Customized
 
static const Option< bool > LoopAnalysis
 
static const Option< u32_tLoopBound
 
static const Option< u32_tWidenDelay
 
static const Option< u32_tTimeout
 the max time consumptions (seconds). Default: 4 hours 14400s More...
 
static const Option< std::stringOutputName
 bug info output file, Default: output.db More...
 
static const Option< bool > BufferOverflowCheck
 buffer overflow checker, Default: false More...
 
static const Option< bool > MemoryLeakCheck
 memory leak check, Default: false More...
 
static const Option< bool > FileCheck
 file open close checker, Default: false More...
 
static const Option< bool > DFreeCheck
 double free checker, Default: false More...
 
static const Option< bool > RaceCheck
 data race checker, Default: false More...
 
static const Option< bool > GepUnknownIdx
 if the access index of gepstmt is unknown, skip it, Default: false More...
 
static const Option< bool > RunUncallFuncs
 
static const Option< bool > ICFGMergeAdjacentNodes
 
static const Option< u32_tAEPrecision
 

Detailed Description

Carries around command line options.

Definition at line 19 of file Options.h.

Constructor & Destructor Documentation

◆ Options()

SVF::Options::Options ( void  )
delete

Member Data Documentation

◆ AEPrecision

const Option< u32_t > SVF::Options::AEPrecision
static

Definition at line 268 of file Options.h.

◆ AliasRule

OptionMultiple< WPAPass::AliasCheckRule > SVF::Options::AliasRule
static

Definition at line 225 of file Options.h.

◆ AllPairMHP

const Option< bool > SVF::Options::AllPairMHP
static

Definition at line 163 of file Options.h.

◆ AnderSVFG

const Option< bool > SVF::Options::AnderSVFG
static

Definition at line 221 of file Options.h.

◆ AnderTimeLimit

const Option< u32_t > SVF::Options::AnderTimeLimit
static

Time limit for the Andersen's analyses.

Definition at line 75 of file Options.h.

◆ BriefConsCGDotGraph

const Option< bool > SVF::Options::BriefConsCGDotGraph
static

Definition at line 209 of file Options.h.

◆ BufferOverflowCheck

const Option< bool > SVF::Options::BufferOverflowCheck
static

buffer overflow checker, Default: false

Definition at line 252 of file Options.h.

◆ CallGraphDotGraph

const Option< bool > SVF::Options::CallGraphDotGraph
static

Definition at line 126 of file Options.h.

◆ CFLGraph

const Option< std::string > SVF::Options::CFLGraph
static

Definition at line 232 of file Options.h.

◆ CFLSVFG

const Option< bool > SVF::Options::CFLSVFG
static

Definition at line 236 of file Options.h.

◆ ClockType

const OptionMap< enum PTAStat::ClockType > SVF::Options::ClockType
static

Definition at line 24 of file Options.h.

◆ ClusterAnder

const Option< bool > SVF::Options::ClusterAnder
static

Whether to stage Andersen's with Steensgaard and cluster based on that data.

Definition at line 41 of file Options.h.

◆ ClusterFs

const Option< bool > SVF::Options::ClusterFs
static

Whether to cluster FS or VFS with the auxiliary Andersen's.

Definition at line 44 of file Options.h.

◆ ClusterMethod

const OptionMap< enum hclust_fast_methods > SVF::Options::ClusterMethod
static

Clustering method for ClusterFs/ClusterAnder. TODO: we can separate it into two options, and make Clusterer::cluster take in a method argument rather than plugging Options::ClusterMethod inside Clusterer::cluster directly, but it seems we will always want single anyway, and this is for testing.

Definition at line 56 of file Options.h.

◆ CollectExtRetGlobals

const Option< bool > SVF::Options::CollectExtRetGlobals
static

Definition at line 202 of file Options.h.

◆ ConnectVCallOnCHA

const Option< bool > SVF::Options::ConnectVCallOnCHA
static

Definition at line 133 of file Options.h.

◆ ConsCGDotGraph

const Option< bool > SVF::Options::ConsCGDotGraph
static

Definition at line 208 of file Options.h.

◆ ContextInsensitive

const Option< bool > SVF::Options::ContextInsensitive
static

Definition at line 106 of file Options.h.

◆ Customized

const Option< bool > SVF::Options::Customized
static

Definition at line 239 of file Options.h.

◆ CxtBudget

const Option< u32_t > SVF::Options::CxtBudget
static

Definition at line 81 of file Options.h.

◆ CxtLimit

const Option< u32_t > SVF::Options::CxtLimit
static

Definition at line 173 of file Options.h.

◆ CyclicFldIdx

const Option< bool > SVF::Options::CyclicFldIdx
static

Definition at line 189 of file Options.h.

◆ DDASelected

OptionMultiple< PointerAnalysis::PTATY > SVF::Options::DDASelected
static

register this into alias analysis group

Definition at line 93 of file Options.h.

◆ DetectPWC

Option< bool > SVF::Options::DetectPWC
static

Definition at line 216 of file Options.h.

◆ DFreeCheck

const Option< bool > SVF::Options::DFreeCheck
static

double free checker, Default: false

Definition at line 258 of file Options.h.

◆ DiffPts

const Option< bool > SVF::Options::DiffPts
static

Definition at line 215 of file Options.h.

◆ DisableWarn

const Option< bool > SVF::Options::DisableWarn
static

Definition at line 205 of file Options.h.

◆ DoLockAnalysis

const Option< bool > SVF::Options::DoLockAnalysis
static

Definition at line 160 of file Options.h.

◆ DumpCHA

const Option< bool > SVF::Options::DumpCHA
static

Definition at line 176 of file Options.h.

◆ DumpICFG

const Option< bool > SVF::Options::DumpICFG
static

Definition at line 123 of file Options.h.

◆ DumpJson

const Option< std::string > SVF::Options::DumpJson
static

Definition at line 124 of file Options.h.

◆ DumpMSSA

const Option< bool > SVF::Options::DumpMSSA
static

Definition at line 142 of file Options.h.

◆ DumpSlice

const Option< bool > SVF::Options::DumpSlice
static

Definition at line 172 of file Options.h.

◆ DumpVFG

const Option< bool > SVF::Options::DumpVFG
static

Definition at line 111 of file Options.h.

◆ EnableAliasCheck

const Option< bool > SVF::Options::EnableAliasCheck
static

Definition at line 130 of file Options.h.

◆ EnableThreadCallGraph

const Option< bool > SVF::Options::EnableThreadCallGraph
static

Definition at line 132 of file Options.h.

◆ EnableTypeCheck

const Option< bool > SVF::Options::EnableTypeCheck
static

Definition at line 131 of file Options.h.

◆ ExtAPIPath

const Option< std::string > SVF::Options::ExtAPIPath
static

Definition at line 220 of file Options.h.

◆ FileCheck

const Option< bool > SVF::Options::FileCheck
static

file open close checker, Default: false

Definition at line 256 of file Options.h.

◆ FirstFieldEqBase

const Option< bool > SVF::Options::FirstFieldEqBase
static

Definition at line 103 of file Options.h.

◆ FlexSymMap

const Option< bool > SVF::Options::FlexSymMap
static

Definition at line 234 of file Options.h.

◆ FlowBudget

const Option< u32_t > SVF::Options::FlowBudget
static

Definition at line 96 of file Options.h.

◆ FsTimeLimit

const Option< u32_t > SVF::Options::FsTimeLimit
static

Time limit for the main phase (i.e., the actual solving) of FS analyses.

Definition at line 72 of file Options.h.

◆ FuncPointerPrint

const Option< bool > SVF::Options::FuncPointerPrint
static

Definition at line 115 of file Options.h.

◆ GepUnknownIdx

const Option< bool > SVF::Options::GepUnknownIdx
static

if the access index of gepstmt is unknown, skip it, Default: false

Definition at line 262 of file Options.h.

◆ GrammarFilename

const Option< std::string > SVF::Options::GrammarFilename
static

Definition at line 231 of file Options.h.

◆ Graphtxt

const Option< std::string > SVF::Options::Graphtxt
static

Definition at line 182 of file Options.h.

◆ HandBlackHole

Option< bool > SVF::Options::HandBlackHole
static

Definition at line 102 of file Options.h.

◆ ICFGMergeAdjacentNodes

const Option< bool > SVF::Options::ICFGMergeAdjacentNodes
static

Definition at line 265 of file Options.h.

◆ IgnoreDeadFun

const Option< bool > SVF::Options::IgnoreDeadFun
static

Definition at line 139 of file Options.h.

◆ INCDFPTData

const Option< bool > SVF::Options::INCDFPTData
static

Definition at line 136 of file Options.h.

◆ IndirectCallLimit

const Option< u32_t > SVF::Options::IndirectCallLimit
static

Definition at line 128 of file Options.h.

◆ InsenCycle

const Option< bool > SVF::Options::InsenCycle
static

Definition at line 89 of file Options.h.

◆ InsenRecur

const Option< bool > SVF::Options::InsenRecur
static

Definition at line 88 of file Options.h.

◆ IntraLock

const Option< bool > SVF::Options::IntraLock
static

Definition at line 155 of file Options.h.

◆ KeepAOFI

const Option< bool > SVF::Options::KeepAOFI
static

Definition at line 107 of file Options.h.

◆ LocMemModel

const Option<bool> SVF::Options::LocMemModel
static

Definition at line 186 of file Options.h.

◆ LoopAnalysis

const Option< bool > SVF::Options::LoopAnalysis
static

Definition at line 242 of file Options.h.

◆ LoopBound

const Option< u32_t > SVF::Options::LoopBound
static

Definition at line 243 of file Options.h.

◆ MarkedClocksOnly

const Option< bool > SVF::Options::MarkedClocksOnly
static

If set, only return the clock when getClk is called as getClk(true). Retrieving the clock is slow but it should be fine for a few calls. This is good for benchmarking when we don't need to know how long processLoad takes, for example (many calls), but want to know things like total solve time. Should be used only to affect getClk, not CLOCK_IN_MS.

Definition at line 31 of file Options.h.

◆ MaxBVLen

const Option< u32_t > SVF::Options::MaxBVLen
static

Definition at line 196 of file Options.h.

◆ MaxContextLen

const Option< u32_t > SVF::Options::MaxContextLen
static

Definition at line 85 of file Options.h.

◆ MaxFieldLimit

const Option< u32_t > SVF::Options::MaxFieldLimit
static

Maximum number of field derivations for an object.

Definition at line 38 of file Options.h.

◆ MaxPathLen

const Option< u32_t > SVF::Options::MaxPathLen
static

Definition at line 84 of file Options.h.

◆ MaxStepInWrapper

const Option< u32_t > SVF::Options::MaxStepInWrapper
static

Definition at line 86 of file Options.h.

◆ MaxZ3Size

const Option< u32_t > SVF::Options::MaxZ3Size
static

Definition at line 193 of file Options.h.

◆ MemoryLeakCheck

const Option< bool > SVF::Options::MemoryLeakCheck
static

memory leak check, Default: false

Definition at line 254 of file Options.h.

◆ MemPar

const OptionMap< MemSSA::MemPartition > SVF::Options::MemPar
static

Definition at line 145 of file Options.h.

◆ ModelArrays

const Option< bool > SVF::Options::ModelArrays
static

Definition at line 188 of file Options.h.

◆ ModelConsts

const Option< bool > SVF::Options::ModelConsts
static

Definition at line 187 of file Options.h.

◆ MSSAFun

const Option< std::string > SVF::Options::MSSAFun
static

Definition at line 143 of file Options.h.

◆ NodeAllocStrat

const OptionMap< NodeIDAllocator::Strategy > SVF::Options::NodeAllocStrat
static

Allocation strategy to be used by the node ID allocator. Currently dense, seq, or debug.

Definition at line 35 of file Options.h.

◆ OCGDotGraph

const Option< bool > SVF::Options::OCGDotGraph
static

Definition at line 99 of file Options.h.

◆ OPTSVFG

Option< bool > SVF::Options::OPTSVFG
static

Definition at line 149 of file Options.h.

◆ OutputName

const Option< std::string > SVF::Options::OutputName
static

bug info output file, Default: output.db

Definition at line 250 of file Options.h.

◆ PAGDotGraph

const Option< bool > SVF::Options::PAGDotGraph
static

Definition at line 121 of file Options.h.

◆ PAGPrint

const Option< bool > SVF::Options::PAGPrint
static

Definition at line 127 of file Options.h.

◆ PASelected

OptionMultiple< PointerAnalysis::PTATY > SVF::Options::PASelected
static

Definition at line 224 of file Options.h.

◆ PEGTransfer

const Option< bool > SVF::Options::PEGTransfer
static

Definition at line 235 of file Options.h.

◆ PlainMappingFs

const Option< bool > SVF::Options::PlainMappingFs
static

Use an explicitly plain mapping with flow-sensitive (not null).

Definition at line 47 of file Options.h.

◆ POCRAlias

const Option< bool > SVF::Options::POCRAlias
static

Definition at line 237 of file Options.h.

◆ POCRHybrid

const Option< bool > SVF::Options::POCRHybrid
static

Definition at line 238 of file Options.h.

◆ PredictPtOcc

const Option< bool > SVF::Options::PredictPtOcc
static

Predict occurrences of points-to sets in the staged points-to set to weigh more common points-to sets as more important.

Definition at line 66 of file Options.h.

◆ PrintAliases

const Option< bool > SVF::Options::PrintAliases
static

Definition at line 223 of file Options.h.

◆ PrintCFL

const Option< bool > SVF::Options::PrintCFL
static

Definition at line 233 of file Options.h.

◆ PrintCGGraph

const Option< bool > SVF::Options::PrintCGGraph
static

Definition at line 210 of file Options.h.

◆ PrintCPts

const Option< bool > SVF::Options::PrintCPts
static

Definition at line 90 of file Options.h.

◆ PrintDCHG

const Option< bool > SVF::Options::PrintDCHG
static

Definition at line 179 of file Options.h.

◆ PrintFieldWithBasePrefix

const Option< bool > SVF::Options::PrintFieldWithBasePrefix
static

Definition at line 118 of file Options.h.

◆ PrintInterLev

const Option< bool > SVF::Options::PrintInterLev
static

Definition at line 159 of file Options.h.

◆ PrintLockSpan

const Option< bool > SVF::Options::PrintLockSpan
static

Definition at line 156 of file Options.h.

◆ PrintPathCond

const Option< bool > SVF::Options::PrintPathCond
static

Definition at line 199 of file Options.h.

◆ PrintQueryPts

const Option< bool > SVF::Options::PrintQueryPts
static

Definition at line 91 of file Options.h.

◆ PStat

const Option< bool > SVF::Options::PStat
static

Definition at line 119 of file Options.h.

◆ ptDataBacking

const OptionMap< BVDataPTAImpl::PTBackingType > SVF::Options::ptDataBacking
static

PTData type.

Definition at line 69 of file Options.h.

◆ PTSAllPrint

const Option< bool > SVF::Options::PTSAllPrint
static

Definition at line 117 of file Options.h.

◆ PTSPrint

const Option< bool > SVF::Options::PTSPrint
static

Definition at line 116 of file Options.h.

◆ PtType

const OptionMap< PointsTo::Type > SVF::Options::PtType
static

Type of points-to set to use for all analyses.

Definition at line 50 of file Options.h.

◆ RaceCheck

const Option< bool > SVF::Options::RaceCheck
static

data race checker, Default: false

Definition at line 260 of file Options.h.

◆ ReadAnder

const Option< std::string > SVF::Options::ReadAnder
static

Definition at line 214 of file Options.h.

◆ ReadJson

const Option< bool > SVF::Options::ReadJson
static

Definition at line 125 of file Options.h.

◆ ReadSVFG

const Option< std::string > SVF::Options::ReadSVFG
static

Definition at line 152 of file Options.h.

◆ RegionAlign

const Option< bool > SVF::Options::RegionAlign
static

Align identifiers in each region to a word.

Definition at line 62 of file Options.h.

◆ RegionedClustering

const Option< bool > SVF::Options::RegionedClustering
static

Cluster partitions separately.

Definition at line 59 of file Options.h.

◆ RunUncallFuncs

const Option< bool > SVF::Options::RunUncallFuncs
static

Definition at line 263 of file Options.h.

◆ SABERFULLSVFG

const Option< bool > SVF::Options::SABERFULLSVFG
static

Definition at line 222 of file Options.h.

◆ SelfCycle

const Option< std::string > SVF::Options::SelfCycle
static

Definition at line 108 of file Options.h.

◆ ShowHiddenNode

const Option< bool > SVF::Options::ShowHiddenNode
static

Definition at line 228 of file Options.h.

◆ ShowSVFIRValue

const Option< bool > SVF::Options::ShowSVFIRValue
static

Definition at line 122 of file Options.h.

◆ StatBudget

const Option< u32_t > SVF::Options::StatBudget
static

Definition at line 120 of file Options.h.

◆ SVFGWithIndirectCall

const Option< bool > SVF::Options::SVFGWithIndirectCall
static

Definition at line 148 of file Options.h.

◆ SVFMain

const Option< bool > SVF::Options::SVFMain
static

Definition at line 183 of file Options.h.

◆ SymTabPrint

const Option< bool > SVF::Options::SymTabPrint
static

Definition at line 190 of file Options.h.

◆ TCTDotGraph

const Option< bool > SVF::Options::TCTDotGraph
static

Definition at line 166 of file Options.h.

◆ Timeout

const Option< u32_t > SVF::Options::Timeout
static

the max time consumptions (seconds). Default: 4 hours 14400s

Definition at line 248 of file Options.h.

◆ TypePrint

const Option< bool > SVF::Options::TypePrint
static

Definition at line 114 of file Options.h.

◆ UsePreCompFieldSensitive

const Option< bool > SVF::Options::UsePreCompFieldSensitive
static

Definition at line 129 of file Options.h.

◆ UserInputQuery

const Option< std::string > SVF::Options::UserInputQuery
static

Definition at line 87 of file Options.h.

◆ ValidateTests

const Option< bool > SVF::Options::ValidateTests
static

Definition at line 169 of file Options.h.

◆ VersioningThreads

const Option< u32_t > SVF::Options::VersioningThreads
static

Number of threads for the versioning phase.

Definition at line 78 of file Options.h.

◆ VtableInSVFIR

const Option< bool > SVF::Options::VtableInSVFIR
static

Definition at line 217 of file Options.h.

◆ WidenDelay

const Option< u32_t > SVF::Options::WidenDelay
static

Definition at line 246 of file Options.h.

◆ WPANum

const Option< bool > SVF::Options::WPANum
static

Definition at line 92 of file Options.h.

◆ WriteAnder

const Option< std::string > SVF::Options::WriteAnder
static

Definition at line 212 of file Options.h.

◆ WriteSVFG

const Option< std::string > SVF::Options::WriteSVFG
static

Definition at line 151 of file Options.h.


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