svf-tools 1.0.438 → 1.0.441
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/Andersen_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/BDDExpr_8cpp.html +81 -0
- package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +122 -0
- package/SVF-doxygen/html/html/BDDExpr_8h.html +98 -0
- package/SVF-doxygen/html/html/BDDExpr_8h_source.html +131 -0
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DPItem_8h.html +1 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ExeState_8cpp.html +82 -0
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +130 -0
- package/SVF-doxygen/html/html/ExeState_8h.html +139 -0
- package/SVF-doxygen/html/html/ExeState_8h_source.html +130 -0
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Options_8cpp_source.html +113 -114
- package/SVF-doxygen/html/html/Options_8h.html +0 -1
- package/SVF-doxygen/html/html/Options_8h_source.html +115 -117
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +4 -5
- package/SVF-doxygen/html/html/PathCondAllocator_8h.html +1 -1
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +24 -24
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SrcSnkDDA_8h.html +3 -3
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkSolver_8h.html +96 -0
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +113 -0
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Z3Expr_8h.html +99 -0
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +126 -0
- package/SVF-doxygen/html/html/annotated.html +272 -275
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager-members.html +117 -0
- package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +1318 -0
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +0 -9
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DPItem.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1DPItem.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +76 -76
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +64 -64
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ExeState-members.html +113 -0
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1259 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +78 -78
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +64 -64
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +74 -74
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +68 -68
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +102 -103
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +115 -141
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +131 -132
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +66 -66
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +86 -86
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +106 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +937 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +46 -15
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1451 -104
- package/SVF-doxygen/html/html/classes.html +96 -96
- package/SVF-doxygen/html/html/dir_66541c162fd98954e2c32089ba9a721f.html +2 -0
- package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +2 -0
- package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +4 -4
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +6 -10
- package/SVF-doxygen/html/html/dir_ea25a8a5b2904424d8a51916f8b475b2.html +2 -0
- package/SVF-doxygen/html/html/dir_fdb79cd259bf25322a80ea604c9317b5.html +2 -0
- package/SVF-doxygen/html/html/files.html +42 -40
- package/SVF-doxygen/html/html/functions.html +2 -2
- package/SVF-doxygen/html/html/functions_0x7e.html +9 -21
- package/SVF-doxygen/html/html/functions_a.html +8 -16
- package/SVF-doxygen/html/html/functions_b.html +21 -34
- package/SVF-doxygen/html/html/functions_c.html +33 -63
- package/SVF-doxygen/html/html/functions_d.html +3 -6
- package/SVF-doxygen/html/html/functions_e.html +14 -13
- package/SVF-doxygen/html/html/functions_enum.html +0 -6
- package/SVF-doxygen/html/html/functions_eval_b.html +0 -6
- package/SVF-doxygen/html/html/functions_f.html +9 -9
- package/SVF-doxygen/html/html/functions_func.html +8 -19
- package/SVF-doxygen/html/html/functions_func_0x7e.html +9 -21
- package/SVF-doxygen/html/html/functions_func_b.html +12 -15
- package/SVF-doxygen/html/html/functions_func_c.html +23 -38
- package/SVF-doxygen/html/html/functions_func_d.html +4 -7
- package/SVF-doxygen/html/html/functions_func_e.html +7 -3
- package/SVF-doxygen/html/html/functions_func_f.html +5 -5
- package/SVF-doxygen/html/html/functions_func_g.html +48 -49
- package/SVF-doxygen/html/html/functions_func_h.html +2 -7
- package/SVF-doxygen/html/html/functions_func_i.html +33 -21
- package/SVF-doxygen/html/html/functions_func_l.html +10 -4
- package/SVF-doxygen/html/html/functions_func_m.html +0 -1
- package/SVF-doxygen/html/html/functions_func_n.html +5 -4
- package/SVF-doxygen/html/html/functions_func_o.html +11 -13
- package/SVF-doxygen/html/html/functions_func_p.html +7 -17
- package/SVF-doxygen/html/html/functions_func_r.html +8 -5
- package/SVF-doxygen/html/html/functions_func_s.html +16 -13
- package/SVF-doxygen/html/html/functions_func_t.html +3 -1
- package/SVF-doxygen/html/html/functions_func_v.html +1 -7
- package/SVF-doxygen/html/html/functions_func_z.html +3 -3
- package/SVF-doxygen/html/html/functions_g.html +51 -52
- package/SVF-doxygen/html/html/functions_h.html +3 -8
- package/SVF-doxygen/html/html/functions_i.html +44 -32
- package/SVF-doxygen/html/html/functions_l.html +20 -6
- package/SVF-doxygen/html/html/functions_m.html +2 -3
- package/SVF-doxygen/html/html/functions_n.html +6 -8
- package/SVF-doxygen/html/html/functions_o.html +61 -21
- package/SVF-doxygen/html/html/functions_p.html +33 -41
- package/SVF-doxygen/html/html/functions_r.html +7 -6
- package/SVF-doxygen/html/html/functions_rela.html +78 -4
- package/SVF-doxygen/html/html/functions_s.html +30 -27
- package/SVF-doxygen/html/html/functions_t.html +12 -10
- package/SVF-doxygen/html/html/functions_type_b.html +2 -6
- package/SVF-doxygen/html/html/functions_type_c.html +4 -4
- package/SVF-doxygen/html/html/functions_type_e.html +0 -3
- package/SVF-doxygen/html/html/functions_type_g.html +5 -5
- package/SVF-doxygen/html/html/functions_type_i.html +4 -7
- package/SVF-doxygen/html/html/functions_type_l.html +3 -0
- package/SVF-doxygen/html/html/functions_type_n.html +2 -2
- package/SVF-doxygen/html/html/functions_type_p.html +0 -4
- package/SVF-doxygen/html/html/functions_type_v.html +3 -0
- package/SVF-doxygen/html/html/functions_type_w.html +2 -2
- package/SVF-doxygen/html/html/functions_v.html +10 -13
- package/SVF-doxygen/html/html/functions_vars.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_b.html +2 -5
- package/SVF-doxygen/html/html/functions_vars_c.html +3 -10
- package/SVF-doxygen/html/html/functions_vars_e.html +1 -4
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_i.html +1 -4
- package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_n.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_p.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_s.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_t.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_w.html +1 -1
- package/SVF-doxygen/html/html/functions_w.html +12 -8
- package/SVF-doxygen/html/html/functions_z.html +3 -13
- package/SVF-doxygen/html/html/globals.html +3 -0
- package/SVF-doxygen/html/html/globals_defs.html +3 -0
- package/SVF-doxygen/html/html/globals_defs_f.html +3 -0
- package/SVF-doxygen/html/html/globals_f.html +5 -2
- package/SVF-doxygen/html/html/globals_s.html +6 -6
- package/SVF-doxygen/html/html/hierarchy.html +422 -425
- package/SVF-doxygen/html/html/menudata.js +4 -4
- package/SVF-doxygen/html/html/namespaceSVF.html +10 -57
- package/SVF-doxygen/html/html/namespacemembers_c.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_type.html +1 -7
- package/SVF-doxygen/html/html/namespacemembers_v.html +0 -6
- package/SVF-doxygen/html/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +3 -4
- package/SVF-doxygen/html/html/search/all_10.js +16 -21
- package/SVF-doxygen/html/html/search/all_12.js +4 -3
- package/SVF-doxygen/html/html/search/all_13.js +17 -16
- package/SVF-doxygen/html/html/search/all_14.js +8 -7
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +3 -6
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_1a.js +3 -5
- package/SVF-doxygen/html/html/search/all_1b.js +4 -8
- package/SVF-doxygen/html/html/search/all_2.js +13 -14
- package/SVF-doxygen/html/html/search/all_3.js +14 -24
- package/SVF-doxygen/html/html/search/all_4.js +3 -3
- package/SVF-doxygen/html/html/search/all_5.js +8 -4
- package/SVF-doxygen/html/html/search/all_6.js +6 -5
- package/SVF-doxygen/html/html/search/all_7.js +28 -25
- package/SVF-doxygen/html/html/search/all_8.js +4 -3
- package/SVF-doxygen/html/html/search/all_9.js +19 -13
- package/SVF-doxygen/html/html/search/all_c.js +5 -2
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +5 -5
- package/SVF-doxygen/html/html/search/all_f.js +24 -15
- package/SVF-doxygen/html/html/search/classes_1.js +1 -2
- package/SVF-doxygen/html/html/search/classes_12.js +1 -2
- package/SVF-doxygen/html/html/search/classes_14.js +1 -2
- package/SVF-doxygen/html/html/search/classes_2.js +0 -3
- package/SVF-doxygen/html/html/search/classes_4.js +1 -0
- package/SVF-doxygen/html/html/search/classes_7.js +3 -1
- package/SVF-doxygen/html/html/search/classes_d.js +0 -1
- package/SVF-doxygen/html/html/search/classes_f.js +1 -0
- package/SVF-doxygen/html/html/search/defines_0.js +1 -0
- package/SVF-doxygen/html/html/search/defines_5.js +1 -0
- package/SVF-doxygen/html/html/search/enums_1.js +0 -2
- package/SVF-doxygen/html/html/search/enumvalues_1.js +0 -2
- package/SVF-doxygen/html/html/search/files_1.js +2 -0
- package/SVF-doxygen/html/html/search/files_12.html +26 -0
- package/SVF-doxygen/html/html/search/files_12.js +4 -0
- package/SVF-doxygen/html/html/search/files_2.js +0 -3
- package/SVF-doxygen/html/html/search/files_4.js +2 -0
- package/SVF-doxygen/html/html/search/files_c.js +0 -1
- package/SVF-doxygen/html/html/search/files_d.js +1 -0
- package/SVF-doxygen/html/html/search/functions_0.js +1 -4
- package/SVF-doxygen/html/html/search/functions_1.js +8 -9
- package/SVF-doxygen/html/html/search/functions_10.js +6 -5
- package/SVF-doxygen/html/html/search/functions_11.js +2 -1
- package/SVF-doxygen/html/html/search/functions_13.js +0 -2
- package/SVF-doxygen/html/html/search/functions_15.js +2 -2
- package/SVF-doxygen/html/html/search/functions_16.js +4 -8
- package/SVF-doxygen/html/html/search/functions_2.js +5 -8
- package/SVF-doxygen/html/html/search/functions_3.js +3 -3
- package/SVF-doxygen/html/html/search/functions_4.js +3 -1
- package/SVF-doxygen/html/html/search/functions_5.js +3 -3
- package/SVF-doxygen/html/html/search/functions_6.js +25 -22
- package/SVF-doxygen/html/html/search/functions_7.js +2 -3
- package/SVF-doxygen/html/html/search/functions_8.js +12 -6
- package/SVF-doxygen/html/html/search/functions_a.js +2 -0
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_c.js +2 -1
- package/SVF-doxygen/html/html/search/functions_d.js +7 -7
- package/SVF-doxygen/html/html/search/functions_e.js +5 -8
- package/SVF-doxygen/html/html/search/functions_f.js +2 -1
- package/SVF-doxygen/html/html/search/related_0.js +1 -2
- package/SVF-doxygen/html/html/search/related_1.js +1 -2
- package/SVF-doxygen/html/html/search/related_2.js +1 -1
- package/SVF-doxygen/html/html/search/related_3.js +2 -1
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -2
- package/SVF-doxygen/html/html/search/related_6.js +4 -1
- package/SVF-doxygen/html/html/search/related_7.js +2 -4
- package/SVF-doxygen/html/html/search/related_8.js +18 -1
- package/SVF-doxygen/html/html/search/related_9.js +4 -6
- package/SVF-doxygen/html/html/search/related_a.js +1 -2
- package/SVF-doxygen/html/html/search/related_b.js +7 -2
- package/SVF-doxygen/html/html/search/related_c.html +26 -0
- package/SVF-doxygen/html/html/search/related_c.js +5 -0
- package/SVF-doxygen/html/html/search/related_d.html +26 -0
- package/SVF-doxygen/html/html/search/related_d.js +5 -0
- package/SVF-doxygen/html/html/search/searchdata.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_1.js +1 -2
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -2
- package/SVF-doxygen/html/html/search/typedefs_15.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_8.js +3 -4
- package/SVF-doxygen/html/html/search/typedefs_b.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_f.js +0 -1
- package/SVF-doxygen/html/html/search/variables_0.js +1 -1
- package/SVF-doxygen/html/html/search/variables_10.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +0 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_16.js +1 -1
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_2.js +1 -2
- package/SVF-doxygen/html/html/search/variables_3.js +4 -6
- package/SVF-doxygen/html/html/search/variables_5.js +1 -2
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -2
- package/SVF-doxygen/html/html/search/variables_c.js +1 -0
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +131 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +131 -0
- package/include/SABER/PathCondAllocator.h +4 -4
- package/include/SABER/SrcSnkDDA.h +2 -2
- package/include/{Util/CFLSolver.h → SABER/SrcSnkSolver.h} +5 -5
- package/include/{Util → SVF-FE}/IRAnnotator.h +0 -0
- package/include/Util/BDDExpr.h +182 -0
- package/include/Util/DPItem.h +1 -1
- package/include/Util/ExeState.h +177 -0
- package/include/Util/Options.h +0 -3
- package/include/Util/Z3Expr.h +235 -0
- package/include/WPA/FlowSensitiveTBHC.h +1 -1
- package/include/{Util → WPA}/TypeBasedHeapCloning.h +0 -0
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
- package/lib/SABER/PathCondAllocator.cpp +1 -1
- package/lib/Util/BDDExpr.cpp +206 -0
- package/lib/Util/ExeState.cpp +236 -0
- package/lib/Util/Options.cpp +0 -11
- package/lib/Util/SVFUtil.cpp +1 -1
- package/lib/WPA/FlowSensitive.cpp +1 -1
- package/lib/{Util → WPA}/TypeBasedHeapCloning.cpp +1 -1
- package/package.json +1 -1
- package/include/Util/Conditions.h +0 -421
- package/include/Util/PathDPItem.h +0 -310
- package/lib/Util/Conditions.cpp +0 -440
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
//===- PathDPItem.h -- path sensitive classes----------------------------//
|
|
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 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 General Public License for more details.
|
|
17
|
-
|
|
18
|
-
// You should have received a copy of the GNU General Public License
|
|
19
|
-
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
//
|
|
21
|
-
//===----------------------------------------------------------------------===//
|
|
22
|
-
|
|
23
|
-
/*
|
|
24
|
-
* DPItem.h
|
|
25
|
-
*
|
|
26
|
-
* Created on: Apr 1, 2014
|
|
27
|
-
* Author: Yulei Sui
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
#ifndef PATHDPITEM_H_
|
|
31
|
-
#define PATHDPITEM_H_
|
|
32
|
-
|
|
33
|
-
#include "Util/DPItem.h"
|
|
34
|
-
|
|
35
|
-
namespace SVF
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
class VFPathCond : public ContextCond
|
|
39
|
-
{
|
|
40
|
-
|
|
41
|
-
public:
|
|
42
|
-
typedef CondExpr PathCond;
|
|
43
|
-
typedef std::vector<std::pair<NodeID,NodeID> > EdgeSet;
|
|
44
|
-
|
|
45
|
-
public:
|
|
46
|
-
/// Constructor
|
|
47
|
-
VFPathCond(PathCond* p = CondManager::getTrueCond()) : ContextCond(), path(p)
|
|
48
|
-
{
|
|
49
|
-
}
|
|
50
|
-
/// Copy Constructor
|
|
51
|
-
VFPathCond(const VFPathCond& cond): ContextCond(cond), path(cond.getPaths()),edges(cond.getVFEdges())
|
|
52
|
-
{
|
|
53
|
-
}
|
|
54
|
-
/// Destructor
|
|
55
|
-
virtual ~VFPathCond()
|
|
56
|
-
{
|
|
57
|
-
}
|
|
58
|
-
/// Return paths
|
|
59
|
-
inline PathCond* getPaths() const
|
|
60
|
-
{
|
|
61
|
-
return path;
|
|
62
|
-
}
|
|
63
|
-
/// Return paths
|
|
64
|
-
inline const EdgeSet& getVFEdges() const
|
|
65
|
-
{
|
|
66
|
-
return edges;
|
|
67
|
-
}
|
|
68
|
-
/// Set paths
|
|
69
|
-
inline void setPaths(PathCond* p, const EdgeSet& e)
|
|
70
|
-
{
|
|
71
|
-
path = p;
|
|
72
|
-
edges = e;
|
|
73
|
-
}
|
|
74
|
-
/// Get path length
|
|
75
|
-
inline u32_t pathLen() const
|
|
76
|
-
{
|
|
77
|
-
return edges.size();
|
|
78
|
-
}
|
|
79
|
-
/// Add SVFG Edge
|
|
80
|
-
inline void addVFEdge(NodeID from, NodeID to)
|
|
81
|
-
{
|
|
82
|
-
// assert(!hasVFEdge(from,to) && "Edge exit?");
|
|
83
|
-
if(edges.size() > maximumPath)
|
|
84
|
-
maximumPath = edges.size();
|
|
85
|
-
|
|
86
|
-
edges.push_back(std::make_pair(from,to));
|
|
87
|
-
}
|
|
88
|
-
/// Has SVFG Edge
|
|
89
|
-
inline bool hasVFEdge(NodeID from, NodeID to) const
|
|
90
|
-
{
|
|
91
|
-
return std::find(edges.begin(),edges.end(),std::make_pair(from,to)) != edges.end();
|
|
92
|
-
}
|
|
93
|
-
/// Whether Node dst has incoming edge
|
|
94
|
-
inline bool hasIncomingEdge(NodeID node) const
|
|
95
|
-
{
|
|
96
|
-
for(EdgeSet::const_iterator it = edges.begin(), eit =edges.end(); it!=eit; ++it)
|
|
97
|
-
{
|
|
98
|
-
if(it->second == node)
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
/// Whether Node dst has outgoing edge
|
|
104
|
-
inline bool hasOutgoingEdge(NodeID node) const
|
|
105
|
-
{
|
|
106
|
-
for(EdgeSet::const_iterator it = edges.begin(), eit =edges.end(); it!=eit; ++it)
|
|
107
|
-
{
|
|
108
|
-
if(it->first == node)
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
inline bool addPath(CondManager* allocator, PathCond* c, NodeID from, NodeID to)
|
|
114
|
-
{
|
|
115
|
-
if(pathLen() < maximumPathLen)
|
|
116
|
-
{
|
|
117
|
-
if(!hasVFEdge(from,to))
|
|
118
|
-
{
|
|
119
|
-
/// drop condition when existing a loop (vf cycle)
|
|
120
|
-
if(hasOutgoingEdge(from))
|
|
121
|
-
c = allocator->getTrueCond();
|
|
122
|
-
}
|
|
123
|
-
addVFEdge(from,to);
|
|
124
|
-
return condAnd(allocator,c);
|
|
125
|
-
}
|
|
126
|
-
// DBOUT(DDDA, SVFUtil::outs() << "\t\t!!path length beyond limits \n");
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
/// Condition operatoration
|
|
130
|
-
//@{
|
|
131
|
-
inline bool condAnd(CondManager* allocator, PathCond* c)
|
|
132
|
-
{
|
|
133
|
-
path = allocator->AND(path,c);
|
|
134
|
-
return path != allocator->getFalseCond();
|
|
135
|
-
}
|
|
136
|
-
inline void condOr(CondManager* allocator, PathCond* c)
|
|
137
|
-
{
|
|
138
|
-
path = allocator->OR(path,c);
|
|
139
|
-
}
|
|
140
|
-
//@}
|
|
141
|
-
|
|
142
|
-
/// Enable compare operator to avoid duplicated item insertion in map or set
|
|
143
|
-
/// to be noted that two vectors can also overload operator()
|
|
144
|
-
inline bool operator< (const VFPathCond& rhs) const
|
|
145
|
-
{
|
|
146
|
-
if(path != rhs.path)
|
|
147
|
-
return path < rhs.path;
|
|
148
|
-
else
|
|
149
|
-
return context < rhs.context;
|
|
150
|
-
}
|
|
151
|
-
/// Overloading operator=
|
|
152
|
-
inline VFPathCond& operator= (const VFPathCond& rhs)
|
|
153
|
-
{
|
|
154
|
-
if(*this != rhs)
|
|
155
|
-
{
|
|
156
|
-
ContextCond::operator=(rhs);
|
|
157
|
-
path = rhs.getPaths();
|
|
158
|
-
edges = rhs.getVFEdges();
|
|
159
|
-
}
|
|
160
|
-
return *this;
|
|
161
|
-
}
|
|
162
|
-
/// Overloading operator==
|
|
163
|
-
inline bool operator== (const VFPathCond& rhs) const
|
|
164
|
-
{
|
|
165
|
-
return (context == rhs.getContexts() && path == rhs.getPaths());
|
|
166
|
-
}
|
|
167
|
-
/// Overloading operator!=
|
|
168
|
-
inline bool operator!= (const VFPathCond& rhs) const
|
|
169
|
-
{
|
|
170
|
-
return !(*this==rhs);
|
|
171
|
-
}
|
|
172
|
-
/// Get value-flow edge traces
|
|
173
|
-
inline std::string vfEdgesTrace() const
|
|
174
|
-
{
|
|
175
|
-
std::string str;
|
|
176
|
-
raw_string_ostream rawstr(str);
|
|
177
|
-
for(EdgeSet::const_iterator it = edges.begin(), eit = edges.end(); it!=eit; ++it)
|
|
178
|
-
{
|
|
179
|
-
rawstr << "(" << it->first << "," << it->second << ")";
|
|
180
|
-
}
|
|
181
|
-
return rawstr.str();
|
|
182
|
-
}
|
|
183
|
-
/// Dump context condition
|
|
184
|
-
inline std::string toString() const
|
|
185
|
-
{
|
|
186
|
-
std::string str;
|
|
187
|
-
raw_string_ostream rawstr(str);
|
|
188
|
-
rawstr << "[:";
|
|
189
|
-
for(CallStrCxt::const_iterator it = context.begin(), eit = context.end(); it!=eit; ++it)
|
|
190
|
-
{
|
|
191
|
-
rawstr << *it << " ";
|
|
192
|
-
}
|
|
193
|
-
rawstr << " | ";
|
|
194
|
-
rawstr << "" << path << "] " << vfEdgesTrace() ;
|
|
195
|
-
return rawstr.str();
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
private:
|
|
199
|
-
PathCond* path;
|
|
200
|
-
EdgeSet edges;
|
|
201
|
-
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
/*!
|
|
206
|
-
* Path-sensitive DPItem
|
|
207
|
-
*/
|
|
208
|
-
typedef CondVar<VFPathCond> VFPathVar;
|
|
209
|
-
typedef CondStdSet<VFPathVar> VFPathPtSet;
|
|
210
|
-
|
|
211
|
-
template<class LocCond>
|
|
212
|
-
class PathStmtDPItem : public StmtDPItem<LocCond>
|
|
213
|
-
{
|
|
214
|
-
private:
|
|
215
|
-
VFPathCond vfpath;
|
|
216
|
-
public:
|
|
217
|
-
typedef VFPathCond::PathCond PathCond;
|
|
218
|
-
|
|
219
|
-
/// Constructor
|
|
220
|
-
PathStmtDPItem(const VFPathVar& var, const LocCond* locCond) :
|
|
221
|
-
StmtDPItem<LocCond>(var.get_id(),locCond), vfpath(var.get_cond())
|
|
222
|
-
{
|
|
223
|
-
}
|
|
224
|
-
/// Copy constructor
|
|
225
|
-
PathStmtDPItem(const PathStmtDPItem<LocCond>& dps) :
|
|
226
|
-
StmtDPItem<LocCond>(dps),vfpath(dps.getCond())
|
|
227
|
-
{
|
|
228
|
-
}
|
|
229
|
-
/// Destructor
|
|
230
|
-
virtual ~PathStmtDPItem()
|
|
231
|
-
{
|
|
232
|
-
}
|
|
233
|
-
inline VFPathVar getCondVar() const
|
|
234
|
-
{
|
|
235
|
-
VFPathVar var(this->vfpath,this->cur);
|
|
236
|
-
return var;
|
|
237
|
-
}
|
|
238
|
-
/// Get value-flow paths
|
|
239
|
-
inline const VFPathCond& getCond() const
|
|
240
|
-
{
|
|
241
|
-
return this->vfpath;
|
|
242
|
-
}
|
|
243
|
-
/// Get value-flow paths
|
|
244
|
-
inline VFPathCond& getCond()
|
|
245
|
-
{
|
|
246
|
-
return this->vfpath;
|
|
247
|
-
}
|
|
248
|
-
/// Add a value-flow path (avoid adding duplicated paths)
|
|
249
|
-
inline bool addVFPath(CondManager* allocator, PathCond* c, NodeID from, NodeID to)
|
|
250
|
-
{
|
|
251
|
-
return this->vfpath.addPath(allocator,c,from,to);
|
|
252
|
-
}
|
|
253
|
-
/// Push context
|
|
254
|
-
inline bool pushContext(NodeID cxt)
|
|
255
|
-
{
|
|
256
|
-
return this->vfpath.pushContext(cxt);
|
|
257
|
-
}
|
|
258
|
-
/// Match context
|
|
259
|
-
bool matchContext(NodeID cxt)
|
|
260
|
-
{
|
|
261
|
-
return this->vfpath.matchContext(cxt);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/// Enable compare operator to avoid duplicated item insertion in map or set
|
|
265
|
-
/// to be noted that two vectors can also overload operator()
|
|
266
|
-
inline bool operator< (const PathStmtDPItem<LocCond>& rhs) const
|
|
267
|
-
{
|
|
268
|
-
if (this->cur != rhs.getCurNodeID())
|
|
269
|
-
return this->cur < rhs.getCurNodeID();
|
|
270
|
-
else if(this->curloc != rhs.getLoc())
|
|
271
|
-
return this->curloc < rhs.getLoc();
|
|
272
|
-
else
|
|
273
|
-
return this->vfpath < rhs.getCond();
|
|
274
|
-
}
|
|
275
|
-
/// Overloading operator=
|
|
276
|
-
inline PathStmtDPItem<LocCond>& operator= (const PathStmtDPItem<LocCond>& rhs)
|
|
277
|
-
{
|
|
278
|
-
if(*this!=rhs)
|
|
279
|
-
{
|
|
280
|
-
StmtDPItem<LocCond>::operator=(rhs);
|
|
281
|
-
this->vfpath = rhs.getCond();
|
|
282
|
-
}
|
|
283
|
-
return *this;
|
|
284
|
-
}
|
|
285
|
-
/// Overloading operator==
|
|
286
|
-
inline bool operator== (const PathStmtDPItem<LocCond>& rhs) const
|
|
287
|
-
{
|
|
288
|
-
return (this->cur == rhs.cur && this->curloc == rhs.getLoc() && this->vfpath==rhs.getCond());
|
|
289
|
-
}
|
|
290
|
-
/// Overloading operator!=
|
|
291
|
-
inline bool operator!= (const PathStmtDPItem<LocCond>& rhs) const
|
|
292
|
-
{
|
|
293
|
-
return !(*this==rhs);
|
|
294
|
-
}
|
|
295
|
-
/// Dump dpm info
|
|
296
|
-
inline void dump() const
|
|
297
|
-
{
|
|
298
|
-
SVFUtil::outs() << "statement " << *(this->curloc) << ", var " << this->cur << " ";
|
|
299
|
-
SVFUtil::outs() << this->vfpath.toString() << "\n";
|
|
300
|
-
}
|
|
301
|
-
};
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
} // End namespace SVF
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
#endif /* DPITEM_H_ */
|