Static Value-Flow Analysis
|
Carries around command line options. More...
#include <Options.h>
Public Member Functions | |
Options (void)=delete | |
Static Public Attributes | |
static const OptionMap< enum PTAStat::ClockType > | ClockType |
static const Option< bool > | MarkedClocksOnly |
static const OptionMap< SVF::NodeIDAllocator::Strategy > | NodeAllocStrat |
static const Option< u32_t > | MaxFieldLimit |
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::Type > | PtType |
Type of points-to set to use for all analyses. More... | |
static const OptionMap< enum hclust_fast_methods > | ClusterMethod |
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::PTBackingType > | ptDataBacking |
PTData type. More... | |
static const Option< u32_t > | FsTimeLimit |
Time limit for the main phase (i.e., the actual solving) of FS analyses. More... | |
static const Option< u32_t > | AnderTimeLimit |
Time limit for the Andersen's analyses. More... | |
static const Option< u32_t > | VersioningThreads |
Number of threads for the versioning phase. More... | |
static const Option< u32_t > | CxtBudget |
static const Option< u32_t > | MaxPathLen |
static const Option< u32_t > | MaxContextLen |
static const Option< u32_t > | MaxStepInWrapper |
static const Option< std::string > | UserInputQuery |
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::PTATY > | DDASelected |
register this into alias analysis group More... | |
static const Option< u32_t > | FlowBudget |
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::string > | SelfCycle |
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_t > | StatBudget |
static const Option< bool > | PAGDotGraph |
static const Option< bool > | ShowSVFIRValue |
static const Option< bool > | DumpICFG |
static const Option< std::string > | DumpJson |
static const Option< bool > | ReadJson |
static const Option< bool > | CallGraphDotGraph |
static const Option< bool > | PAGPrint |
static const Option< u32_t > | IndirectCallLimit |
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::string > | MSSAFun |
static const OptionMap< MemSSA::MemPartition > | MemPar |
static const Option< bool > | SVFGWithIndirectCall |
static Option< bool > | OPTSVFG |
static const Option< std::string > | WriteSVFG |
static const Option< std::string > | ReadSVFG |
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_t > | CxtLimit |
static const Option< bool > | DumpCHA |
static const Option< bool > | PrintDCHG |
static const Option< std::string > | Graphtxt |
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_t > | MaxZ3Size |
static const Option< u32_t > | MaxBVLen |
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::string > | WriteAnder |
static const Option< std::string > | ReadAnder |
static const Option< bool > | DiffPts |
static Option< bool > | DetectPWC |
static const Option< bool > | VtableInSVFIR |
static const Option< std::string > | ExtAPIPath |
static const Option< bool > | AnderSVFG |
static const Option< bool > | SABERFULLSVFG |
static const Option< bool > | PrintAliases |
static OptionMultiple< PointerAnalysis::PTATY > | PASelected |
static OptionMultiple< WPAPass::AliasCheckRule > | AliasRule |
static const Option< bool > | ShowHiddenNode |
static const Option< std::string > | GrammarFilename |
static const Option< std::string > | CFLGraph |
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_t > | LoopBound |
static const Option< u32_t > | WidenDelay |
static const Option< u32_t > | Timeout |
the max time consumptions (seconds). Default: 4 hours 14400s More... | |
static const Option< std::string > | OutputName |
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_t > | AEPrecision |
|
delete |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Whether to stage Andersen's with Steensgaard and cluster based on that data.
|
static |
|
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.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
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.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |