svf-lib 1.0.2319 → 1.0.2321
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/WorkList.h +0 -0
- package/SVF-linux-aarch64/Release-build/lib/cmake/SVF/Modules/FindZ3.cmake +93 -0
- package/SVF-linux-aarch64/Release-build/lib/cmake/SVF/SVFConfig.cmake +106 -0
- package/SVF-linux-aarch64/Release-build/lib/cmake/SVF/SVFConfigVersion.cmake +43 -0
- package/SVF-linux-aarch64/Release-build/lib/cmake/SVF/SVFTargets-release.cmake +101 -0
- package/SVF-linux-aarch64/Release-build/lib/cmake/SVF/SVFTargets.cmake +180 -0
- package/SVF-linux-aarch64/Release-build/lib/libSvfCore.so.3.1 +0 -0
- package/SVF-linux-aarch64/Release-build/lib/libSvfLLVM.so.3.1 +0 -0
- package/SVF-linux-aarch64/Release-build/lib/pkgconfig/SVF.pc +12 -0
- package/SVF-osx/Release-build/bin/ae +0 -0
- package/SVF-osx/Release-build/bin/cfl +0 -0
- package/SVF-osx/Release-build/bin/dvf +0 -0
- package/SVF-osx/Release-build/bin/llvm2svf +0 -0
- package/SVF-osx/Release-build/bin/mta +0 -0
- package/SVF-osx/Release-build/bin/saber +0 -0
- package/SVF-osx/Release-build/bin/svf-ex +0 -0
- package/SVF-osx/Release-build/bin/wpa +0 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/AbstractState.h +425 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/AbstractValue.h +157 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/AddressValue.h +225 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/ICFGWTO.h +135 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/IntervalValue.h +1055 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/NumericValue.h +1292 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/RelExeState.h +226 -0
- package/SVF-osx/Release-build/include/SVF/AE/Core/RelationSolver.h +91 -0
- package/SVF-osx/Release-build/include/SVF/AE/Svfexe/AEDetector.h +439 -0
- package/SVF-osx/Release-build/include/SVF/AE/Svfexe/AbsExtAPI.h +138 -0
- package/SVF-osx/Release-build/include/SVF/AE/Svfexe/AbstractInterpretation.h +384 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFGNormalizer.h +84 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFGrammar.h +468 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLAlias.h +168 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLBase.h +118 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLGramGraphChecker.h +74 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLGraphBuilder.h +168 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLSVFGBuilder.h +58 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLSolver.h +374 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLStat.h +67 -0
- package/SVF-osx/Release-build/include/SVF/CFL/CFLVF.h +68 -0
- package/SVF-osx/Release-build/include/SVF/CFL/GrammarBuilder.h +100 -0
- package/SVF-osx/Release-build/include/SVF/DDA/ContextDDA.h +230 -0
- package/SVF-osx/Release-build/include/SVF/DDA/DDAClient.h +163 -0
- package/SVF-osx/Release-build/include/SVF/DDA/DDAPass.h +102 -0
- package/SVF-osx/Release-build/include/SVF/DDA/DDAStat.h +121 -0
- package/SVF-osx/Release-build/include/SVF/DDA/DDAVFSolver.h +794 -0
- package/SVF-osx/Release-build/include/SVF/DDA/FlowDDA.h +178 -0
- package/SVF-osx/Release-build/include/SVF/FastCluster/fastcluster.h +80 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/BasicBlockG.h +318 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/CDG.h +482 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/CFLGraph.h +232 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/CHG.h +368 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/CallGraph.h +497 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ConsG.h +402 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ConsGEdge.h +355 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ConsGNode.h +418 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/DOTGraphTraits.h +188 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/GenericGraph.h +628 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/GraphPrinter.h +111 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/GraphTraits.h +150 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/GraphWriter.h +380 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ICFG.h +331 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ICFGEdge.h +281 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ICFGNode.h +669 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ICFGStat.h +164 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/IRGraph.h +398 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/SCC.h +375 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/SVFG.h +491 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/SVFGEdge.h +237 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/SVFGNode.h +501 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/SVFGOPT.h +372 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/SVFGStat.h +273 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/ThreadCallGraph.h +399 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/VFG.h +726 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/VFGEdge.h +295 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/VFGNode.h +1266 -0
- package/SVF-osx/Release-build/include/SVF/Graphs/WTO.h +872 -0
- package/SVF-osx/Release-build/include/SVF/MSSA/MSSAMuChi.h +722 -0
- package/SVF-osx/Release-build/include/SVF/MSSA/MemPartition.h +169 -0
- package/SVF-osx/Release-build/include/SVF/MSSA/MemRegion.h +489 -0
- package/SVF-osx/Release-build/include/SVF/MSSA/MemSSA.h +452 -0
- package/SVF-osx/Release-build/include/SVF/MSSA/SVFGBuilder.h +104 -0
- package/SVF-osx/Release-build/include/SVF/MTA/LockAnalysis.h +533 -0
- package/SVF-osx/Release-build/include/SVF/MTA/MHP.h +546 -0
- package/SVF-osx/Release-build/include/SVF/MTA/MTA.h +97 -0
- package/SVF-osx/Release-build/include/SVF/MTA/MTAStat.h +73 -0
- package/SVF-osx/Release-build/include/SVF/MTA/TCT.h +620 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/AbstractPointsToDS.h +316 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/AccessPath.h +194 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/ConditionalPT.h +878 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/MutablePointsToDS.h +1025 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/PersistentPointsToCache.h +463 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/PersistentPointsToDS.h +955 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/PointerAnalysis.h +428 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/PointerAnalysisImpl.h +602 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/PointsTo.h +255 -0
- package/SVF-osx/Release-build/include/SVF/MemoryModel/SVFLoop.h +167 -0
- package/SVF-osx/Release-build/include/SVF/SABER/DoubleFreeChecker.h +76 -0
- package/SVF-osx/Release-build/include/SVF/SABER/FileChecker.h +80 -0
- package/SVF-osx/Release-build/include/SVF/SABER/LeakChecker.h +122 -0
- package/SVF-osx/Release-build/include/SVF/SABER/ProgSlice.h +327 -0
- package/SVF-osx/Release-build/include/SVF/SABER/SaberCheckerAPI.h +151 -0
- package/SVF-osx/Release-build/include/SVF/SABER/SaberCondAllocator.h +317 -0
- package/SVF-osx/Release-build/include/SVF/SABER/SaberSVFGBuilder.h +114 -0
- package/SVF-osx/Release-build/include/SVF/SABER/SrcSnkDDA.h +327 -0
- package/SVF-osx/Release-build/include/SVF/SABER/SrcSnkSolver.h +186 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/BasicTypes.h +280 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/BreakConstantExpr.h +93 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/CHGBuilder.h +78 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/CppUtil.h +184 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/DCHG.h +474 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/GEPTypeBridgeIterator.h +183 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/ICFGBuilder.h +160 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/LLVMLoopAnalysis.h +60 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/LLVMModule.h +527 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/LLVMUtil.h +433 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/ObjTypeInference.h +129 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/SVFIRBuilder.h +523 -0
- package/SVF-osx/Release-build/include/SVF/SVF-LLVM/SymbolTableBuilder.h +132 -0
- package/SVF-osx/Release-build/include/SVF/SVFIR/ObjTypeInfo.h +224 -0
- package/SVF-osx/Release-build/include/SVF/SVFIR/PAGBuilderFromFile.h +80 -0
- package/SVF-osx/Release-build/include/SVF/SVFIR/SVFIR.h +856 -0
- package/SVF-osx/Release-build/include/SVF/SVFIR/SVFStatements.h +1330 -0
- package/SVF-osx/Release-build/include/SVF/SVFIR/SVFType.h +606 -0
- package/SVF-osx/Release-build/include/SVF/SVFIR/SVFValue.h +338 -0
- package/SVF-osx/Release-build/include/SVF/SVFIR/SVFVariables.h +2212 -0
- package/SVF-osx/Release-build/include/SVF/Util/Annotator.h +180 -0
- package/SVF-osx/Release-build/include/SVF/Util/BitVector.h +55 -0
- package/SVF-osx/Release-build/include/SVF/Util/CDGBuilder.h +107 -0
- package/SVF-osx/Release-build/include/SVF/Util/CallGraphBuilder.h +61 -0
- package/SVF-osx/Release-build/include/SVF/Util/Casting.h +426 -0
- package/SVF-osx/Release-build/include/SVF/Util/CommandLine.h +530 -0
- package/SVF-osx/Release-build/include/SVF/Util/CoreBitVector.h +214 -0
- package/SVF-osx/Release-build/include/SVF/Util/CxtStmt.h +502 -0
- package/SVF-osx/Release-build/include/SVF/Util/DPItem.h +618 -0
- package/SVF-osx/Release-build/include/SVF/Util/ExtAPI.h +117 -0
- package/SVF-osx/Release-build/include/SVF/Util/GeneralType.h +127 -0
- package/SVF-osx/Release-build/include/SVF/Util/GraphReachSolver.h +186 -0
- package/SVF-osx/Release-build/include/SVF/Util/NodeIDAllocator.h +203 -0
- package/SVF-osx/Release-build/include/SVF/Util/Options.h +273 -0
- package/SVF-osx/Release-build/include/SVF/Util/PTAStat.h +83 -0
- package/SVF-osx/Release-build/include/SVF/Util/SVFBugReport.h +427 -0
- package/SVF-osx/Release-build/include/SVF/Util/SVFLoopAndDomInfo.h +169 -0
- package/SVF-osx/Release-build/include/SVF/Util/SVFStat.h +103 -0
- package/SVF-osx/Release-build/include/SVF/Util/SVFUtil.h +478 -0
- package/SVF-osx/Release-build/include/SVF/Util/SparseBitVector.h +1252 -0
- package/SVF-osx/Release-build/include/SVF/Util/ThreadAPI.h +188 -0
- package/SVF-osx/Release-build/include/SVF/Util/WorkList.h +317 -0
- package/SVF-osx/Release-build/include/SVF/Util/Z3Expr.h +325 -0
- package/SVF-osx/Release-build/include/SVF/Util/cJSON.h +300 -0
- package/SVF-osx/Release-build/include/SVF/Util/config.h +46 -0
- package/SVF-osx/Release-build/include/SVF/Util/iterator.h +407 -0
- package/SVF-osx/Release-build/include/SVF/Util/iterator_range.h +76 -0
- package/SVF-osx/Release-build/include/SVF/WPA/Andersen.h +434 -0
- package/SVF-osx/Release-build/include/SVF/WPA/AndersenPWC.h +160 -0
- package/SVF-osx/Release-build/include/SVF/WPA/CSC.h +95 -0
- package/SVF-osx/Release-build/include/SVF/WPA/FlowSensitive.h +322 -0
- package/SVF-osx/Release-build/include/SVF/WPA/Steensgaard.h +131 -0
- package/SVF-osx/Release-build/include/SVF/WPA/TypeAnalysis.h +90 -0
- package/SVF-osx/Release-build/include/SVF/WPA/VersionedFlowSensitive.h +295 -0
- package/SVF-osx/Release-build/include/SVF/WPA/WPAFSSolver.h +246 -0
- package/SVF-osx/Release-build/include/SVF/WPA/WPAPass.h +115 -0
- package/SVF-osx/Release-build/include/SVF/WPA/WPASolver.h +205 -0
- package/SVF-osx/Release-build/include/SVF/WPA/WPAStat.h +222 -0
- package/SVF-osx/Release-build/include/SVF/extapi.bc +2384 -0
- package/SVF-osx/Release-build/lib/cmake/SVF/Modules/FindZ3.cmake +93 -0
- package/SVF-osx/Release-build/lib/cmake/SVF/SVFConfig.cmake +106 -0
- package/SVF-osx/Release-build/lib/cmake/SVF/SVFConfigVersion.cmake +43 -0
- package/SVF-osx/Release-build/lib/cmake/SVF/SVFTargets-release.cmake +101 -0
- package/SVF-osx/Release-build/lib/cmake/SVF/SVFTargets.cmake +180 -0
- package/SVF-osx/Release-build/lib/libSvfCore.3.1.dylib +0 -0
- package/SVF-osx/Release-build/lib/libSvfLLVM.3.1.dylib +0 -0
- package/SVF-osx/Release-build/lib/pkgconfig/SVF.pc +12 -0
- package/package.json +1 -1
- package/SVF-linux-aarch64/Release-build/include/CFL/grammar/PAGGrammar.txt +0 -15
- package/SVF-linux-aarch64/Release-build/include/CFL/grammar/PEGGrammar.txt +0 -11
- package/SVF-linux-aarch64/Release-build/include/CFL/grammar/VFGGrammar.txt +0 -7
- package/SVF-linux-aarch64/Release-build/include/FastCluster/LICENSE.TXT +0 -13
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/AbstractState.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/AbstractValue.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/AddressValue.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/ICFGWTO.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/IntervalValue.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/NumericValue.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/RelExeState.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Core/RelationSolver.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Svfexe/AEDetector.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Svfexe/AbsExtAPI.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{AE → SVF/AE}/Svfexe/AbstractInterpretation.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFGNormalizer.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFGrammar.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLAlias.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLBase.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLGramGraphChecker.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLGraphBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLSVFGBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLSolver.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/CFLVF.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{CFL → SVF/CFL}/GrammarBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{DDA → SVF/DDA}/ContextDDA.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{DDA → SVF/DDA}/DDAClient.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{DDA → SVF/DDA}/DDAPass.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{DDA → SVF/DDA}/DDAStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{DDA → SVF/DDA}/DDAVFSolver.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{DDA → SVF/DDA}/FlowDDA.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{FastCluster → SVF/FastCluster}/fastcluster.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/BasicBlockG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/CDG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/CFLGraph.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/CHG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/CallGraph.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ConsG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ConsGEdge.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ConsGNode.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/DOTGraphTraits.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/GenericGraph.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/GraphPrinter.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/GraphTraits.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/GraphWriter.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ICFG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ICFGEdge.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ICFGNode.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ICFGStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/IRGraph.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/SCC.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/SVFG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/SVFGEdge.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/SVFGNode.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/SVFGOPT.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/SVFGStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/ThreadCallGraph.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/VFG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/VFGEdge.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/VFGNode.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Graphs → SVF/Graphs}/WTO.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MSSA → SVF/MSSA}/MSSAMuChi.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MSSA → SVF/MSSA}/MemPartition.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MSSA → SVF/MSSA}/MemRegion.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MSSA → SVF/MSSA}/MemSSA.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MSSA → SVF/MSSA}/SVFGBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MTA → SVF/MTA}/LockAnalysis.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MTA → SVF/MTA}/MHP.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MTA → SVF/MTA}/MTA.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MTA → SVF/MTA}/MTAStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MTA → SVF/MTA}/TCT.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/AbstractPointsToDS.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/AccessPath.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/ConditionalPT.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/MutablePointsToDS.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/PersistentPointsToCache.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/PersistentPointsToDS.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/PointerAnalysis.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/PointerAnalysisImpl.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/PointsTo.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{MemoryModel → SVF/MemoryModel}/SVFLoop.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/DoubleFreeChecker.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/FileChecker.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/LeakChecker.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/ProgSlice.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/SaberCheckerAPI.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/SaberCondAllocator.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/SaberSVFGBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/SrcSnkDDA.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SABER → SVF/SABER}/SrcSnkSolver.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/BasicTypes.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/BreakConstantExpr.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/CHGBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/CppUtil.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/DCHG.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/GEPTypeBridgeIterator.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/ICFGBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/LLVMLoopAnalysis.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/LLVMModule.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/LLVMUtil.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/ObjTypeInference.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/SVFIRBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVF-LLVM → SVF/SVF-LLVM}/SymbolTableBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVFIR → SVF/SVFIR}/ObjTypeInfo.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVFIR → SVF/SVFIR}/PAGBuilderFromFile.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVFIR → SVF/SVFIR}/SVFIR.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVFIR → SVF/SVFIR}/SVFStatements.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVFIR → SVF/SVFIR}/SVFType.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVFIR → SVF/SVFIR}/SVFValue.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{SVFIR → SVF/SVFIR}/SVFVariables.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/Annotator.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/BitVector.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/CDGBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/CallGraphBuilder.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/Casting.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/CommandLine.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/CoreBitVector.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/CxtStmt.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/DPItem.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/ExtAPI.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/GeneralType.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/GraphReachSolver.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/NodeIDAllocator.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/Options.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/PTAStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/SVFBugReport.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/SVFLoopAndDomInfo.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/SVFStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/SVFUtil.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/SparseBitVector.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/ThreadAPI.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/Z3Expr.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/cJSON.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/iterator.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{Util → SVF/Util}/iterator_range.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/Andersen.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/AndersenPWC.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/CSC.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/FlowSensitive.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/Steensgaard.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/TypeAnalysis.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/VersionedFlowSensitive.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/WPAFSSolver.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/WPAPass.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/WPASolver.h +0 -0
- /package/SVF-linux-aarch64/Release-build/include/{WPA → SVF/WPA}/WPAStat.h +0 -0
- /package/SVF-linux-aarch64/Release-build/{lib → include/SVF}/extapi.bc +0 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
//===- Options.h -- Command line options ------------------------//
|
|
2
|
+
|
|
3
|
+
#ifndef OPTIONS_H_
|
|
4
|
+
#define OPTIONS_H_
|
|
5
|
+
|
|
6
|
+
#include <sstream>
|
|
7
|
+
#include "Util/CommandLine.h"
|
|
8
|
+
#include "Util/PTAStat.h"
|
|
9
|
+
#include "MemoryModel/PointerAnalysisImpl.h"
|
|
10
|
+
#include "Util/NodeIDAllocator.h"
|
|
11
|
+
|
|
12
|
+
namespace SVF
|
|
13
|
+
{
|
|
14
|
+
|
|
15
|
+
/// Carries around command line options.
|
|
16
|
+
class Options
|
|
17
|
+
{
|
|
18
|
+
public:
|
|
19
|
+
Options(void) = delete;
|
|
20
|
+
|
|
21
|
+
static const OptionMap<enum PTAStat::ClockType> ClockType;
|
|
22
|
+
|
|
23
|
+
/// If set, only return the clock when getClk is called as getClk(true).
|
|
24
|
+
/// Retrieving the clock is slow but it should be fine for a few calls.
|
|
25
|
+
/// This is good for benchmarking when we don't need to know how long processLoad
|
|
26
|
+
/// takes, for example (many calls), but want to know things like total solve time.
|
|
27
|
+
/// Should be used only to affect getClk, not CLOCK_IN_MS.
|
|
28
|
+
static const Option<bool> MarkedClocksOnly;
|
|
29
|
+
|
|
30
|
+
/// Allocation strategy to be used by the node ID allocator.
|
|
31
|
+
/// Currently dense, seq, or debug.
|
|
32
|
+
static const OptionMap<SVF::NodeIDAllocator::Strategy> NodeAllocStrat;
|
|
33
|
+
|
|
34
|
+
/// Maximum number of field derivations for an object.
|
|
35
|
+
static const Option<u32_t> MaxFieldLimit;
|
|
36
|
+
|
|
37
|
+
/// Whether to stage Andersen's with Steensgaard and cluster based on that data.
|
|
38
|
+
static const Option<bool> ClusterAnder;
|
|
39
|
+
|
|
40
|
+
/// Whether to cluster FS or VFS with the auxiliary Andersen's.
|
|
41
|
+
static const Option<bool> ClusterFs;
|
|
42
|
+
|
|
43
|
+
/// Use an explicitly plain mapping with flow-sensitive (not null).
|
|
44
|
+
static const Option<bool> PlainMappingFs;
|
|
45
|
+
|
|
46
|
+
/// Type of points-to set to use for all analyses.
|
|
47
|
+
static const OptionMap<PointsTo::Type> PtType;
|
|
48
|
+
|
|
49
|
+
/// Clustering method for ClusterFs/ClusterAnder.
|
|
50
|
+
/// TODO: we can separate it into two options, and make Clusterer::cluster take in a method
|
|
51
|
+
/// argument rather than plugging Options::ClusterMethod *inside* Clusterer::cluster
|
|
52
|
+
/// directly, but it seems we will always want single anyway, and this is for testing.
|
|
53
|
+
static const OptionMap<u32_t> ClusterMethod;
|
|
54
|
+
|
|
55
|
+
/// Cluster partitions separately.
|
|
56
|
+
static const Option<bool> RegionedClustering;
|
|
57
|
+
|
|
58
|
+
/// Align identifiers in each region to a word.
|
|
59
|
+
static const Option<bool> RegionAlign;
|
|
60
|
+
|
|
61
|
+
/// Predict occurrences of points-to sets in the staged points-to set to
|
|
62
|
+
/// weigh more common points-to sets as more important.
|
|
63
|
+
static const Option<bool> PredictPtOcc;
|
|
64
|
+
|
|
65
|
+
/// PTData type.
|
|
66
|
+
static const OptionMap<BVDataPTAImpl::PTBackingType> ptDataBacking;
|
|
67
|
+
|
|
68
|
+
/// Time limit for the main phase (i.e., the actual solving) of FS analyses.
|
|
69
|
+
static const Option<u32_t> FsTimeLimit;
|
|
70
|
+
|
|
71
|
+
/// Time limit for the Andersen's analyses.
|
|
72
|
+
static const Option<u32_t> AnderTimeLimit;
|
|
73
|
+
|
|
74
|
+
/// Number of threads for the versioning phase.
|
|
75
|
+
static const Option<u32_t> VersioningThreads;
|
|
76
|
+
|
|
77
|
+
// ContextDDA.cpp
|
|
78
|
+
static const Option<u32_t> CxtBudget;
|
|
79
|
+
|
|
80
|
+
// DDAPass.cpp
|
|
81
|
+
static const Option<u32_t> MaxPathLen;
|
|
82
|
+
static const Option<u32_t> MaxContextLen;
|
|
83
|
+
static const Option<u32_t> MaxStepInWrapper;
|
|
84
|
+
static const Option<std::string> UserInputQuery;
|
|
85
|
+
static const Option<bool> InsenRecur;
|
|
86
|
+
static const Option<bool> InsenCycle;
|
|
87
|
+
static const Option<bool> PrintCPts;
|
|
88
|
+
static const Option<bool> PrintQueryPts;
|
|
89
|
+
static const Option<bool> WPANum;
|
|
90
|
+
static OptionMultiple<PointerAnalysis::PTATY> DDASelected;
|
|
91
|
+
|
|
92
|
+
// FlowDDA.cpp
|
|
93
|
+
static const Option<u32_t> FlowBudget;
|
|
94
|
+
|
|
95
|
+
// Offline constraint graph (OfflineConsG.cpp)
|
|
96
|
+
static const Option<bool> OCGDotGraph;
|
|
97
|
+
|
|
98
|
+
// Program Assignment Graph for pointer analysis (SVFIR.cpp)
|
|
99
|
+
static Option<bool> HandBlackHole;
|
|
100
|
+
static const Option<bool> FirstFieldEqBase;
|
|
101
|
+
|
|
102
|
+
// SVFG optimizer (SVFGOPT.cpp)
|
|
103
|
+
static const Option<bool> ContextInsensitive;
|
|
104
|
+
static const Option<bool> KeepAOFI;
|
|
105
|
+
static const Option<std::string> SelfCycle;
|
|
106
|
+
|
|
107
|
+
// Sparse value-flow graph (VFG.cpp)
|
|
108
|
+
static const Option<bool> DumpVFG;
|
|
109
|
+
|
|
110
|
+
// Base class of pointer analyses (PointerAnalysis.cpp)
|
|
111
|
+
static const Option<bool> TypePrint;
|
|
112
|
+
static const Option<bool> FuncPointerPrint;
|
|
113
|
+
static const Option<bool> PTSPrint;
|
|
114
|
+
static const Option<bool> PTSAllPrint;
|
|
115
|
+
static const Option<bool> PrintFieldWithBasePrefix;
|
|
116
|
+
static const Option<bool> PStat;
|
|
117
|
+
static const Option<u32_t> StatBudget;
|
|
118
|
+
static const Option<bool> PAGDotGraph;
|
|
119
|
+
static const Option<bool> ShowSVFIRValue;
|
|
120
|
+
static const Option<bool> DumpICFG;
|
|
121
|
+
static const Option<std::string> DumpJson;
|
|
122
|
+
static const Option<bool> ReadJson;
|
|
123
|
+
static const Option<bool> CallGraphDotGraph;
|
|
124
|
+
static const Option<bool> PAGPrint;
|
|
125
|
+
static const Option<u32_t> IndirectCallLimit;
|
|
126
|
+
static Option<bool> UsePreCompFieldSensitive;
|
|
127
|
+
static const Option<bool> EnableAliasCheck;
|
|
128
|
+
static const Option<bool> EnableTypeCheck;
|
|
129
|
+
static const Option<bool> EnableThreadCallGraph;
|
|
130
|
+
static const Option<bool> ConnectVCallOnCHA;
|
|
131
|
+
|
|
132
|
+
// PointerAnalysisImpl.cpp
|
|
133
|
+
static const Option<bool> INCDFPTData;
|
|
134
|
+
|
|
135
|
+
// Memory region (MemRegion.cpp)
|
|
136
|
+
static const Option<bool> IgnoreDeadFun;
|
|
137
|
+
|
|
138
|
+
// Base class of pointer analyses (MemSSA.cpp)
|
|
139
|
+
static const Option<bool> DumpMSSA;
|
|
140
|
+
static const Option<std::string> MSSAFun;
|
|
141
|
+
// static const llvm::cl::opt<string> MSSAFun;
|
|
142
|
+
static const OptionMap<u32_t> MemPar;
|
|
143
|
+
|
|
144
|
+
// SVFG builder (SVFGBuilder.cpp)
|
|
145
|
+
static const Option<bool> SVFGWithIndirectCall;
|
|
146
|
+
static Option<bool> OPTSVFG;
|
|
147
|
+
|
|
148
|
+
static const Option<std::string> WriteSVFG;
|
|
149
|
+
static const Option<std::string> ReadSVFG;
|
|
150
|
+
|
|
151
|
+
// LockAnalysis.cpp
|
|
152
|
+
static const Option<bool> IntraLock;
|
|
153
|
+
static const Option<bool> PrintLockSpan;
|
|
154
|
+
|
|
155
|
+
// MHP.cpp
|
|
156
|
+
static const Option<bool> PrintInterLev;
|
|
157
|
+
static const Option<bool> DoLockAnalysis;
|
|
158
|
+
|
|
159
|
+
//MTAStat.cpp
|
|
160
|
+
static const Option<bool> AllPairMHP;
|
|
161
|
+
|
|
162
|
+
// TCT.cpp
|
|
163
|
+
static const Option<bool> TCTDotGraph;
|
|
164
|
+
|
|
165
|
+
// LeakChecker.cpp
|
|
166
|
+
static const Option<bool> ValidateTests;
|
|
167
|
+
|
|
168
|
+
// Source-sink analyzer (SrcSnkDDA.cpp)
|
|
169
|
+
static const Option<bool> DumpSlice;
|
|
170
|
+
static const Option<u32_t> CxtLimit;
|
|
171
|
+
|
|
172
|
+
// CHG.cpp
|
|
173
|
+
static const Option<bool> DumpCHA;
|
|
174
|
+
|
|
175
|
+
// DCHG.cpp
|
|
176
|
+
static const Option<bool> PrintDCHG;
|
|
177
|
+
|
|
178
|
+
// LLVMModule.cpp
|
|
179
|
+
static const Option<std::string> Graphtxt;
|
|
180
|
+
static const Option<bool> SVFMain;
|
|
181
|
+
|
|
182
|
+
// SymbolTableInfo.cpp
|
|
183
|
+
static const Option<bool> LocMemModel;
|
|
184
|
+
static Option<bool> ModelConsts;
|
|
185
|
+
static Option<bool> ModelArrays;
|
|
186
|
+
static const Option<bool> CyclicFldIdx;
|
|
187
|
+
static const Option<bool> SymTabPrint;
|
|
188
|
+
|
|
189
|
+
// Conditions.cpp
|
|
190
|
+
static const Option<u32_t> MaxZ3Size;
|
|
191
|
+
|
|
192
|
+
// BoundedZ3Expr.cpp
|
|
193
|
+
static const Option<u32_t> MaxBVLen;
|
|
194
|
+
|
|
195
|
+
// SaberCondAllocator.cpp
|
|
196
|
+
static const Option<bool> PrintPathCond;
|
|
197
|
+
|
|
198
|
+
// SaberSVFGBuilder.cpp
|
|
199
|
+
static const Option<bool> CollectExtRetGlobals;
|
|
200
|
+
|
|
201
|
+
// SVFUtil.cpp
|
|
202
|
+
static const Option<bool> DisableWarn;
|
|
203
|
+
|
|
204
|
+
// Andersen.cpp
|
|
205
|
+
static const Option<bool> ConsCGDotGraph;
|
|
206
|
+
static const Option<bool> BriefConsCGDotGraph;
|
|
207
|
+
static const Option<bool> PrintCGGraph;
|
|
208
|
+
// static const Option<string> WriteAnder;
|
|
209
|
+
static const Option<std::string> WriteAnder;
|
|
210
|
+
// static const Option<string> ReadAnder;
|
|
211
|
+
static const Option<std::string> ReadAnder;
|
|
212
|
+
static const Option<bool> DiffPts;
|
|
213
|
+
static Option<bool> DetectPWC;
|
|
214
|
+
static const Option<bool> VtableInSVFIR;
|
|
215
|
+
|
|
216
|
+
// WPAPass.cpp
|
|
217
|
+
static const Option<std::string> ExtAPIPath;
|
|
218
|
+
static const Option<bool> AnderSVFG;
|
|
219
|
+
static const Option<bool> SABERFULLSVFG;
|
|
220
|
+
static const Option<bool> PrintAliases;
|
|
221
|
+
static OptionMultiple<PointerAnalysis::PTATY> PASelected;
|
|
222
|
+
static OptionMultiple<u32_t> AliasRule;
|
|
223
|
+
|
|
224
|
+
// DOTGraphTraits
|
|
225
|
+
static const Option<bool> ShowHiddenNode;
|
|
226
|
+
|
|
227
|
+
// CFL option
|
|
228
|
+
static const Option<std::string> GrammarFilename;
|
|
229
|
+
static const Option<std::string> CFLGraph;
|
|
230
|
+
static const Option<bool> PrintCFL;
|
|
231
|
+
static const Option<bool> FlexSymMap;
|
|
232
|
+
static const Option<bool> PEGTransfer;
|
|
233
|
+
static const Option<bool> CFLSVFG;
|
|
234
|
+
static const Option<bool> POCRAlias;
|
|
235
|
+
static const Option<bool> POCRHybrid;
|
|
236
|
+
static const Option<bool> Customized;
|
|
237
|
+
|
|
238
|
+
// Loop Analysis
|
|
239
|
+
static const Option<bool> LoopAnalysis;
|
|
240
|
+
static const Option<u32_t> LoopBound;
|
|
241
|
+
|
|
242
|
+
// Abstract Execution
|
|
243
|
+
static const Option<u32_t> WidenDelay;
|
|
244
|
+
/// recursion handling mode, Default: TOP
|
|
245
|
+
static const OptionMap<u32_t> HandleRecur;
|
|
246
|
+
/// the max time consumptions (seconds). Default: 4 hours 14400s
|
|
247
|
+
static const Option<u32_t> Timeout;
|
|
248
|
+
/// bug info output file, Default: output.db
|
|
249
|
+
static const Option<std::string> OutputName;
|
|
250
|
+
/// buffer overflow checker, Default: false
|
|
251
|
+
static const Option<bool> BufferOverflowCheck;
|
|
252
|
+
/// nullptr dereference checker, Default: false
|
|
253
|
+
static const Option<bool> NullDerefCheck;
|
|
254
|
+
/// memory leak check, Default: false
|
|
255
|
+
static const Option<bool> MemoryLeakCheck;
|
|
256
|
+
/// file open close checker, Default: false
|
|
257
|
+
static const Option<bool> FileCheck;
|
|
258
|
+
/// double free checker, Default: false
|
|
259
|
+
static const Option<bool> DFreeCheck;
|
|
260
|
+
/// data race checker, Default: false
|
|
261
|
+
static const Option<bool> RaceCheck;
|
|
262
|
+
/// if the access index of gepstmt is unknown, skip it, Default: false
|
|
263
|
+
static const Option<bool> GepUnknownIdx;
|
|
264
|
+
static const Option<bool> RunUncallFuncs;
|
|
265
|
+
|
|
266
|
+
static const Option<bool> ICFGMergeAdjacentNodes;
|
|
267
|
+
|
|
268
|
+
// float precision for symbolic abstraction
|
|
269
|
+
static const Option<u32_t> AEPrecision;
|
|
270
|
+
};
|
|
271
|
+
} // namespace SVF
|
|
272
|
+
|
|
273
|
+
#endif // ifdef OPTIONS_H_
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//===- PTAStat.h -- Base class for statistics---------------------------------//
|
|
2
|
+
//
|
|
3
|
+
// SVF: Static Value-Flow Analysis
|
|
4
|
+
//
|
|
5
|
+
// Copyright (C) <2013-2017> <Yulei Sui>
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
// This program is free software: you can redistribute it and/or modify
|
|
9
|
+
// it under the terms of the GNU Affero General Public License as published by
|
|
10
|
+
// the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
// (at your option) any later version.
|
|
12
|
+
|
|
13
|
+
// This program is distributed in the hope that it will be useful,
|
|
14
|
+
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
// GNU Affero General Public License for more details.
|
|
17
|
+
|
|
18
|
+
// You should have received a copy of the GNU Affero General Public License
|
|
19
|
+
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
//
|
|
21
|
+
//===----------------------------------------------------------------------===//
|
|
22
|
+
|
|
23
|
+
/*
|
|
24
|
+
* PTAStat.h
|
|
25
|
+
*
|
|
26
|
+
* Created on: Oct 12, 2013
|
|
27
|
+
* Author: Yulei Sui
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
#ifndef ANDERSENSTAT_H_
|
|
31
|
+
#define ANDERSENSTAT_H_
|
|
32
|
+
|
|
33
|
+
#include "SVFIR/SVFValue.h"
|
|
34
|
+
#include "MemoryModel/PointsTo.h"
|
|
35
|
+
#include "Util/SVFStat.h"
|
|
36
|
+
#include <iostream>
|
|
37
|
+
#include <map>
|
|
38
|
+
#include <string>
|
|
39
|
+
|
|
40
|
+
namespace SVF
|
|
41
|
+
{
|
|
42
|
+
|
|
43
|
+
class PointerAnalysis;
|
|
44
|
+
|
|
45
|
+
/*!
|
|
46
|
+
* Pointer Analysis Statistics
|
|
47
|
+
*/
|
|
48
|
+
class PTAStat: public SVFStat
|
|
49
|
+
{
|
|
50
|
+
public:
|
|
51
|
+
PTAStat(PointerAnalysis* p);
|
|
52
|
+
virtual ~PTAStat() {}
|
|
53
|
+
|
|
54
|
+
NodeBS localVarInRecursion;
|
|
55
|
+
|
|
56
|
+
inline void setMemUsageBefore(u32_t vmrss, u32_t vmsize)
|
|
57
|
+
{
|
|
58
|
+
_vmrssUsageBefore = vmrss;
|
|
59
|
+
_vmsizeUsageBefore = vmsize;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
inline void setMemUsageAfter(u32_t vmrss, u32_t vmsize)
|
|
63
|
+
{
|
|
64
|
+
_vmrssUsageAfter = vmrss;
|
|
65
|
+
_vmsizeUsageAfter = vmsize;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
void performStat() override;
|
|
69
|
+
|
|
70
|
+
void callgraphStat() override;
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
protected:
|
|
74
|
+
PointerAnalysis* pta;
|
|
75
|
+
u32_t _vmrssUsageBefore;
|
|
76
|
+
u32_t _vmrssUsageAfter;
|
|
77
|
+
u32_t _vmsizeUsageBefore;
|
|
78
|
+
u32_t _vmsizeUsageAfter;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
} // End namespace SVF
|
|
82
|
+
|
|
83
|
+
#endif /* ANDERSENSTAT_H_ */
|