svf-tools 1.0.560 → 1.0.561
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/README.md +1 -1
- package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +43 -43
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/Andersen_8h_source.html +56 -56
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +44 -44
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +43 -43
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +36 -36
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +21 -21
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +51 -51
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +51 -51
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +111 -111
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +40 -40
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +52 -52
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +42 -42
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +114 -114
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +94 -94
- package/SVF-doxygen/html/html/MHP_8h_source.html +135 -135
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +6 -6
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +6 -6
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +33 -33
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +14 -14
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/MTA_8h_source.html +24 -24
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +50 -50
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +93 -93
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +59 -59
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +103 -103
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +185 -185
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/PCG_8h_source.html +52 -52
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +40 -40
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +181 -181
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +30 -30
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +60 -60
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberCheckerAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +66 -66
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +44 -44
- package/SVF-doxygen/html/html/TCT_8h_source.html +93 -93
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +38 -38
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +102 -102
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +100 -100
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +165 -165
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +286 -286
- package/SVF-doxygen/html/html/classSVF_1_1DFPTData.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1DiffPTData.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +71 -71
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +218 -218
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +334 -334
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +246 -246
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +200 -200
- package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +181 -181
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +267 -267
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +128 -128
- package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1MutableIncDFPTData.html +88 -88
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +78 -78
- package/SVF-doxygen/html/html/classSVF_1_1MutableVersionedPTData.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +131 -131
- package/SVF-doxygen/html/html/classSVF_1_1PTData.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +107 -107
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +66 -66
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +84 -84
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +134 -134
- package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +161 -161
- package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGNodeLockSpan.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +157 -157
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +264 -264
- package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +100 -100
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedPTData.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
- package/SVF-doxygen/html/html/dda_8cpp.html +2 -2
- package/SVF-doxygen/html/html/dda_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/mta_8cpp.html +2 -2
- package/SVF-doxygen/html/html/mta_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
- package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +15 -15
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/DDA/ContextDDA.h +29 -0
- package/include/DDA/DDAClient.h +23 -0
- package/include/DDA/DDAPass.h +22 -0
- package/include/DDA/DDAStat.h +22 -0
- package/include/DDA/DDAVFSolver.h +22 -0
- package/include/DDA/FlowDDA.h +29 -0
- package/include/MSSA/MSSAMuChi.h +1 -1
- package/include/MSSA/MemPartition.h +1 -1
- package/include/MSSA/MemRegion.h +5 -1
- package/include/MSSA/MemSSA.h +7 -1
- package/include/MSSA/SVFGBuilder.h +1 -1
- package/include/MTA/FSMPTA.h +26 -0
- package/include/MTA/LockAnalysis.h +22 -0
- package/include/MTA/MHP.h +22 -0
- package/include/MTA/MTA.h +27 -1
- package/include/MTA/MTAStat.h +22 -0
- package/include/MTA/PCG.h +22 -0
- package/include/MTA/TCT.h +22 -0
- package/include/MemoryModel/AbstractPointsToDS.h +34 -0
- package/include/MemoryModel/ConditionalPT.h +1 -1
- package/include/MemoryModel/LocationSet.h +1 -1
- package/include/MemoryModel/MutablePointsToDS.h +32 -0
- package/include/MemoryModel/PAGBuilderFromFile.h +2 -2
- package/include/MemoryModel/PersistentPointsToCache.h +3 -1
- package/include/MemoryModel/PersistentPointsToDS.h +10 -0
- package/include/MemoryModel/PointerAnalysis.h +1 -1
- package/include/MemoryModel/PointerAnalysisImpl.h +1 -1
- package/include/MemoryModel/SVFStatements.h +1 -1
- package/include/SABER/DoubleFreeChecker.h +1 -1
- package/include/SABER/FileChecker.h +1 -1
- package/include/SABER/LeakChecker.h +1 -1
- package/include/SABER/ProgSlice.h +8 -1
- package/include/SABER/SaberAnnotator.h +1 -1
- package/include/SABER/SaberCheckerAPI.h +1 -1
- package/include/SABER/SaberCondAllocator.h +1 -1
- package/include/SABER/SaberSVFGBuilder.h +1 -1
- package/include/SABER/SrcSnkDDA.h +8 -1
- package/include/SABER/SrcSnkSolver.h +1 -1
- package/include/WPA/Andersen.h +5 -0
- package/include/WPA/TypeAnalysis.h +1 -1
- package/include/WPA/VersionedFlowSensitive.h +4 -0
- package/lib/DDA/ContextDDA.cpp +22 -0
- package/lib/DDA/DDAClient.cpp +22 -0
- package/lib/DDA/DDAPass.cpp +23 -0
- package/lib/DDA/DDAStat.cpp +22 -0
- package/lib/DDA/FlowDDA.cpp +22 -0
- package/lib/MTA/FSMPTA.cpp +22 -0
- package/lib/MTA/LockAnalysis.cpp +22 -0
- package/lib/MTA/MHP.cpp +23 -1
- package/lib/MTA/MTA.cpp +23 -0
- package/lib/MTA/MTAStat.cpp +22 -0
- package/lib/MTA/PCG.cpp +22 -0
- package/lib/MTA/TCT.cpp +23 -0
- package/lib/MemoryModel/LocationSet.cpp +1 -1
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +23 -0
- package/lib/SABER/DoubleFreeChecker.cpp +1 -1
- package/lib/SABER/FileChecker.cpp +1 -1
- package/lib/SABER/LeakChecker.cpp +1 -1
- package/lib/SABER/ProgSlice.cpp +1 -1
- package/lib/SABER/SaberAnnotator.cpp +1 -1
- package/lib/SABER/SaberCheckerAPI.cpp +1 -1
- package/lib/SABER/SaberCondAllocator.cpp +1 -1
- package/lib/SABER/SaberSVFGBuilder.cpp +1 -1
- package/lib/SABER/SrcSnkDDA.cpp +1 -1
- package/lib/WPA/Steensgaard.cpp +22 -0
- package/lib/WPA/TypeAnalysis.cpp +1 -1
- package/lib/WPA/WPAPass.cpp +1 -1
- package/package.json +1 -1
|
@@ -1797,7 +1797,7 @@ Functions</h2></td></tr>
|
|
|
1797
1797
|
</table>
|
|
1798
1798
|
</div><div class="memdoc">
|
|
1799
1799
|
|
|
1800
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1800
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00049">49</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1801
1801
|
|
|
1802
1802
|
</div>
|
|
1803
1803
|
</div>
|
|
@@ -2101,7 +2101,7 @@ Functions</h2></td></tr>
|
|
|
2101
2101
|
</table>
|
|
2102
2102
|
</div><div class="memdoc">
|
|
2103
2103
|
|
|
2104
|
-
<p class="definition">Definition at line <a class="el" href="ContextDDA_8h_source.html#
|
|
2104
|
+
<p class="definition">Definition at line <a class="el" href="ContextDDA_8h_source.html#l00048">48</a> of file <a class="el" href="ContextDDA_8h_source.html">ContextDDA.h</a>.</p>
|
|
2105
2105
|
|
|
2106
2106
|
</div>
|
|
2107
2107
|
</div>
|
|
@@ -3011,7 +3011,7 @@ Functions</h2></td></tr>
|
|
|
3011
3011
|
</table>
|
|
3012
3012
|
</div><div class="memdoc">
|
|
3013
3013
|
|
|
3014
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#
|
|
3014
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#l00044">44</a> of file <a class="el" href="TCT_8h_source.html">TCT.h</a>.</p>
|
|
3015
3015
|
|
|
3016
3016
|
</div>
|
|
3017
3017
|
</div>
|
|
@@ -3027,7 +3027,7 @@ Functions</h2></td></tr>
|
|
|
3027
3027
|
</table>
|
|
3028
3028
|
</div><div class="memdoc">
|
|
3029
3029
|
|
|
3030
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#
|
|
3030
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#l00086">86</a> of file <a class="el" href="TCT_8h_source.html">TCT.h</a>.</p>
|
|
3031
3031
|
|
|
3032
3032
|
</div>
|
|
3033
3033
|
</div>
|
|
@@ -3044,7 +3044,7 @@ Functions</h2></td></tr>
|
|
|
3044
3044
|
</div><div class="memdoc">
|
|
3045
3045
|
<p>Pointer Analysis Call Graph used internally for various pointer analysis </p>
|
|
3046
3046
|
|
|
3047
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#
|
|
3047
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#l00136">136</a> of file <a class="el" href="TCT_8h_source.html">TCT.h</a>.</p>
|
|
3048
3048
|
|
|
3049
3049
|
</div>
|
|
3050
3050
|
</div>
|
|
@@ -3527,7 +3527,7 @@ Functions</h2></td></tr>
|
|
|
3527
3527
|
</table>
|
|
3528
3528
|
</div><div class="memdoc">
|
|
3529
3529
|
|
|
3530
|
-
<p class="definition">Definition at line <a class="el" href="FlowDDA_8h_source.html#
|
|
3530
|
+
<p class="definition">Definition at line <a class="el" href="FlowDDA_8h_source.html#l00047">47</a> of file <a class="el" href="FlowDDA_8h_source.html">FlowDDA.h</a>.</p>
|
|
3531
3531
|
|
|
3532
3532
|
</div>
|
|
3533
3533
|
</div>
|
|
@@ -3801,7 +3801,7 @@ template<typename Key , typename Value , typename Hash = Hash<Key>, ty
|
|
|
3801
3801
|
</table>
|
|
3802
3802
|
</div><div class="memdoc">
|
|
3803
3803
|
|
|
3804
|
-
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#
|
|
3804
|
+
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00048">48</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
3805
3805
|
|
|
3806
3806
|
</div>
|
|
3807
3807
|
</div>
|
|
@@ -3817,7 +3817,7 @@ template<typename Key , typename Value , typename Hash = Hash<Key>, ty
|
|
|
3817
3817
|
</table>
|
|
3818
3818
|
</div><div class="memdoc">
|
|
3819
3819
|
|
|
3820
|
-
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#
|
|
3820
|
+
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00051">51</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
3821
3821
|
|
|
3822
3822
|
</div>
|
|
3823
3823
|
</div>
|
|
@@ -3833,7 +3833,7 @@ template<typename Key , typename Value , typename Hash = Hash<Key>, ty
|
|
|
3833
3833
|
</table>
|
|
3834
3834
|
</div><div class="memdoc">
|
|
3835
3835
|
|
|
3836
|
-
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#
|
|
3836
|
+
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00052">52</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
3837
3837
|
|
|
3838
3838
|
</div>
|
|
3839
3839
|
</div>
|
|
@@ -5099,7 +5099,7 @@ template<typename Key , typename Hash = Hash<Key>, typename KeyEqual
|
|
|
5099
5099
|
<p>Abstract class of inclusion-based Pointer Analysis</p>
|
|
5100
5100
|
<p>Equivalence-based Pointer Analysis </p>
|
|
5101
5101
|
|
|
5102
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
5102
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00048">48</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
5103
5103
|
|
|
5104
5104
|
</div>
|
|
5105
5105
|
</div>
|
|
@@ -5670,7 +5670,7 @@ template<typename F , typename S > </div>
|
|
|
5670
5670
|
<div class="ttc" id="classSVF_1_1MSSADEF_html_ab3070e4293ceb5ca9c25702f76ac427c"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#ab3070e4293ceb5ca9c25702f76ac427c">SVF::MSSADEF::getMR</a></div><div class="ttdeci">const MemRegion * getMR() const</div><div class="ttdoc">Return memory region. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00354">MSSAMuChi.h:354</a></div></div>
|
|
5671
5671
|
<div class="ttc" id="classSVF_1_1MRVer_html_a170a933f25684bda23321ba05c7a7d88"><div class="ttname"><a href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">SVF::MRVer::getSSAVersion</a></div><div class="ttdeci">MRVERSION getSSAVersion() const</div><div class="ttdoc">Return SSA version. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00069">MSSAMuChi.h:69</a></div></div>
|
|
5672
5672
|
<div class="ttc" id="classSVF_1_1MRVer_html_a63bd0641be553860cc5f517634b65825"><div class="ttname"><a href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">SVF::MRVer::getMR</a></div><div class="ttdeci">const MemRegion * getMR() const</div><div class="ttdoc">Return the memory region. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00063">MSSAMuChi.h:63</a></div></div>
|
|
5673
|
-
<div class="ttc" id="classSVF_1_1MemRegion_html_adad8c2b08ab6a512f0c3aa90b4416f60"><div class="ttname"><a href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">SVF::MemRegion::dumpStr</a></div><div class="ttdeci">std::string dumpStr() const</div><div class="ttdoc">Dump string. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#
|
|
5673
|
+
<div class="ttc" id="classSVF_1_1MemRegion_html_adad8c2b08ab6a512f0c3aa90b4416f60"><div class="ttname"><a href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">SVF::MemRegion::dumpStr</a></div><div class="ttdeci">std::string dumpStr() const</div><div class="ttdoc">Dump string. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00093">MemRegion.h:93</a></div></div>
|
|
5674
5674
|
<div class="ttc" id="classSVF_1_1MRVer_html_a492211105abe8af8ed9ad7b30eabb852"><div class="ttname"><a href="classSVF_1_1MRVer.html#a492211105abe8af8ed9ad7b30eabb852">SVF::MRVer::getDef</a></div><div class="ttdeci">MSSADef * getDef() const</div><div class="ttdoc">Get MSSADef. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00075">MSSAMuChi.h:75</a></div></div>
|
|
5675
5675
|
</div><!-- fragment -->
|
|
5676
5676
|
</div>
|
|
@@ -80,7 +80,7 @@ Public Member Functions</h2></td></tr>
|
|
|
80
80
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
81
81
|
<div class="textblock"><p>add the hash function here to sort elements and remove and remove duplicated element in the set (binary tree comparision) </p>
|
|
82
82
|
|
|
83
|
-
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#
|
|
83
|
+
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00112">112</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
84
84
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
85
85
|
<a id="a3cd8165dfa543312d2b3bfa798b6154b"></a>
|
|
86
86
|
<h2 class="memtitle"><span class="permalink"><a href="#a3cd8165dfa543312d2b3bfa798b6154b">◆ </a></span>operator()()</h2>
|
|
@@ -116,8 +116,8 @@ Public Member Functions</h2></td></tr>
|
|
|
116
116
|
</table>
|
|
117
117
|
</div><div class="memdoc">
|
|
118
118
|
|
|
119
|
-
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#
|
|
120
|
-
<div class="fragment"><div class="line"><a name="
|
|
119
|
+
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00114">114</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
120
|
+
<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5">SVFUtil::cmpNodeBS</a>(lhs->getPointsTo(), rhs->getPointsTo());</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8f749354b7e882ef3e5bf5081fa715b5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5">SVF::SVFUtil::cmpNodeBS</a></div><div class="ttdeci">bool cmpNodeBS(const NodeBS &lpts, const NodeBS &rpts)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00123">SVFUtil.h:123</a></div></div>
|
|
121
121
|
</div><!-- fragment -->
|
|
122
122
|
</div>
|
|
123
123
|
</div>
|
|
@@ -81,7 +81,7 @@ Public Attributes</h2></td></tr>
|
|
|
81
81
|
</table>
|
|
82
82
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
83
83
|
<div class="textblock">
|
|
84
|
-
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#
|
|
84
|
+
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#l00246">246</a> of file <a class="el" href="VersionedFlowSensitive_8h_source.html">VersionedFlowSensitive.h</a>.</p>
|
|
85
85
|
</div><h2 class="groupheader">Member Data Documentation</h2>
|
|
86
86
|
<a id="a823afbcf2b99a38367b7bc8be17ff2ba"></a>
|
|
87
87
|
<h2 class="memtitle"><span class="permalink"><a href="#a823afbcf2b99a38367b7bc8be17ff2ba">◆ </a></span>index</h2>
|
|
@@ -95,7 +95,7 @@ Public Attributes</h2></td></tr>
|
|
|
95
95
|
</table>
|
|
96
96
|
</div><div class="memdoc">
|
|
97
97
|
|
|
98
|
-
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#
|
|
98
|
+
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#l00248">248</a> of file <a class="el" href="VersionedFlowSensitive_8h_source.html">VersionedFlowSensitive.h</a>.</p>
|
|
99
99
|
|
|
100
100
|
</div>
|
|
101
101
|
</div>
|
|
@@ -111,7 +111,7 @@ Public Attributes</h2></td></tr>
|
|
|
111
111
|
</table>
|
|
112
112
|
</div><div class="memdoc">
|
|
113
113
|
|
|
114
|
-
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#
|
|
114
|
+
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#l00249">249</a> of file <a class="el" href="VersionedFlowSensitive_8h_source.html">VersionedFlowSensitive.h</a>.</p>
|
|
115
115
|
|
|
116
116
|
</div>
|
|
117
117
|
</div>
|
|
@@ -127,7 +127,7 @@ Public Attributes</h2></td></tr>
|
|
|
127
127
|
</table>
|
|
128
128
|
</div><div class="memdoc">
|
|
129
129
|
|
|
130
|
-
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#
|
|
130
|
+
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#l00250">250</a> of file <a class="el" href="VersionedFlowSensitive_8h_source.html">VersionedFlowSensitive.h</a>.</p>
|
|
131
131
|
|
|
132
132
|
</div>
|
|
133
133
|
</div>
|
|
@@ -112,7 +112,7 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
112
112
|
|
|
113
113
|
<p>Write value flow graph into dot file for debugging </p>
|
|
114
114
|
|
|
115
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
115
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00624">624</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
116
116
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
117
117
|
<a id="a73a500d1bdff303590f9dc8786e1f8c0"></a>
|
|
118
118
|
<h2 class="memtitle"><span class="permalink"><a href="#a73a500d1bdff303590f9dc8786e1f8c0">◆ </a></span>ChildIteratorType</h2>
|
|
@@ -126,7 +126,7 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
126
126
|
</table>
|
|
127
127
|
</div><div class="memdoc">
|
|
128
128
|
|
|
129
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
129
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00628">628</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
130
130
|
|
|
131
131
|
</div>
|
|
132
132
|
</div>
|
|
@@ -142,7 +142,7 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
142
142
|
</table>
|
|
143
143
|
</div><div class="memdoc">
|
|
144
144
|
|
|
145
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
145
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00627">627</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
146
146
|
|
|
147
147
|
</div>
|
|
148
148
|
</div>
|
|
@@ -171,8 +171,8 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
171
171
|
</table>
|
|
172
172
|
</div><div class="memdoc">
|
|
173
173
|
|
|
174
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
175
|
-
<div class="fragment"><div class="line"><a name="
|
|
174
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00629">629</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
175
|
+
<div class="fragment"><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  :</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  DefaultDOTGraphTraits(isSimple)</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  {</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  }</div></div><!-- fragment -->
|
|
176
176
|
</div>
|
|
177
177
|
</div>
|
|
178
178
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
@@ -219,9 +219,9 @@ template<class EdgeIter > </div>
|
|
|
219
219
|
</div><div class="memdoc">
|
|
220
220
|
<p>black edge for direct call while two functions contain indirect calls will be label with red color </p>
|
|
221
221
|
|
|
222
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
223
|
-
<div class="fragment"><div class="line"><a name="
|
|
224
|
-
<div class="ttc" id="classSVF_1_1TCTEdge_html"><div class="ttname"><a href="classSVF_1_1TCTEdge.html">SVF::TCTEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#
|
|
222
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00660">660</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
223
|
+
<div class="fragment"><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  {</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <a class="code" href="classSVF_1_1TCTEdge.html">TCTEdge</a>* edge = csThreadTree-><a class="code" href="classSVF_1_1TCT.html#a7b40580939dc63f501a32571806c07bc">getGraphEdge</a>(node, *EI, TCTEdge::ThreadCreateEdge);</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=black"</span>;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  }</div><div class="ttc" id="classSVF_1_1TCT_html_a7b40580939dc63f501a32571806c07bc"><div class="ttname"><a href="classSVF_1_1TCT.html#a7b40580939dc63f501a32571806c07bc">SVF::TCT::getGraphEdge</a></div><div class="ttdeci">TCTEdge * getGraphEdge(TCTNode *src, TCTNode *dst, TCTEdge::CEDGEK kind)</div><div class="ttdoc">Get call graph edge via nodes. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8cpp_source.html#l00607">TCT.cpp:607</a></div></div>
|
|
224
|
+
<div class="ttc" id="classSVF_1_1TCTEdge_html"><div class="ttname"><a href="classSVF_1_1TCTEdge.html">SVF::TCTEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00051">TCT.h:51</a></div></div>
|
|
225
225
|
</div><!-- fragment -->
|
|
226
226
|
</div>
|
|
227
227
|
</div>
|
|
@@ -251,8 +251,8 @@ template<class EdgeIter > </div>
|
|
|
251
251
|
|
|
252
252
|
<p>Return name of the graph. </p>
|
|
253
253
|
|
|
254
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
255
|
-
<div class="fragment"><div class="line"><a name="
|
|
254
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00635">635</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
255
|
+
<div class="fragment"><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">return</span> <span class="stringliteral">"Thread Create Tree"</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  }</div></div><!-- fragment -->
|
|
256
256
|
</div>
|
|
257
257
|
</div>
|
|
258
258
|
<a id="a2b3151a123d6c22dc5d6fa81b3ea4a83"></a>
|
|
@@ -289,9 +289,9 @@ template<class EdgeIter > </div>
|
|
|
289
289
|
</table>
|
|
290
290
|
</div><div class="memdoc">
|
|
291
291
|
|
|
292
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
293
|
-
<div class="fragment"><div class="line"><a name="
|
|
294
|
-
<div class="ttc" id="classSVF_1_1TCTNode_html_a42dde4c3714cc5605f7c0e76cfd4a74c"><div class="ttname"><a href="classSVF_1_1TCTNode.html#a42dde4c3714cc5605f7c0e76cfd4a74c">SVF::TCTNode::isIncycle</a></div><div class="ttdeci">bool isIncycle() const</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#
|
|
292
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00645">645</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
293
|
+
<div class="fragment"><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> attr;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">if</span> (node-><a class="code" href="classSVF_1_1TCTNode.html#a4541cd85dcde2ce789ea411ebb1d89c7">isInloop</a>())</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  {</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  attr.append(<span class="stringliteral">" style=filled fillcolor=red"</span>);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  }</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (node-><a class="code" href="classSVF_1_1TCTNode.html#a42dde4c3714cc5605f7c0e76cfd4a74c">isIncycle</a>())</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  {</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  attr.append(<span class="stringliteral">" style=filled fillcolor=yellow"</span>);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  }</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  <span class="keywordflow">return</span> attr;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  }</div><div class="ttc" id="classSVF_1_1TCTNode_html_a4541cd85dcde2ce789ea411ebb1d89c7"><div class="ttname"><a href="classSVF_1_1TCTNode.html#a4541cd85dcde2ce789ea411ebb1d89c7">SVF::TCTNode::isInloop</a></div><div class="ttdeci">bool isInloop() const</div><div class="ttdoc">inloop, incycle attributes </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00110">TCT.h:110</a></div></div>
|
|
294
|
+
<div class="ttc" id="classSVF_1_1TCTNode_html_a42dde4c3714cc5605f7c0e76cfd4a74c"><div class="ttname"><a href="classSVF_1_1TCTNode.html#a42dde4c3714cc5605f7c0e76cfd4a74c">SVF::TCTNode::isIncycle</a></div><div class="ttdeci">bool isIncycle() const</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00114">TCT.h:114</a></div></div>
|
|
295
295
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
296
296
|
</div><!-- fragment -->
|
|
297
297
|
</div>
|
|
@@ -332,8 +332,8 @@ template<class EdgeIter > </div>
|
|
|
332
332
|
|
|
333
333
|
<p>Return function name;. </p>
|
|
334
334
|
|
|
335
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
336
|
-
<div class="fragment"><div class="line"><a name="
|
|
335
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00640">640</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
336
|
+
<div class="fragment"><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  {</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">return</span> std::to_string(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  }</div><div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
|
|
337
337
|
</div><!-- fragment -->
|
|
338
338
|
</div>
|
|
339
339
|
</div>
|
|
@@ -85,7 +85,7 @@ struct llvm::GraphTraits< Inverse< SVF::TCTNode * > ></h3>
|
|
|
85
85
|
|
|
86
86
|
<p>Inverse GraphTraits specializations for Value flow node, it is used for inverse traversal. </p>
|
|
87
87
|
|
|
88
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#
|
|
88
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#l00590">590</a> of file <a class="el" href="TCT_8h_source.html">TCT.h</a>.</p>
|
|
89
89
|
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
|
90
90
|
<li>/home/runner/work/SVF/SVF/include/MTA/<a class="el" href="TCT_8h_source.html">TCT.h</a></li>
|
|
91
91
|
</ul>
|
|
@@ -81,7 +81,7 @@ Inheritance diagram for llvm::GraphTraits< SVF::TCTNode * >:</div>
|
|
|
81
81
|
struct llvm::GraphTraits< SVF::TCTNode * ></h3>
|
|
82
82
|
|
|
83
83
|
|
|
84
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#
|
|
84
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#l00584">584</a> of file <a class="el" href="TCT_8h_source.html">TCT.h</a>.</p>
|
|
85
85
|
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
|
86
86
|
<li>/home/runner/work/SVF/SVF/include/MTA/<a class="el" href="TCT_8h_source.html">TCT.h</a></li>
|
|
87
87
|
</ul>
|
|
@@ -90,7 +90,7 @@ Public Types</h2></td></tr>
|
|
|
90
90
|
struct llvm::GraphTraits< SVF::TCT * ></h3>
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#
|
|
93
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#l00594">594</a> of file <a class="el" href="TCT_8h_source.html">TCT.h</a>.</p>
|
|
94
94
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
95
95
|
<a id="a064d2e7841d3ad3fce45f8b99f37001b"></a>
|
|
96
96
|
<h2 class="memtitle"><span class="permalink"><a href="#a064d2e7841d3ad3fce45f8b99f37001b">◆ </a></span>NodeRef</h2>
|
|
@@ -104,7 +104,7 @@ struct llvm::GraphTraits< SVF::TCT * ></h3>
|
|
|
104
104
|
</table>
|
|
105
105
|
</div><div class="memdoc">
|
|
106
106
|
|
|
107
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#
|
|
107
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8h_source.html#l00596">596</a> of file <a class="el" href="TCT_8h_source.html">TCT.h</a>.</p>
|
|
108
108
|
|
|
109
109
|
</div>
|
|
110
110
|
</div>
|
|
@@ -82,7 +82,7 @@ Public Member Functions</h2></td></tr>
|
|
|
82
82
|
struct std::hash< SVF::SVFGNodeLockSpan ></h3>
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#
|
|
85
|
+
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#l00260">260</a> of file <a class="el" href="FSMPTA_8h_source.html">FSMPTA.h</a>.</p>
|
|
86
86
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
87
87
|
<a id="a7854984f902d9a42c6d4e095de8464a7"></a>
|
|
88
88
|
<h2 class="memtitle"><span class="permalink"><a href="#a7854984f902d9a42c6d4e095de8464a7">◆ </a></span>operator()()</h2>
|
|
@@ -108,8 +108,8 @@ struct std::hash< SVF::SVFGNodeLockSpan ></h3>
|
|
|
108
108
|
</table>
|
|
109
109
|
</div><div class="memdoc">
|
|
110
110
|
|
|
111
|
-
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#
|
|
112
|
-
<div class="fragment"><div class="line"><a name="
|
|
111
|
+
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#l00262">262</a> of file <a class="el" href="FSMPTA_8h_source.html">FSMPTA.h</a>.</p>
|
|
112
|
+
<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  std::hash<SVF::StmtSVFGNode* >h;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classSVF_1_1StmtVFGNode.html">SVF::StmtSVFGNode</a>* node = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1StmtVFGNode.html">SVF::StmtSVFGNode</a>* <span class="keyword">></span> (cs.<a class="code" href="classSVF_1_1SVFGNodeLockSpan.html#ac6b8a2fd39afa60cdb8379c0377eb50f">getSVFGNode</a>());</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">return</span> h(node);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  }</div><div class="ttc" id="classSVF_1_1SVFGNodeLockSpan_html_ac6b8a2fd39afa60cdb8379c0377eb50f"><div class="ttname"><a href="classSVF_1_1SVFGNodeLockSpan.html#ac6b8a2fd39afa60cdb8379c0377eb50f">SVF::SVFGNodeLockSpan::getSVFGNode</a></div><div class="ttdeci">const StmtSVFGNode * getSVFGNode() const</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00081">FSMPTA.h:81</a></div></div>
|
|
113
113
|
<div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
|
|
114
114
|
</div><!-- fragment -->
|
|
115
115
|
</div>
|
|
@@ -220,7 +220,7 @@ Functions</h2></td></tr>
|
|
|
220
220
|
<div class="ttc" id="classSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00441">ICFG.cpp:441</a></div></div>
|
|
221
221
|
<div class="ttc" id="classSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
|
|
222
222
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html">SVF::SVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00059">SVFGBuilder.h:59</a></div></div>
|
|
223
|
-
<div class="ttc" id="classSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
223
|
+
<div class="ttc" id="classSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00150">Andersen.h:150</a></div></div>
|
|
224
224
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_accdd44093d6d145dc92edeaaff3f5732"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &arg_num, char **arg_value, std::vector< std::string > &moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00436">LLVMUtil.cpp:436</a></div></div>
|
|
225
225
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
226
226
|
<div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
|
|
@@ -118,7 +118,7 @@ $(function() {
|
|
|
118
118
|
<div class="ttc" id="SVFIRBuilder_8h_html"><div class="ttname"><a href="SVFIRBuilder_8h.html">SVFIRBuilder.h</a></div></div>
|
|
119
119
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00391">GenericGraph.h:391</a></div></div>
|
|
121
|
-
<div class="ttc" id="classSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
121
|
+
<div class="ttc" id="classSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00150">Andersen.h:150</a></div></div>
|
|
122
122
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_accdd44093d6d145dc92edeaaff3f5732"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &arg_num, char **arg_value, std::vector< std::string > &moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00436">LLVMUtil.cpp:436</a></div></div>
|
|
123
123
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
|
|
124
124
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
package/include/DDA/ContextDDA.h
CHANGED
|
@@ -1,8 +1,37 @@
|
|
|
1
|
+
//===- ContextDDA.h -- Context-sensitive demand-driven analysis-------------//
|
|
2
|
+
//
|
|
3
|
+
// SVF: Static Value-Flow Analysis
|
|
4
|
+
//
|
|
5
|
+
// Copyright (C) <2013-> <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
|
+
|
|
1
23
|
/*
|
|
2
24
|
* ContextDDA.h
|
|
3
25
|
*
|
|
4
26
|
* Created on: Aug 17, 2014
|
|
5
27
|
* Author: Yulei Sui
|
|
28
|
+
*
|
|
29
|
+
* The implementation is based on
|
|
30
|
+
* (1) Yulei Sui and Jingling Xue. "On-Demand Strong Update Analysis via Value-Flow Refinement".
|
|
31
|
+
* ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE'16)
|
|
32
|
+
*
|
|
33
|
+
* (2) Yulei Sui and Jingling Xue. "Value-Flow-Based Demand-Driven Pointer Analysis for C and C++".
|
|
34
|
+
* IEEE Transactions on Software Engineering (TSE'18)
|
|
6
35
|
*/
|
|
7
36
|
|
|
8
37
|
#ifndef ContextDDA_H_
|
package/include/DDA/DDAClient.h
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
//===- DDAClient.h -- Clients of demand-driven analysis-------------//
|
|
2
|
+
//
|
|
3
|
+
// SVF: Static Value-Flow Analysis
|
|
4
|
+
//
|
|
5
|
+
// Copyright (C) <2013-> <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
|
+
|
|
1
24
|
/*
|
|
2
25
|
* @file: DDAClient.h
|
|
3
26
|
* @author: yesen
|
package/include/DDA/DDAPass.h
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
//===- DDAPass.h -- Demand-driven analysis driver pass-------------//
|
|
2
|
+
//
|
|
3
|
+
// SVF: Static Value-Flow Analysis
|
|
4
|
+
//
|
|
5
|
+
// Copyright (C) <2013-> <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
|
+
|
|
1
23
|
/*
|
|
2
24
|
* @file: DDAPass.h
|
|
3
25
|
* @author: Yulei Sui
|
package/include/DDA/DDAStat.h
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
//===- DDAStat.h -- Statistics for demand-driven pass-------------//
|
|
2
|
+
//
|
|
3
|
+
// SVF: Static Value-Flow Analysis
|
|
4
|
+
//
|
|
5
|
+
// Copyright (C) <2013-> <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
|
+
|
|
1
23
|
/*
|
|
2
24
|
* DDAStat.h
|
|
3
25
|
*
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
//===- DDAVFSolver.h -- Demand-driven analysis value-flow solver------------//
|
|
2
|
+
//
|
|
3
|
+
// SVF: Static Value-Flow Analysis
|
|
4
|
+
//
|
|
5
|
+
// Copyright (C) <2013-> <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
|
+
|
|
1
23
|
/*
|
|
2
24
|
* DDAVFSolver.h
|
|
3
25
|
*
|
package/include/DDA/FlowDDA.h
CHANGED
|
@@ -1,8 +1,37 @@
|
|
|
1
|
+
//===- FlowDDA.h -- Flow-sensitive demand-driven analysis -------------//
|
|
2
|
+
//
|
|
3
|
+
// SVF: Static Value-Flow Analysis
|
|
4
|
+
//
|
|
5
|
+
// Copyright (C) <2013-> <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
|
+
|
|
1
23
|
/*
|
|
2
24
|
* FlowDDA.h
|
|
3
25
|
*
|
|
4
26
|
* Created on: Jun 30, 2014
|
|
5
27
|
* Author: Yulei Sui, Sen Ye
|
|
28
|
+
*
|
|
29
|
+
* The implementation is based on
|
|
30
|
+
* (1) Yulei Sui and Jingling Xue. "On-Demand Strong Update Analysis via Value-Flow Refinement".
|
|
31
|
+
* ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE'16)
|
|
32
|
+
*
|
|
33
|
+
* (2) Yulei Sui and Jingling Xue. "Value-Flow-Based Demand-Driven Pointer Analysis for C and C++".
|
|
34
|
+
* IEEE Transactions on Software Engineering (TSE'18)
|
|
6
35
|
*/
|
|
7
36
|
|
|
8
37
|
#ifndef FlowDDA_H_
|
package/include/MSSA/MSSAMuChi.h
CHANGED