Static Value-Flow Analysis
Loading...
Searching...
No Matches
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< boolMarkedClocksOnly
 
static const OptionMap< SVF::NodeIDAllocator::StrategyNodeAllocStrat
 
static const Option< u32_tMaxFieldLimit
 Maximum number of field derivations for an object.
 
static const Option< boolClusterAnder
 Whether to stage Andersen's with Steensgaard and cluster based on that data.
 
static const Option< boolClusterFs
 Whether to cluster FS or VFS with the auxiliary Andersen's.
 
static const Option< boolPlainMappingFs
 Use an explicitly plain mapping with flow-sensitive (not null).
 
static const OptionMap< PointsTo::TypePtType
 Type of points-to set to use for all analyses.
 
static const OptionMap< enum hclust_fast_methodsClusterMethod
 
static const Option< boolRegionedClustering
 Cluster partitions separately.
 
static const Option< boolRegionAlign
 Align identifiers in each region to a word.
 
static const Option< boolPredictPtOcc
 
static const OptionMap< BVDataPTAImpl::PTBackingTypeptDataBacking
 PTData type.
 
static const Option< u32_tFsTimeLimit
 Time limit for the main phase (i.e., the actual solving) of FS analyses.
 
static const Option< u32_tAnderTimeLimit
 Time limit for the Andersen's analyses.
 
static const Option< u32_tVersioningThreads
 Number of threads for the versioning phase.
 
static const Option< u32_tCxtBudget
 
static const Option< u32_tMaxPathLen
 
static const Option< u32_tMaxContextLen
 
static const Option< u32_tMaxStepInWrapper
 
static const Option< std::string > UserInputQuery
 
static const Option< boolInsenRecur
 
static const Option< boolInsenCycle
 
static const Option< boolPrintCPts
 
static const Option< boolPrintQueryPts
 
static const Option< boolWPANum
 
static OptionMultiple< PointerAnalysis::PTATYDDASelected
 register this into alias analysis group
 
static const Option< u32_tFlowBudget
 
static const Option< boolOCGDotGraph
 
static Option< boolHandBlackHole
 
static const Option< boolFirstFieldEqBase
 
static const Option< boolContextInsensitive
 
static const Option< boolKeepAOFI
 
static const Option< std::string > SelfCycle
 
static const Option< boolDumpVFG
 
static const Option< boolTypePrint
 
static const Option< boolFuncPointerPrint
 
static const Option< boolPTSPrint
 
static const Option< boolPTSAllPrint
 
static const Option< boolPrintFieldWithBasePrefix
 
static const Option< boolPStat
 
static const Option< u32_tStatBudget
 
static const Option< boolPAGDotGraph
 
static const Option< boolShowSVFIRValue
 
static const Option< boolDumpICFG
 
static const Option< std::string > DumpJson
 
static const Option< boolReadJson
 
static const Option< boolCallGraphDotGraph
 
static const Option< boolPAGPrint
 
static const Option< u32_tIndirectCallLimit
 
static const Option< boolUsePreCompFieldSensitive
 
static const Option< boolEnableAliasCheck
 
static const Option< boolEnableTypeCheck
 
static const Option< boolEnableThreadCallGraph
 
static const Option< boolConnectVCallOnCHA
 
static const Option< boolINCDFPTData
 
static const Option< boolIgnoreDeadFun
 
static const Option< boolDumpMSSA
 
static const Option< std::string > MSSAFun
 
static const OptionMap< MemSSA::MemPartitionMemPar
 
static const Option< boolSVFGWithIndirectCall
 
static Option< boolOPTSVFG
 
static const Option< std::string > WriteSVFG
 
static const Option< std::string > ReadSVFG
 
static const Option< boolIntraLock
 
static const Option< boolPrintLockSpan
 
static const Option< boolPrintInterLev
 
static const Option< boolDoLockAnalysis
 
static const Option< boolAllPairMHP
 
static const Option< boolTCTDotGraph
 
static const Option< boolValidateTests
 
static const Option< boolDumpSlice
 
static const Option< u32_tCxtLimit
 
static const Option< boolDumpCHA
 
static const Option< boolPrintDCHG
 
static const Option< std::string > Graphtxt
 
static const Option< boolSVFMain
 
static const Option< boolLocMemModel
 
static const Option< boolModelConsts
 
static const Option< boolModelArrays
 
static const Option< boolCyclicFldIdx
 
static const Option< boolSymTabPrint
 
static const Option< u32_tMaxZ3Size
 
static const Option< u32_tMaxBVLen
 
static const Option< boolPrintPathCond
 
static const Option< boolCollectExtRetGlobals
 
static const Option< boolDisableWarn
 
static const Option< boolConsCGDotGraph
 
static const Option< boolBriefConsCGDotGraph
 
static const Option< boolPrintCGGraph
 
static const Option< std::string > WriteAnder
 
static const Option< std::string > ReadAnder
 
static const Option< boolDiffPts
 
static Option< boolDetectPWC
 
static const Option< boolVtableInSVFIR
 
static const Option< std::string > ExtAPIPath
 
static const Option< boolAnderSVFG
 
static const Option< boolSABERFULLSVFG
 
static const Option< boolPrintAliases
 
static OptionMultiple< PointerAnalysis::PTATYPASelected
 
static OptionMultiple< WPAPass::AliasCheckRuleAliasRule
 
static const Option< boolShowHiddenNode
 
static const Option< std::string > GrammarFilename
 
static const Option< std::string > CFLGraph
 
static const Option< boolPrintCFL
 
static const Option< boolFlexSymMap
 
static const Option< boolPEGTransfer
 
static const Option< boolCFLSVFG
 
static const Option< boolPOCRAlias
 
static const Option< boolPOCRHybrid
 
static const Option< boolCustomized
 
static const Option< boolLoopAnalysis
 
static const Option< u32_tLoopBound
 
static const Option< u32_tWidenDelay
 
static const Option< u32_tTimeout
 the max time consumptions (seconds). Default: 4 hours 14400s
 
static const Option< std::string > OutputName
 bug info output file, Default: output.db
 
static const Option< boolBufferOverflowCheck
 buffer overflow checker, Default: false
 
static const Option< boolMemoryLeakCheck
 memory leak check, Default: false
 
static const Option< boolFileCheck
 file open close checker, Default: false
 
static const Option< boolDFreeCheck
 double free checker, Default: false
 
static const Option< boolRaceCheck
 data race checker, Default: false
 
static const Option< boolGepUnknownIdx
 if the access index of gepstmt is unknown, skip it, Default: false
 
static const Option< boolRunUncallFuncs
 
static const Option< boolICFGMergeAdjacentNodes
 
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: