svf-tools 1.0.619 → 1.0.621
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-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/Andersen_8h_source.html +4 -3
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +9 -4
- package/SVF-doxygen/html/html/CFLAlias_8h.html +4 -0
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +19 -10
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLDataBuilder_8h.html +96 -0
- package/SVF-doxygen/html/html/CFLDataBuilder_8h_source.html +99 -0
- package/SVF-doxygen/html/html/CFLData_8h.html +106 -0
- package/SVF-doxygen/html/html/CFLData_8h_source.html +136 -0
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CFLSolver_8h.html +4 -0
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +22 -16
- package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CommandLine_8h.html +129 -0
- package/SVF-doxygen/html/html/CommandLine_8h_source.html +132 -0
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +20 -19
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/GraphWriter_8h_source.html +2 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +21 -20
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +17 -17
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/Options_8cpp.html +1 -0
- package/SVF-doxygen/html/html/Options_8cpp_source.html +124 -119
- package/SVF-doxygen/html/html/Options_8h.html +1 -1
- package/SVF-doxygen/html/html/Options_8h_source.html +125 -120
- package/SVF-doxygen/html/html/PCG_8cpp.html +2 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +13 -12
- package/SVF-doxygen/html/html/PCG_8h_source.html +12 -12
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -3
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -4
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFType_8h.html +2 -2
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +10 -9
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +4 -4
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/annotated.html +363 -353
- package/SVF-doxygen/html/html/cfl_8cpp.html +3 -85
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +3 -5
- package/SVF-doxygen/html/html/classOption-members.html +99 -0
- package/SVF-doxygen/html/html/classOption.html +567 -0
- package/SVF-doxygen/html/html/classOption.png +0 -0
- package/SVF-doxygen/html/html/classOptionBase-members.html +95 -0
- package/SVF-doxygen/html/html/classOptionBase.html +823 -0
- package/SVF-doxygen/html/html/classOptionBase.png +0 -0
- package/SVF-doxygen/html/html/classOptionMap-members.html +97 -0
- package/SVF-doxygen/html/html/classOptionMap.html +428 -0
- package/SVF-doxygen/html/html/classOptionMap.png +0 -0
- package/SVF-doxygen/html/html/classOptionMultiple-members.html +97 -0
- package/SVF-doxygen/html/html/classOptionMultiple.html +460 -0
- package/SVF-doxygen/html/html/classOptionMultiple.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +16 -15
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -6
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +33 -30
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -8
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLData-members.html +110 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +1126 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder-members.html +88 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder.html +380 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +48 -39
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +72 -72
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +36 -35
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +22 -8
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +3 -2
- package/SVF-doxygen/html/html/classSVF_1_1HybridData-members.html +89 -0
- package/SVF-doxygen/html/html/classSVF_1_1HybridData.html +449 -0
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +73 -72
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +121 -120
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +641 -615
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +281 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +828 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +98 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +245 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +9 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +27 -26
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +6 -6
- package/SVF-doxygen/html/html/classes.html +110 -108
- package/SVF-doxygen/html/html/dda_8cpp.html +51 -248
- package/SVF-doxygen/html/html/dda_8cpp_source.html +9 -10
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
- package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
- package/SVF-doxygen/html/html/files.html +27 -24
- package/SVF-doxygen/html/html/functions.html +7 -1
- package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
- package/SVF-doxygen/html/html/functions_a.html +45 -21
- package/SVF-doxygen/html/html/functions_b.html +15 -7
- package/SVF-doxygen/html/html/functions_c.html +72 -49
- package/SVF-doxygen/html/html/functions_d.html +25 -16
- package/SVF-doxygen/html/html/functions_e.html +11 -4
- package/SVF-doxygen/html/html/functions_f.html +19 -16
- package/SVF-doxygen/html/html/functions_func.html +35 -11
- package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
- package/SVF-doxygen/html/html/functions_func_b.html +11 -3
- package/SVF-doxygen/html/html/functions_func_c.html +55 -34
- package/SVF-doxygen/html/html/functions_func_e.html +5 -1
- package/SVF-doxygen/html/html/functions_func_f.html +4 -1
- package/SVF-doxygen/html/html/functions_func_g.html +26 -7
- package/SVF-doxygen/html/html/functions_func_h.html +10 -3
- package/SVF-doxygen/html/html/functions_func_i.html +25 -10
- package/SVF-doxygen/html/html/functions_func_m.html +3 -2
- package/SVF-doxygen/html/html/functions_func_n.html +4 -1
- package/SVF-doxygen/html/html/functions_func_o.html +23 -6
- package/SVF-doxygen/html/html/functions_func_p.html +15 -3
- package/SVF-doxygen/html/html/functions_func_s.html +20 -19
- package/SVF-doxygen/html/html/functions_func_t.html +3 -0
- package/SVF-doxygen/html/html/functions_func_u.html +3 -0
- package/SVF-doxygen/html/html/functions_g.html +28 -9
- package/SVF-doxygen/html/html/functions_h.html +13 -6
- package/SVF-doxygen/html/html/functions_i.html +44 -20
- package/SVF-doxygen/html/html/functions_k.html +1 -1
- package/SVF-doxygen/html/html/functions_l.html +4 -4
- package/SVF-doxygen/html/html/functions_m.html +14 -13
- package/SVF-doxygen/html/html/functions_n.html +9 -5
- package/SVF-doxygen/html/html/functions_o.html +48 -25
- package/SVF-doxygen/html/html/functions_p.html +65 -34
- package/SVF-doxygen/html/html/functions_r.html +7 -9
- package/SVF-doxygen/html/html/functions_s.html +34 -32
- package/SVF-doxygen/html/html/functions_t.html +17 -8
- package/SVF-doxygen/html/html/functions_type_c.html +2 -1
- package/SVF-doxygen/html/html/functions_type_d.html +3 -0
- package/SVF-doxygen/html/html/functions_type_i.html +2 -1
- package/SVF-doxygen/html/html/functions_type_o.html +7 -0
- package/SVF-doxygen/html/html/functions_type_p.html +6 -0
- package/SVF-doxygen/html/html/functions_type_t.html +3 -0
- package/SVF-doxygen/html/html/functions_u.html +6 -3
- package/SVF-doxygen/html/html/functions_v.html +7 -5
- package/SVF-doxygen/html/html/functions_vars.html +7 -1
- package/SVF-doxygen/html/html/functions_vars_a.html +7 -7
- package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_c.html +15 -12
- package/SVF-doxygen/html/html/functions_vars_d.html +21 -15
- package/SVF-doxygen/html/html/functions_vars_e.html +5 -2
- package/SVF-doxygen/html/html/functions_vars_f.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_g.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_h.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_i.html +14 -6
- package/SVF-doxygen/html/html/functions_vars_k.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_l.html +4 -4
- package/SVF-doxygen/html/html/functions_vars_m.html +11 -11
- package/SVF-doxygen/html/html/functions_vars_n.html +3 -2
- package/SVF-doxygen/html/html/functions_vars_o.html +5 -2
- package/SVF-doxygen/html/html/functions_vars_p.html +34 -21
- package/SVF-doxygen/html/html/functions_vars_r.html +5 -5
- package/SVF-doxygen/html/html/functions_vars_s.html +13 -10
- package/SVF-doxygen/html/html/functions_vars_t.html +7 -4
- package/SVF-doxygen/html/html/functions_vars_u.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_v.html +6 -4
- package/SVF-doxygen/html/html/functions_vars_w.html +3 -3
- package/SVF-doxygen/html/html/functions_w.html +11 -7
- package/SVF-doxygen/html/html/globals_d.html +4 -4
- package/SVF-doxygen/html/html/globals_e.html +6 -6
- package/SVF-doxygen/html/html/globals_f.html +2 -2
- package/SVF-doxygen/html/html/globals_func.html +6 -58
- package/SVF-doxygen/html/html/globals_i.html +4 -12
- package/SVF-doxygen/html/html/globals_l.html +2 -2
- package/SVF-doxygen/html/html/globals_r.html +4 -4
- package/SVF-doxygen/html/html/globals_s.html +0 -4
- package/SVF-doxygen/html/html/globals_type.html +3 -0
- package/SVF-doxygen/html/html/globals_u.html +3 -0
- package/SVF-doxygen/html/html/globals_vars.html +43 -12
- package/SVF-doxygen/html/html/hierarchy.html +517 -496
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/menudata.js +1 -2
- package/SVF-doxygen/html/html/mta_8cpp.html +4 -47
- package/SVF-doxygen/html/html/mta_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/namespaceSVF.html +29 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +3 -2
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_l.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_l.html +3 -0
- package/SVF-doxygen/html/html/saber_8cpp.html +38 -136
- package/SVF-doxygen/html/html/saber_8cpp_source.html +8 -7
- package/SVF-doxygen/html/html/search/all_0.js +2 -1
- package/SVF-doxygen/html/html/search/all_1.js +15 -8
- package/SVF-doxygen/html/html/search/all_10.js +33 -25
- package/SVF-doxygen/html/html/search/all_11.js +9 -9
- package/SVF-doxygen/html/html/search/all_12.js +22 -22
- package/SVF-doxygen/html/html/search/all_13.js +14 -11
- package/SVF-doxygen/html/html/search/all_14.js +5 -4
- package/SVF-doxygen/html/html/search/all_15.js +5 -5
- package/SVF-doxygen/html/html/search/all_16.js +4 -4
- package/SVF-doxygen/html/html/search/all_19.js +6 -0
- package/SVF-doxygen/html/html/search/all_2.js +5 -3
- package/SVF-doxygen/html/html/search/all_3.js +25 -18
- package/SVF-doxygen/html/html/search/all_4.js +20 -18
- package/SVF-doxygen/html/html/search/all_5.js +8 -6
- package/SVF-doxygen/html/html/search/all_6.js +9 -8
- package/SVF-doxygen/html/html/search/all_7.js +9 -3
- package/SVF-doxygen/html/html/search/all_8.js +5 -3
- package/SVF-doxygen/html/html/search/all_9.js +16 -11
- package/SVF-doxygen/html/html/search/all_b.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +7 -6
- package/SVF-doxygen/html/html/search/all_d.js +13 -13
- package/SVF-doxygen/html/html/search/all_e.js +4 -3
- package/SVF-doxygen/html/html/search/all_f.js +24 -6
- package/SVF-doxygen/html/html/search/classes_10.js +1 -0
- package/SVF-doxygen/html/html/search/classes_2.js +2 -0
- package/SVF-doxygen/html/html/search/classes_7.js +2 -1
- package/SVF-doxygen/html/html/search/classes_c.js +15 -0
- package/SVF-doxygen/html/html/search/classes_d.js +2 -0
- package/SVF-doxygen/html/html/search/files_2.js +3 -0
- package/SVF-doxygen/html/html/search/functions_0.js +8 -1
- package/SVF-doxygen/html/html/search/functions_1.js +4 -2
- package/SVF-doxygen/html/html/search/functions_10.js +0 -2
- package/SVF-doxygen/html/html/search/functions_11.js +2 -3
- package/SVF-doxygen/html/html/search/functions_12.js +1 -0
- package/SVF-doxygen/html/html/search/functions_13.js +1 -0
- package/SVF-doxygen/html/html/search/functions_17.js +6 -0
- package/SVF-doxygen/html/html/search/functions_2.js +5 -1
- package/SVF-doxygen/html/html/search/functions_3.js +0 -2
- package/SVF-doxygen/html/html/search/functions_4.js +2 -4
- package/SVF-doxygen/html/html/search/functions_5.js +2 -1
- package/SVF-doxygen/html/html/search/functions_6.js +7 -1
- package/SVF-doxygen/html/html/search/functions_7.js +4 -2
- package/SVF-doxygen/html/html/search/functions_8.js +6 -3
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_c.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +1 -0
- package/SVF-doxygen/html/html/search/functions_e.js +7 -3
- package/SVF-doxygen/html/html/search/functions_f.js +3 -0
- package/SVF-doxygen/html/html/search/typedefs_11.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_12.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_d.js +2 -0
- package/SVF-doxygen/html/html/search/typedefs_e.js +2 -0
- package/SVF-doxygen/html/html/search/variables_0.js +2 -1
- package/SVF-doxygen/html/html/search/variables_1.js +7 -7
- package/SVF-doxygen/html/html/search/variables_10.js +25 -21
- package/SVF-doxygen/html/html/search/variables_11.js +7 -5
- package/SVF-doxygen/html/html/search/variables_12.js +11 -10
- package/SVF-doxygen/html/html/search/variables_13.js +9 -8
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +4 -4
- package/SVF-doxygen/html/html/search/variables_16.js +3 -3
- package/SVF-doxygen/html/html/search/variables_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +13 -12
- package/SVF-doxygen/html/html/search/variables_4.js +19 -15
- package/SVF-doxygen/html/html/search/variables_5.js +6 -2
- package/SVF-doxygen/html/html/search/variables_6.js +7 -6
- package/SVF-doxygen/html/html/search/variables_7.js +2 -2
- package/SVF-doxygen/html/html/search/variables_8.js +1 -1
- package/SVF-doxygen/html/html/search/variables_9.js +9 -7
- package/SVF-doxygen/html/html/search/variables_b.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +5 -4
- package/SVF-doxygen/html/html/search/variables_d.js +11 -11
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/search/variables_f.js +3 -2
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode-members.html +86 -0
- package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode.html +255 -0
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +12 -55
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp.html +4 -47
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +4 -4
- package/include/CFL/CFLAlias.h +34 -0
- package/include/CFL/CFLData.h +316 -0
- package/include/CFL/CFLDataBuilder.h +91 -0
- package/include/CFL/CFLSolver.h +21 -0
- package/include/Util/CommandLine.h +527 -0
- package/include/Util/Options.h +125 -124
- package/include/WPA/Andersen.h +5 -5
- package/lib/AbstractExecution/SVFIR2ItvExeState.cpp +2 -2
- package/lib/CFL/CFLAlias.cpp +40 -4
- package/lib/CFL/CFLBase.cpp +4 -4
- package/lib/CFL/CFLGraphBuilder.cpp +2 -2
- package/lib/CFL/CFLVF.cpp +5 -5
- package/lib/DDA/ContextDDA.cpp +1 -1
- package/lib/DDA/DDAPass.cpp +14 -13
- package/lib/DDA/FlowDDA.cpp +1 -1
- package/lib/Graphs/ConsG.cpp +10 -10
- package/lib/Graphs/ICFG.cpp +1 -1
- package/lib/Graphs/IRGraph.cpp +2 -2
- package/lib/Graphs/SVFG.cpp +5 -5
- package/lib/Graphs/SVFGOPT.cpp +5 -5
- package/lib/Graphs/VFG.cpp +1 -1
- package/lib/MSSA/MemRegion.cpp +2 -2
- package/lib/MSSA/MemSSA.cpp +4 -4
- package/lib/MSSA/SVFGBuilder.cpp +4 -4
- package/lib/MTA/FSMPTA.cpp +13 -13
- package/lib/MTA/MHP.cpp +1 -1
- package/lib/MTA/MTA.cpp +2 -2
- package/lib/MTA/MTAStat.cpp +1 -1
- package/lib/MTA/PCG.cpp +8 -2
- package/lib/MTA/TCT.cpp +2 -2
- package/lib/MemoryModel/PointerAnalysis.cpp +13 -13
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +13 -13
- package/lib/MemoryModel/PointsTo.cpp +1 -1
- package/lib/SABER/DoubleFreeChecker.cpp +1 -1
- package/lib/SABER/LeakChecker.cpp +1 -1
- package/lib/SABER/SaberCondAllocator.cpp +1 -1
- package/lib/SABER/SrcSnkDDA.cpp +5 -5
- package/lib/SVF-LLVM/CHGBuilder.cpp +1 -1
- package/lib/SVF-LLVM/DCHG.cpp +1 -1
- package/lib/SVF-LLVM/LLVMLoopAnalysis.cpp +2 -2
- package/lib/SVF-LLVM/LLVMModule.cpp +10 -4
- package/lib/SVF-LLVM/SVFIRBuilder.cpp +8 -8
- package/lib/SVF-LLVM/SymbolTableBuilder.cpp +5 -5
- package/lib/SVFIR/SVFIR.cpp +4 -4
- package/lib/SVFIR/SVFStatements.cpp +16 -16
- package/lib/SVFIR/SVFVariables.cpp +5 -5
- package/lib/SVFIR/SymbolTableInfo.cpp +6 -6
- package/lib/Util/NodeIDAllocator.cpp +9 -9
- package/lib/Util/Options.cpp +431 -412
- package/lib/Util/SVFStat.cpp +5 -5
- package/lib/Util/SVFUtil.cpp +1 -1
- package/lib/Util/Z3Expr.cpp +2 -2
- package/lib/WPA/Andersen.cpp +13 -13
- package/lib/WPA/AndersenSCD.cpp +3 -3
- package/lib/WPA/FlowSensitive.cpp +8 -8
- package/lib/WPA/TypeAnalysis.cpp +1 -1
- package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
- package/lib/WPA/WPAPass.cpp +10 -9
- package/package.json +1 -1
- package/tools/CFL/cfl.cpp +8 -14
- package/tools/DDA/dda.cpp +39 -29
- package/tools/Example/svf-ex.cpp +5 -8
- package/tools/MTA/LockResultValidator.cpp +2 -2
- package/tools/MTA/MTAAnnotator.cpp +5 -5
- package/tools/MTA/MTAResultValidator.cpp +8 -8
- package/tools/MTA/mta.cpp +5 -8
- package/tools/SABER/saber.cpp +23 -17
- package/tools/WPA/wpa.cpp +6 -9
package/include/Util/Options.h
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
#include <sstream>
|
|
7
7
|
#include "FastCluster/fastcluster.h"
|
|
8
|
+
#include "Util/CommandLine.h"
|
|
8
9
|
#include "Util/PTAStat.h"
|
|
9
10
|
#include "MemoryModel/PointerAnalysisImpl.h"
|
|
10
11
|
#include "Util/NodeIDAllocator.h"
|
|
11
12
|
#include "MSSA/MemSSA.h"
|
|
12
13
|
#include "WPA/WPAPass.h"
|
|
13
|
-
#include <llvm/Support/CommandLine.h> // for command line options
|
|
14
14
|
|
|
15
15
|
namespace SVF
|
|
16
16
|
{
|
|
@@ -21,244 +21,245 @@ class Options
|
|
|
21
21
|
public:
|
|
22
22
|
Options(void) = delete;
|
|
23
23
|
|
|
24
|
-
static const
|
|
24
|
+
static const OptionMap<enum PTAStat::ClockType> ClockType;
|
|
25
25
|
|
|
26
26
|
/// If set, only return the clock when getClk is called as getClk(true).
|
|
27
27
|
/// Retrieving the clock is slow but it should be fine for a few calls.
|
|
28
28
|
/// This is good for benchmarking when we don't need to know how long processLoad
|
|
29
29
|
/// takes, for example (many calls), but want to know things like total solve time.
|
|
30
30
|
/// Should be used only to affect getClk, not CLOCK_IN_MS.
|
|
31
|
-
static const
|
|
31
|
+
static const Option<bool> MarkedClocksOnly;
|
|
32
32
|
|
|
33
33
|
/// Allocation strategy to be used by the node ID allocator.
|
|
34
34
|
/// Currently dense, seq, or debug.
|
|
35
|
-
static const
|
|
35
|
+
static const OptionMap<SVF::NodeIDAllocator::Strategy> NodeAllocStrat;
|
|
36
36
|
|
|
37
37
|
/// Maximum number of field derivations for an object.
|
|
38
|
-
static const
|
|
38
|
+
static const Option<u32_t> MaxFieldLimit;
|
|
39
39
|
|
|
40
40
|
/// Whether to stage Andersen's with Steensgaard and cluster based on that data.
|
|
41
|
-
static const
|
|
41
|
+
static const Option<bool> ClusterAnder;
|
|
42
42
|
|
|
43
43
|
/// Whether to cluster FS or VFS with the auxiliary Andersen's.
|
|
44
|
-
static const
|
|
44
|
+
static const Option<bool> ClusterFs;
|
|
45
45
|
|
|
46
46
|
/// Use an explicitly plain mapping with flow-sensitive (not null).
|
|
47
|
-
static const
|
|
47
|
+
static const Option<bool> PlainMappingFs;
|
|
48
48
|
|
|
49
49
|
/// Type of points-to set to use for all analyses.
|
|
50
|
-
static const
|
|
50
|
+
static const OptionMap<PointsTo::Type> PtType;
|
|
51
51
|
|
|
52
52
|
/// Clustering method for ClusterFs/ClusterAnder.
|
|
53
53
|
/// TODO: we can separate it into two options, and make Clusterer::cluster take in a method
|
|
54
54
|
/// argument rather than plugging Options::ClusterMethod *inside* Clusterer::cluster
|
|
55
55
|
/// directly, but it seems we will always want single anyway, and this is for testing.
|
|
56
|
-
static const
|
|
56
|
+
static const OptionMap<enum hclust_fast_methods> ClusterMethod;
|
|
57
57
|
|
|
58
58
|
/// Cluster partitions separately.
|
|
59
|
-
static const
|
|
59
|
+
static const Option<bool> RegionedClustering;
|
|
60
60
|
|
|
61
61
|
/// Align identifiers in each region to a word.
|
|
62
|
-
static const
|
|
62
|
+
static const Option<bool> RegionAlign;
|
|
63
63
|
|
|
64
64
|
/// Predict occurences of points-to sets in the staged points-to set to
|
|
65
65
|
/// weigh more common points-to sets as more important.
|
|
66
|
-
static const
|
|
66
|
+
static const Option<bool> PredictPtOcc;
|
|
67
67
|
|
|
68
68
|
/// PTData type.
|
|
69
|
-
static const
|
|
69
|
+
static const OptionMap<BVDataPTAImpl::PTBackingType> ptDataBacking;
|
|
70
70
|
|
|
71
71
|
/// Time limit for the main phase (i.e., the actual solving) of FS analyses.
|
|
72
|
-
static const
|
|
72
|
+
static const Option<u32_t> FsTimeLimit;
|
|
73
73
|
|
|
74
74
|
/// Time limit for the Andersen's analyses.
|
|
75
|
-
static const
|
|
75
|
+
static const Option<u32_t> AnderTimeLimit;
|
|
76
76
|
|
|
77
77
|
/// Number of threads for the versioning phase.
|
|
78
|
-
static const
|
|
78
|
+
static const Option<u32_t> VersioningThreads;
|
|
79
79
|
|
|
80
80
|
// ContextDDA.cpp
|
|
81
|
-
static const
|
|
81
|
+
static const Option<u32_t> CxtBudget;
|
|
82
82
|
|
|
83
83
|
// DDAClient.cpp
|
|
84
|
-
static const
|
|
85
|
-
static const
|
|
86
|
-
static const
|
|
87
|
-
static const
|
|
88
|
-
static const
|
|
89
|
-
static const
|
|
90
|
-
static const
|
|
91
|
-
static const
|
|
92
|
-
static const
|
|
84
|
+
static const Option<bool> SingleLoad;
|
|
85
|
+
static const Option<bool> DumpFree;
|
|
86
|
+
static const Option<bool> DumpUninitVar;
|
|
87
|
+
static const Option<bool> DumpUninitPtr;
|
|
88
|
+
static const Option<bool> DumpSUPts;
|
|
89
|
+
static const Option<bool> DumpSUStore;
|
|
90
|
+
static const Option<bool> MallocOnly;
|
|
91
|
+
static const Option<bool> TaintUninitHeap;
|
|
92
|
+
static const Option<bool> TaintUninitStack;
|
|
93
93
|
|
|
94
94
|
// DDAPass.cpp
|
|
95
|
-
static const
|
|
96
|
-
static const
|
|
97
|
-
static const
|
|
98
|
-
static const
|
|
99
|
-
static const
|
|
100
|
-
static const
|
|
101
|
-
static const
|
|
102
|
-
static const
|
|
103
|
-
static const
|
|
104
|
-
static
|
|
95
|
+
static const Option<u32_t> MaxPathLen;
|
|
96
|
+
static const Option<u32_t> MaxContextLen;
|
|
97
|
+
static const Option<u32_t> MaxStepInWrapper;
|
|
98
|
+
static const Option<std::string> UserInputQuery;
|
|
99
|
+
static const Option<bool> InsenRecur;
|
|
100
|
+
static const Option<bool> InsenCycle;
|
|
101
|
+
static const Option<bool> PrintCPts;
|
|
102
|
+
static const Option<bool> PrintQueryPts;
|
|
103
|
+
static const Option<bool> WPANum;
|
|
104
|
+
static OptionMultiple<PointerAnalysis::PTATY> DDASelected;
|
|
105
105
|
|
|
106
106
|
// FlowDDA.cpp
|
|
107
|
-
static const
|
|
107
|
+
static const Option<u32_t> FlowBudget;
|
|
108
108
|
|
|
109
109
|
// Offline constraint graph (OfflineConsG.cpp)
|
|
110
|
-
static const
|
|
110
|
+
static const Option<bool> OCGDotGraph;
|
|
111
111
|
|
|
112
112
|
// Program Assignment Graph for pointer analysis (SVFIR.cpp)
|
|
113
|
-
static
|
|
114
|
-
static const
|
|
113
|
+
static Option<bool> HandBlackHole;
|
|
114
|
+
static const Option<bool> FirstFieldEqBase;
|
|
115
115
|
|
|
116
116
|
// SVFG optimizer (SVFGOPT.cpp)
|
|
117
|
-
static const
|
|
118
|
-
static const
|
|
119
|
-
static const
|
|
117
|
+
static const Option<bool> ContextInsensitive;
|
|
118
|
+
static const Option<bool> KeepAOFI;
|
|
119
|
+
static const Option<std::string> SelfCycle;
|
|
120
120
|
|
|
121
121
|
// Sparse value-flow graph (VFG.cpp)
|
|
122
|
-
static const
|
|
122
|
+
static const Option<bool> DumpVFG;
|
|
123
123
|
|
|
124
124
|
// Location set for modeling abstract memory object (LocationSet.cpp)
|
|
125
|
-
static const
|
|
125
|
+
static const Option<bool> SingleStride;
|
|
126
126
|
|
|
127
127
|
// Base class of pointer analyses (PointerAnalysis.cpp)
|
|
128
|
-
static const
|
|
129
|
-
static const
|
|
130
|
-
static const
|
|
131
|
-
static const
|
|
132
|
-
static const
|
|
133
|
-
static const
|
|
134
|
-
static const
|
|
135
|
-
static const
|
|
136
|
-
static const
|
|
137
|
-
static const
|
|
138
|
-
static const
|
|
139
|
-
static const
|
|
140
|
-
static const
|
|
141
|
-
static const
|
|
142
|
-
static const
|
|
143
|
-
static const
|
|
128
|
+
static const Option<bool> TypePrint;
|
|
129
|
+
static const Option<bool> FuncPointerPrint;
|
|
130
|
+
static const Option<bool> PTSPrint;
|
|
131
|
+
static const Option<bool> PTSAllPrint;
|
|
132
|
+
static const Option<bool> PStat;
|
|
133
|
+
static const Option<u32_t> StatBudget;
|
|
134
|
+
static const Option<bool> PAGDotGraph;
|
|
135
|
+
static const Option<bool> ShowSVFIRValue;
|
|
136
|
+
static const Option<bool> DumpICFG;
|
|
137
|
+
static const Option<bool> CallGraphDotGraph;
|
|
138
|
+
static const Option<bool> PAGPrint;
|
|
139
|
+
static const Option<u32_t> IndirectCallLimit;
|
|
140
|
+
static const Option<bool> UsePreCompFieldSensitive;
|
|
141
|
+
static const Option<bool> EnableAliasCheck;
|
|
142
|
+
static const Option<bool> EnableThreadCallGraph;
|
|
143
|
+
static const Option<bool> ConnectVCallOnCHA;
|
|
144
144
|
|
|
145
145
|
// PointerAnalysisImpl.cpp
|
|
146
|
-
static const
|
|
146
|
+
static const Option<bool> INCDFPTData;
|
|
147
147
|
|
|
148
148
|
// Memory region (MemRegion.cpp)
|
|
149
|
-
static const
|
|
149
|
+
static const Option<bool> IgnoreDeadFun;
|
|
150
150
|
|
|
151
151
|
// Base class of pointer analyses (MemSSA.cpp)
|
|
152
|
-
static const
|
|
153
|
-
static const
|
|
152
|
+
static const Option<bool> DumpMSSA;
|
|
153
|
+
static const Option<std::string> MSSAFun;
|
|
154
154
|
// static const llvm::cl::opt<string> MSSAFun;
|
|
155
|
-
static const
|
|
155
|
+
static const OptionMap<MemSSA::MemPartition> MemPar;
|
|
156
156
|
|
|
157
157
|
// SVFG builder (SVFGBuilder.cpp)
|
|
158
|
-
static const
|
|
159
|
-
static
|
|
158
|
+
static const Option<bool> SVFGWithIndirectCall;
|
|
159
|
+
static Option<bool> OPTSVFG;
|
|
160
160
|
|
|
161
|
-
static const
|
|
162
|
-
static const
|
|
161
|
+
static const Option<std::string> WriteSVFG;
|
|
162
|
+
static const Option<std::string> ReadSVFG;
|
|
163
163
|
|
|
164
164
|
// FSMPTA.cpp
|
|
165
|
-
static const
|
|
166
|
-
static const
|
|
167
|
-
static const
|
|
168
|
-
static const
|
|
165
|
+
static const Option<bool> UsePCG;
|
|
166
|
+
static const Option<bool> IntraLock;
|
|
167
|
+
static const Option<bool> ReadPrecisionTDEdge;
|
|
168
|
+
static const Option<u32_t> AddModelFlag;
|
|
169
169
|
|
|
170
170
|
// LockAnalysis.cpp
|
|
171
|
-
static const
|
|
171
|
+
static const Option<bool> PrintLockSpan;
|
|
172
172
|
|
|
173
173
|
// MHP.cpp
|
|
174
|
-
static const
|
|
175
|
-
static const
|
|
174
|
+
static const Option<bool> PrintInterLev;
|
|
175
|
+
static const Option<bool> DoLockAnalysis;
|
|
176
176
|
|
|
177
177
|
// MTA.cpp
|
|
178
|
-
static const
|
|
179
|
-
static const
|
|
178
|
+
static const Option<bool> AndersenAnno;
|
|
179
|
+
static const Option<bool> FSAnno;
|
|
180
180
|
|
|
181
181
|
// MTAAnnotator.cpp
|
|
182
|
-
static const
|
|
182
|
+
static const Option<u32_t> AnnoFlag;
|
|
183
183
|
|
|
184
184
|
// MTAResultValidator.cpp
|
|
185
|
-
static const
|
|
185
|
+
static const Option<bool> PrintValidRes;
|
|
186
186
|
|
|
187
|
-
static const
|
|
187
|
+
static const Option<bool> LockValid;
|
|
188
188
|
//MTAStat.cpp
|
|
189
|
-
static const
|
|
189
|
+
static const Option<bool> AllPairMHP;
|
|
190
190
|
|
|
191
191
|
// PCG.cpp
|
|
192
|
-
//const
|
|
192
|
+
//const Option<bool> TDPrint
|
|
193
193
|
|
|
194
194
|
// TCT.cpp
|
|
195
|
-
static const
|
|
195
|
+
static const Option<bool> TCTDotGraph;
|
|
196
196
|
|
|
197
197
|
// LeakChecker.cpp
|
|
198
|
-
static const
|
|
198
|
+
static const Option<bool> ValidateTests;
|
|
199
199
|
|
|
200
200
|
// Source-sink analyzer (SrcSnkDDA.cpp)
|
|
201
|
-
static const
|
|
202
|
-
static const
|
|
201
|
+
static const Option<bool> DumpSlice;
|
|
202
|
+
static const Option<u32_t> CxtLimit;
|
|
203
203
|
|
|
204
204
|
// CHG.cpp
|
|
205
|
-
static const
|
|
205
|
+
static const Option<bool> DumpCHA;
|
|
206
206
|
|
|
207
207
|
// DCHG.cpp
|
|
208
|
-
static const
|
|
208
|
+
static const Option<bool> PrintDCHG;
|
|
209
209
|
|
|
210
210
|
// LLVMModule.cpp
|
|
211
|
-
static const
|
|
212
|
-
static const
|
|
211
|
+
static const Option<std::string> Graphtxt;
|
|
212
|
+
static const Option<bool> SVFMain;
|
|
213
213
|
|
|
214
214
|
// SymbolTableInfo.cpp
|
|
215
|
-
static const
|
|
216
|
-
static const
|
|
217
|
-
static const
|
|
218
|
-
static const
|
|
215
|
+
static const Option<bool> LocMemModel;
|
|
216
|
+
static const Option<bool> ModelConsts;
|
|
217
|
+
static const Option<bool> ModelArrays;
|
|
218
|
+
static const Option<bool> SymTabPrint;
|
|
219
219
|
|
|
220
220
|
// Conditions.cpp
|
|
221
|
-
static const
|
|
221
|
+
static const Option<u32_t> MaxZ3Size;
|
|
222
222
|
|
|
223
223
|
// SaberCondAllocator.cpp
|
|
224
|
-
static const
|
|
224
|
+
static const Option<bool> PrintPathCond;
|
|
225
225
|
|
|
226
226
|
// SVFUtil.cpp
|
|
227
|
-
static const
|
|
227
|
+
static const Option<bool> DisableWarn;
|
|
228
228
|
|
|
229
229
|
// Andersen.cpp
|
|
230
|
-
static const
|
|
231
|
-
static const
|
|
232
|
-
static const
|
|
233
|
-
// static const
|
|
234
|
-
static const
|
|
235
|
-
// static const
|
|
236
|
-
static const
|
|
237
|
-
static const
|
|
238
|
-
static
|
|
239
|
-
static const
|
|
230
|
+
static const Option<bool> ConsCGDotGraph;
|
|
231
|
+
static const Option<bool> BriefConsCGDotGraph;
|
|
232
|
+
static const Option<bool> PrintCGGraph;
|
|
233
|
+
// static const Option<string> WriteAnder;
|
|
234
|
+
static const Option<std::string> WriteAnder;
|
|
235
|
+
// static const Option<string> ReadAnder;
|
|
236
|
+
static const Option<std::string> ReadAnder;
|
|
237
|
+
static const Option<bool> DiffPts;
|
|
238
|
+
static Option<bool> DetectPWC;
|
|
239
|
+
static const Option<bool> VtableInSVFIR;
|
|
240
240
|
|
|
241
241
|
// WPAPass.cpp
|
|
242
|
-
static const
|
|
243
|
-
static const
|
|
244
|
-
static const
|
|
245
|
-
static
|
|
246
|
-
static
|
|
242
|
+
static const Option<bool> AnderSVFG;
|
|
243
|
+
static const Option<bool> SABERFULLSVFG;
|
|
244
|
+
static const Option<bool> PrintAliases;
|
|
245
|
+
static OptionMultiple<PointerAnalysis::PTATY> PASelected;
|
|
246
|
+
static OptionMultiple<WPAPass::AliasCheckRule> AliasRule;
|
|
247
247
|
|
|
248
248
|
// DOTGraphTraits
|
|
249
|
-
static const
|
|
249
|
+
static const Option<bool> ShowHiddenNode;
|
|
250
250
|
|
|
251
251
|
// CFL option
|
|
252
|
-
static const
|
|
253
|
-
static const
|
|
254
|
-
static const
|
|
255
|
-
static const
|
|
256
|
-
static const
|
|
257
|
-
static const
|
|
252
|
+
static const Option<std::string> GrammarFilename;
|
|
253
|
+
static const Option<std::string> CFLGraph;
|
|
254
|
+
static const Option<bool> PrintCFL;
|
|
255
|
+
static const Option<bool> FlexSymMap;
|
|
256
|
+
static const Option<bool> PEGTransfer;
|
|
257
|
+
static const Option<bool> CFLSVFG;
|
|
258
|
+
static const Option<bool> POCRAlias;
|
|
258
259
|
|
|
259
260
|
// Loop Analysis
|
|
260
|
-
static const
|
|
261
|
-
static const
|
|
261
|
+
static const Option<bool> LoopAnalysis;
|
|
262
|
+
static const Option<u32_t> LoopBound;
|
|
262
263
|
};
|
|
263
264
|
} // namespace SVF
|
|
264
265
|
|
package/include/WPA/Andersen.h
CHANGED
|
@@ -231,7 +231,7 @@ public:
|
|
|
231
231
|
|
|
232
232
|
void setDetectPWC(bool flag)
|
|
233
233
|
{
|
|
234
|
-
Options::DetectPWC
|
|
234
|
+
Options::DetectPWC.setValue(flag);
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
protected:
|
|
@@ -242,7 +242,7 @@ protected:
|
|
|
242
242
|
/// Handle diff points-to set.
|
|
243
243
|
virtual inline void computeDiffPts(NodeID id)
|
|
244
244
|
{
|
|
245
|
-
if (Options::DiffPts)
|
|
245
|
+
if (Options::DiffPts())
|
|
246
246
|
{
|
|
247
247
|
NodeID rep = sccRepNode(id);
|
|
248
248
|
getDiffPTDataTy()->computeDiffPts(rep, getDiffPTDataTy()->getPts(rep));
|
|
@@ -251,7 +251,7 @@ protected:
|
|
|
251
251
|
virtual inline const PointsTo& getDiffPts(NodeID id)
|
|
252
252
|
{
|
|
253
253
|
NodeID rep = sccRepNode(id);
|
|
254
|
-
if (Options::DiffPts)
|
|
254
|
+
if (Options::DiffPts())
|
|
255
255
|
return getDiffPTDataTy()->getDiffPts(rep);
|
|
256
256
|
else
|
|
257
257
|
return getPTDataTy()->getPts(rep);
|
|
@@ -260,7 +260,7 @@ protected:
|
|
|
260
260
|
/// Handle propagated points-to set.
|
|
261
261
|
inline void updatePropaPts(NodeID dstId, NodeID srcId)
|
|
262
262
|
{
|
|
263
|
-
if (!Options::DiffPts)
|
|
263
|
+
if (!Options::DiffPts())
|
|
264
264
|
return;
|
|
265
265
|
NodeID srcRep = sccRepNode(srcId);
|
|
266
266
|
NodeID dstRep = sccRepNode(dstId);
|
|
@@ -268,7 +268,7 @@ protected:
|
|
|
268
268
|
}
|
|
269
269
|
inline void clearPropaPts(NodeID src)
|
|
270
270
|
{
|
|
271
|
-
if (Options::DiffPts)
|
|
271
|
+
if (Options::DiffPts())
|
|
272
272
|
{
|
|
273
273
|
NodeID rep = sccRepNode(src);
|
|
274
274
|
getDiffPTDataTy()->clearPropaPts(rep);
|
|
@@ -659,9 +659,9 @@ void SVFIR2ItvExeState::translateGep(const GepStmt *gep)
|
|
|
659
659
|
{
|
|
660
660
|
VAddrs gepAddrs;
|
|
661
661
|
s32_t ub = offsetPair.second;
|
|
662
|
-
if (offsetPair.second - offsetPair.first > (s32_t)Options::MaxFieldLimit - 1)
|
|
662
|
+
if (offsetPair.second - offsetPair.first > (s32_t)Options::MaxFieldLimit() - 1)
|
|
663
663
|
{
|
|
664
|
-
ub = offsetPair.first + (s32_t)Options::MaxFieldLimit - 1;
|
|
664
|
+
ub = offsetPair.first + (s32_t)Options::MaxFieldLimit() - 1;
|
|
665
665
|
}
|
|
666
666
|
for (s32_t i = offsetPair.first; i <= ub; i++)
|
|
667
667
|
{
|
package/lib/CFL/CFLAlias.cpp
CHANGED
|
@@ -208,14 +208,14 @@ void CFLAlias::finalize()
|
|
|
208
208
|
{
|
|
209
209
|
numOfChecks = solver->numOfChecks;
|
|
210
210
|
|
|
211
|
-
if(Options::PrintCFL == true)
|
|
211
|
+
if(Options::PrintCFL() == true)
|
|
212
212
|
{
|
|
213
|
-
if (Options::CFLGraph.empty())
|
|
213
|
+
if (Options::CFLGraph().empty())
|
|
214
214
|
svfir->dump("IR");
|
|
215
215
|
grammar->dump("Grammar");
|
|
216
216
|
graph->dump("CFLGraph");
|
|
217
217
|
}
|
|
218
|
-
if (Options::CFLGraph.empty())
|
|
218
|
+
if (Options::CFLGraph().empty())
|
|
219
219
|
PointerAnalysis::finalize();
|
|
220
220
|
}
|
|
221
221
|
|
|
@@ -225,7 +225,7 @@ void CFLAlias::solve()
|
|
|
225
225
|
double start = stat->getClk(true);
|
|
226
226
|
|
|
227
227
|
solver->solve();
|
|
228
|
-
if (Options::CFLGraph.empty())
|
|
228
|
+
if (Options::CFLGraph().empty())
|
|
229
229
|
{
|
|
230
230
|
while (updateCallGraph(svfir->getIndirectCallsites()))
|
|
231
231
|
{
|
|
@@ -236,4 +236,40 @@ void CFLAlias::solve()
|
|
|
236
236
|
|
|
237
237
|
double end = stat->getClk(true);
|
|
238
238
|
timeOfSolving += (end - start) / TIMEINTERVAL;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
double POCRAlias::timeOfBuildCFLData = 0; // Time of building CFLData from CFLGraph
|
|
242
|
+
|
|
243
|
+
void POCRAlias::initialize()
|
|
244
|
+
{
|
|
245
|
+
stat = new CFLStat(this);
|
|
246
|
+
|
|
247
|
+
// Build CFL Grammar
|
|
248
|
+
buildCFLGrammar();
|
|
249
|
+
|
|
250
|
+
// Build CFL Graph
|
|
251
|
+
buildCFLGraph();
|
|
252
|
+
|
|
253
|
+
// Build CFL Data
|
|
254
|
+
buildCFLData();
|
|
255
|
+
|
|
256
|
+
// Normalize CFL Grammar
|
|
257
|
+
normalizeCFLGrammar();
|
|
258
|
+
|
|
259
|
+
// Initialize sovler
|
|
260
|
+
solver = new CFLSolver(graph, grammar);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
void POCRAlias::buildCFLData()
|
|
265
|
+
{
|
|
266
|
+
// Start building CFLGraph
|
|
267
|
+
double start = stat->getClk(true);
|
|
268
|
+
|
|
269
|
+
CFLDataBuilder cflDataBuilder = CFLDataBuilder(graph);
|
|
270
|
+
_cflData = cflDataBuilder.build();
|
|
271
|
+
|
|
272
|
+
// Get time of build graph
|
|
273
|
+
double end = stat->getClk(true);
|
|
274
|
+
timeOfBuildCFLData += (end - start) / TIMEINTERVAL;
|
|
239
275
|
}
|
package/lib/CFL/CFLBase.cpp
CHANGED
|
@@ -51,7 +51,7 @@ void CFLBase::buildCFLGrammar()
|
|
|
51
51
|
// Start building grammar
|
|
52
52
|
double start = stat->getClk(true);
|
|
53
53
|
|
|
54
|
-
GrammarBuilder grammarBuilder = GrammarBuilder(Options::GrammarFilename);
|
|
54
|
+
GrammarBuilder grammarBuilder = GrammarBuilder(Options::GrammarFilename());
|
|
55
55
|
grammarBase = grammarBuilder.build();
|
|
56
56
|
|
|
57
57
|
// Get time of build grammar
|
|
@@ -65,18 +65,18 @@ void CFLBase::buildCFLGraph()
|
|
|
65
65
|
double start = stat->getClk(true);
|
|
66
66
|
|
|
67
67
|
AliasCFLGraphBuilder cflGraphBuilder = AliasCFLGraphBuilder();
|
|
68
|
-
if (Options::CFLGraph.empty()) // built from svfir
|
|
68
|
+
if (Options::CFLGraph().empty()) // built from svfir
|
|
69
69
|
{
|
|
70
70
|
PointerAnalysis::initialize();
|
|
71
71
|
ConstraintGraph *consCG = new ConstraintGraph(svfir);
|
|
72
|
-
if (Options::PEGTransfer)
|
|
72
|
+
if (Options::PEGTransfer())
|
|
73
73
|
graph = cflGraphBuilder.buildBiPEGgraph(consCG, grammarBase->getStartKind(), grammarBase, svfir);
|
|
74
74
|
else
|
|
75
75
|
graph = cflGraphBuilder.buildBigraph(consCG, grammarBase->getStartKind(), grammarBase);
|
|
76
76
|
delete consCG;
|
|
77
77
|
}
|
|
78
78
|
else
|
|
79
|
-
graph = cflGraphBuilder.buildFromDot(Options::CFLGraph, grammarBase);
|
|
79
|
+
graph = cflGraphBuilder.buildFromDot(Options::CFLGraph(), grammarBase);
|
|
80
80
|
|
|
81
81
|
// Check CFL Graph and Grammar are accordance with grammar
|
|
82
82
|
CFLGramGraphChecker cflChecker = CFLGramGraphChecker();
|
|
@@ -139,7 +139,7 @@ CFLGraph * CFLGraphBuilder::buildFromDot(std::string fileName, GrammarBase *gram
|
|
|
139
139
|
}
|
|
140
140
|
else
|
|
141
141
|
{
|
|
142
|
-
if(Options::FlexSymMap == true)
|
|
142
|
+
if(Options::FlexSymMap() == true)
|
|
143
143
|
{
|
|
144
144
|
label2KindMap.insert({matches.str(3), current++});
|
|
145
145
|
cflGraph->addCFLEdge(src, dst, label2KindMap[matches.str(3)]);
|
|
@@ -517,4 +517,4 @@ CFLGraph* VFCFLGraphBuilder::buildBiPEGgraph(ConstraintGraph *graph, Kind startK
|
|
|
517
517
|
}
|
|
518
518
|
|
|
519
519
|
|
|
520
|
-
} // end of SVF namespace
|
|
520
|
+
} // end of SVF namespace
|
package/lib/CFL/CFLVF.cpp
CHANGED
|
@@ -37,7 +37,7 @@ void CFLVF::buildCFLGraph()
|
|
|
37
37
|
{
|
|
38
38
|
// Build CFL Graph
|
|
39
39
|
VFCFLGraphBuilder cflGraphBuilder = VFCFLGraphBuilder();
|
|
40
|
-
if (Options::CFLGraph.empty()) // built from svfir
|
|
40
|
+
if (Options::CFLGraph().empty()) // built from svfir
|
|
41
41
|
{
|
|
42
42
|
PointerAnalysis::initialize();
|
|
43
43
|
AndersenWaveDiff* ander = AndersenWaveDiff::createAndersenWaveDiff(pag);
|
|
@@ -45,7 +45,7 @@ void CFLVF::buildCFLGraph()
|
|
|
45
45
|
graph = cflGraphBuilder.buildBigraph(svfg, grammarBase->getStartKind(), grammarBase);
|
|
46
46
|
}
|
|
47
47
|
else
|
|
48
|
-
graph = cflGraphBuilder.buildFromDot(Options::CFLGraph, grammarBase);
|
|
48
|
+
graph = cflGraphBuilder.buildFromDot(Options::CFLGraph(), grammarBase);
|
|
49
49
|
|
|
50
50
|
// Check CFL Graph and Grammar are accordance with grammar
|
|
51
51
|
CFLGramGraphChecker cflChecker = CFLGramGraphChecker();
|
|
@@ -69,11 +69,11 @@ void CFLVF::initialize()
|
|
|
69
69
|
|
|
70
70
|
void CFLVF::finalize()
|
|
71
71
|
{
|
|
72
|
-
if(Options::PrintCFL
|
|
72
|
+
if(Options::PrintCFL())
|
|
73
73
|
{
|
|
74
|
-
if (Options::CFLGraph.empty())
|
|
74
|
+
if (Options::CFLGraph().empty())
|
|
75
75
|
svfir->dump("IR");
|
|
76
76
|
grammar->dump("Grammar");
|
|
77
77
|
graph->dump("CFLGraph");
|
|
78
78
|
}
|
|
79
|
-
}
|
|
79
|
+
}
|
package/lib/DDA/ContextDDA.cpp
CHANGED