svf-tools 1.0.342 → 1.0.346

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.
Files changed (420) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  3. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +9 -9
  4. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  5. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  6. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
  7. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  9. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
  10. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
  12. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  14. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
  15. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
  16. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  17. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -6
  18. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -11
  19. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +15 -15
  20. package/SVF-doxygen/html/html/ICFGNode_8h.html +7 -7
  21. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +69 -69
  22. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +45 -44
  24. package/SVF-doxygen/html/html/ICFG_8h_source.html +34 -34
  25. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
  26. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +6 -6
  27. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
  29. package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
  30. package/SVF-doxygen/html/html/MHP_8h_source.html +6 -6
  31. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  32. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  34. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +26 -26
  35. package/SVF-doxygen/html/html/MemRegion_8h_source.html +18 -18
  36. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/MemSSA_8h_source.html +12 -12
  38. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +41 -41
  39. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +47 -46
  40. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/PCG_8h_source.html +4 -4
  43. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +10 -10
  44. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -17
  45. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  47. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +16 -16
  48. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  49. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  50. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  51. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
  52. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +17 -17
  53. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  55. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +31 -31
  56. package/SVF-doxygen/html/html/SVFG_8h_source.html +27 -27
  57. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +13 -13
  59. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +9 -9
  60. package/SVF-doxygen/html/html/SVFIR_8h_source.html +31 -31
  61. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +14 -14
  62. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +7 -7
  63. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  64. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +4 -4
  65. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  66. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  68. package/SVF-doxygen/html/html/TCT_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +15 -15
  70. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +20 -20
  71. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  72. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
  73. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  75. package/SVF-doxygen/html/html/VFG_8cpp_source.html +19 -19
  76. package/SVF-doxygen/html/html/VFG_8h_source.html +19 -19
  77. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +6 -6
  78. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  79. package/SVF-doxygen/html/html/annotated.html +17 -17
  80. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
  81. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +23 -23
  82. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
  83. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +23 -23
  84. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
  85. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +22 -22
  86. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
  87. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +24 -24
  88. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient-members.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +7 -7
  90. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +12 -12
  91. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +51 -51
  92. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +12 -12
  93. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +32 -32
  94. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +12 -12
  95. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +32 -32
  96. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +12 -12
  97. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +32 -32
  98. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +12 -12
  99. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +32 -32
  100. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +12 -12
  101. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +34 -34
  102. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
  103. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +32 -32
  104. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +12 -12
  105. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +32 -32
  106. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +12 -12
  107. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +38 -38
  108. package/SVF-doxygen/html/html/classSVF_1_1CallCHI-members.html +3 -3
  109. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +22 -22
  110. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
  111. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +158 -0
  112. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +852 -0
  113. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.png +0 -0
  114. package/SVF-doxygen/html/html/classSVF_1_1CallMU-members.html +3 -3
  115. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +22 -22
  116. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +27 -27
  118. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +12 -12
  119. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +31 -31
  120. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +14 -14
  122. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +60 -60
  123. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver-members.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +16 -16
  125. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +21 -21
  126. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +51 -51
  127. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
  128. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  129. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +12 -12
  130. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +33 -33
  131. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
  132. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +20 -20
  133. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +11 -11
  134. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +52 -52
  135. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +12 -12
  136. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +45 -45
  137. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +12 -12
  138. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +33 -33
  139. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis-members.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +21 -21
  141. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
  142. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +19 -19
  143. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
  144. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +18 -18
  145. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +150 -0
  146. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +618 -0
  147. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.png +0 -0
  148. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +149 -0
  149. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +624 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.png +0 -0
  151. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient-members.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +12 -12
  153. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  155. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +144 -0
  156. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +413 -0
  157. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.png +0 -0
  158. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +3 -3
  159. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +11 -11
  160. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +22 -22
  161. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +191 -184
  162. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +4 -4
  163. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +69 -66
  164. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +9 -9
  165. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.png +0 -0
  166. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +11 -11
  167. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +30 -30
  168. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +3 -3
  169. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +21 -21
  170. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +51 -51
  171. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +144 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +399 -0
  173. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.png +0 -0
  174. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
  175. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +23 -23
  176. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +20 -20
  178. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +21 -21
  179. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +51 -51
  180. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +146 -0
  181. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +494 -0
  182. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.png +0 -0
  183. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
  184. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +61 -61
  185. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +14 -14
  186. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator-members.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -10
  188. package/SVF-doxygen/html/html/classSVF_1_1MHP-members.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +22 -22
  190. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +24 -24
  191. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +196 -196
  192. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  193. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  194. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
  195. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +10 -10
  196. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +77 -77
  197. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +5 -4
  198. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +43 -39
  199. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +90 -90
  200. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  202. package/SVF-doxygen/html/html/classSVF_1_1PCG-members.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +13 -13
  204. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +15 -15
  205. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +118 -118
  206. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +3 -3
  207. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +32 -32
  208. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +12 -12
  209. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +107 -107
  210. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +18 -18
  212. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +153 -0
  213. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +696 -0
  214. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.png +0 -0
  215. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +4 -4
  216. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +26 -26
  217. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +24 -24
  218. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +159 -159
  219. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  220. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +24 -24
  221. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +76 -76
  222. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +19 -19
  223. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +132 -132
  224. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
  225. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +58 -58
  226. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +4 -4
  227. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +20 -20
  228. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  230. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +1 -1
  231. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
  232. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +12 -12
  233. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +32 -32
  234. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +7 -7
  236. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  237. package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +22 -22
  239. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +4 -4
  240. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +15 -15
  241. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +4 -4
  242. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +15 -15
  243. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +40 -40
  244. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +220 -220
  245. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +10 -10
  246. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +3 -3
  247. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +11 -11
  248. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +3 -3
  249. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +11 -11
  250. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +12 -12
  251. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +41 -41
  252. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
  253. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
  254. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +96 -96
  255. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +12 -12
  256. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -39
  257. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
  258. package/SVF-doxygen/html/html/classes.html +16 -16
  259. package/SVF-doxygen/html/html/functions_a.html +59 -59
  260. package/SVF-doxygen/html/html/functions_c.html +65 -67
  261. package/SVF-doxygen/html/html/functions_eval_r.html +3 -0
  262. package/SVF-doxygen/html/html/functions_f.html +14 -14
  263. package/SVF-doxygen/html/html/functions_func.html +56 -56
  264. package/SVF-doxygen/html/html/functions_func_c.html +28 -28
  265. package/SVF-doxygen/html/html/functions_func_f.html +6 -6
  266. package/SVF-doxygen/html/html/functions_func_g.html +86 -86
  267. package/SVF-doxygen/html/html/functions_func_h.html +17 -17
  268. package/SVF-doxygen/html/html/functions_func_i.html +12 -12
  269. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  270. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  271. package/SVF-doxygen/html/html/functions_func_r.html +6 -6
  272. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  273. package/SVF-doxygen/html/html/functions_func_t.html +7 -7
  274. package/SVF-doxygen/html/html/functions_func_u.html +3 -3
  275. package/SVF-doxygen/html/html/functions_g.html +88 -88
  276. package/SVF-doxygen/html/html/functions_h.html +16 -16
  277. package/SVF-doxygen/html/html/functions_i.html +22 -22
  278. package/SVF-doxygen/html/html/functions_l.html +3 -3
  279. package/SVF-doxygen/html/html/functions_m.html +2 -2
  280. package/SVF-doxygen/html/html/functions_o.html +13 -13
  281. package/SVF-doxygen/html/html/functions_p.html +14 -14
  282. package/SVF-doxygen/html/html/functions_r.html +13 -12
  283. package/SVF-doxygen/html/html/functions_s.html +13 -13
  284. package/SVF-doxygen/html/html/functions_t.html +12 -14
  285. package/SVF-doxygen/html/html/functions_type.html +1 -1
  286. package/SVF-doxygen/html/html/functions_type_c.html +24 -24
  287. package/SVF-doxygen/html/html/functions_type_f.html +3 -3
  288. package/SVF-doxygen/html/html/functions_type_i.html +2 -2
  289. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  290. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  291. package/SVF-doxygen/html/html/functions_type_v.html +2 -2
  292. package/SVF-doxygen/html/html/functions_u.html +3 -3
  293. package/SVF-doxygen/html/html/functions_v.html +8 -8
  294. package/SVF-doxygen/html/html/functions_vars_a.html +2 -2
  295. package/SVF-doxygen/html/html/functions_vars_c.html +11 -11
  296. package/SVF-doxygen/html/html/functions_vars_f.html +5 -5
  297. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  298. package/SVF-doxygen/html/html/functions_vars_i.html +3 -3
  299. package/SVF-doxygen/html/html/functions_vars_r.html +1 -1
  300. package/SVF-doxygen/html/html/functions_w.html +9 -5
  301. package/SVF-doxygen/html/html/hierarchy.html +7 -7
  302. package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
  303. package/SVF-doxygen/html/html/search/all_1.js +58 -58
  304. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  305. package/SVF-doxygen/html/html/search/all_12.js +8 -7
  306. package/SVF-doxygen/html/html/search/all_13.js +11 -11
  307. package/SVF-doxygen/html/html/search/all_14.js +8 -8
  308. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  309. package/SVF-doxygen/html/html/search/all_16.js +4 -4
  310. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  311. package/SVF-doxygen/html/html/search/all_3.js +35 -34
  312. package/SVF-doxygen/html/html/search/all_6.js +12 -12
  313. package/SVF-doxygen/html/html/search/all_7.js +62 -61
  314. package/SVF-doxygen/html/html/search/all_8.js +17 -17
  315. package/SVF-doxygen/html/html/search/all_9.js +16 -16
  316. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  317. package/SVF-doxygen/html/html/search/all_d.js +5 -5
  318. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  319. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  320. package/SVF-doxygen/html/html/search/classes_2.js +1 -1
  321. package/SVF-doxygen/html/html/search/classes_5.js +2 -2
  322. package/SVF-doxygen/html/html/search/classes_6.js +1 -1
  323. package/SVF-doxygen/html/html/search/classes_8.js +2 -2
  324. package/SVF-doxygen/html/html/search/classes_e.js +1 -1
  325. package/SVF-doxygen/html/html/search/enumvalues_e.js +2 -1
  326. package/SVF-doxygen/html/html/search/functions_0.js +55 -55
  327. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  328. package/SVF-doxygen/html/html/search/functions_11.js +4 -4
  329. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  330. package/SVF-doxygen/html/html/search/functions_2.js +10 -10
  331. package/SVF-doxygen/html/html/search/functions_5.js +4 -4
  332. package/SVF-doxygen/html/html/search/functions_6.js +61 -61
  333. package/SVF-doxygen/html/html/search/functions_7.js +17 -17
  334. package/SVF-doxygen/html/html/search/functions_8.js +12 -12
  335. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  336. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  337. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  338. package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
  339. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  340. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
  341. package/SVF-doxygen/html/html/search/typedefs_2.js +21 -21
  342. package/SVF-doxygen/html/html/search/typedefs_5.js +3 -3
  343. package/SVF-doxygen/html/html/search/typedefs_8.js +2 -2
  344. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  345. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  346. package/SVF-doxygen/html/html/search/variables_12.js +1 -1
  347. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  348. package/SVF-doxygen/html/html/search/variables_3.js +4 -4
  349. package/SVF-doxygen/html/html/search/variables_6.js +5 -5
  350. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  351. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  352. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  353. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  354. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +22 -22
  355. package/include/DDA/ContextDDA.h +3 -3
  356. package/include/DDA/DDAClient.h +2 -2
  357. package/include/DDA/DDAVFSolver.h +2 -2
  358. package/include/DDA/FlowDDA.h +2 -2
  359. package/include/Graphs/ICFG.h +33 -33
  360. package/include/Graphs/ICFGNode.h +33 -33
  361. package/include/Graphs/ICFGStat.h +11 -11
  362. package/include/Graphs/PTACallGraph.h +19 -19
  363. package/include/Graphs/SVFG.h +16 -16
  364. package/include/Graphs/SVFGNode.h +14 -14
  365. package/include/Graphs/SVFGOPT.h +1 -1
  366. package/include/Graphs/ThreadCallGraph.h +25 -25
  367. package/include/Graphs/VFG.h +10 -10
  368. package/include/Graphs/VFGNode.h +8 -8
  369. package/include/MSSA/MSSAMuChi.h +6 -6
  370. package/include/MSSA/MemRegion.h +24 -24
  371. package/include/MSSA/MemSSA.h +10 -10
  372. package/include/MTA/LockResultValidator.h +2 -2
  373. package/include/MTA/MHP.h +4 -4
  374. package/include/MTA/PCG.h +1 -1
  375. package/include/MTA/TCT.h +2 -2
  376. package/include/MemoryModel/PointerAnalysis.h +12 -12
  377. package/include/MemoryModel/SVFIR.h +21 -21
  378. package/include/MemoryModel/SVFStatements.h +11 -11
  379. package/include/SABER/LeakChecker.h +4 -4
  380. package/include/SABER/ProgSlice.h +2 -2
  381. package/include/SABER/SaberCheckerAPI.h +4 -4
  382. package/include/SABER/SaberSVFGBuilder.h +1 -1
  383. package/include/SABER/SrcSnkDDA.h +1 -1
  384. package/include/SVF-FE/ICFGBuilder.h +4 -4
  385. package/include/SVF-FE/SVFIRBuilder.h +5 -5
  386. package/include/Util/NodeIDAllocator.h +3 -0
  387. package/lib/DDA/ContextDDA.cpp +3 -3
  388. package/lib/DDA/DDAClient.cpp +1 -1
  389. package/lib/DDA/FlowDDA.cpp +1 -1
  390. package/lib/Graphs/ICFG.cpp +55 -50
  391. package/lib/Graphs/PTACallGraph.cpp +5 -5
  392. package/lib/Graphs/SVFG.cpp +7 -7
  393. package/lib/Graphs/ThreadCallGraph.cpp +6 -6
  394. package/lib/Graphs/VFG.cpp +6 -6
  395. package/lib/MSSA/MemRegion.cpp +17 -17
  396. package/lib/MSSA/MemSSA.cpp +3 -3
  397. package/lib/MTA/LockAnalysis.cpp +4 -4
  398. package/lib/MTA/MHP.cpp +5 -5
  399. package/lib/MTA/MTAResultValidator.cpp +1 -1
  400. package/lib/MTA/PCG.cpp +1 -1
  401. package/lib/MemoryModel/PointerAnalysis.cpp +10 -10
  402. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  403. package/lib/MemoryModel/SVFIR.cpp +5 -5
  404. package/lib/SABER/DoubleFreeChecker.cpp +1 -1
  405. package/lib/SABER/FileChecker.cpp +2 -2
  406. package/lib/SABER/LeakChecker.cpp +8 -8
  407. package/lib/SABER/ProgSlice.cpp +2 -2
  408. package/lib/SVF-FE/CallGraphBuilder.cpp +4 -4
  409. package/lib/SVF-FE/Graph2Json.cpp +5 -5
  410. package/lib/SVF-FE/ICFGBuilder.cpp +31 -25
  411. package/lib/SVF-FE/SVFIRBuilder.cpp +8 -8
  412. package/lib/Util/NodeIDAllocator.cpp +12 -0
  413. package/lib/Util/Options.cpp +2 -1
  414. package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
  415. package/lib/WPA/Andersen.cpp +3 -3
  416. package/lib/WPA/FlowSensitive.cpp +2 -2
  417. package/lib/WPA/TypeAnalysis.cpp +1 -1
  418. package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
  419. package/lib/WPA/WPAPass.cpp +4 -4
  420. package/package.json +1 -1
@@ -105,10 +105,10 @@ public:
105
105
  /// Indirect call edges type, map a callsite to a set of callees
106
106
  //@{
107
107
  typedef llvm::AliasAnalysis AliasAnalysis;
108
- typedef Set<const CallBlockNode*> CallSiteSet;
108
+ typedef Set<const CallICFGNode*> CallSiteSet;
109
109
  typedef SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap;
110
110
  typedef Set<const SVFFunction*> FunctionSet;
111
- typedef OrderedMap<const CallBlockNode*, FunctionSet> CallEdgeMap;
111
+ typedef OrderedMap<const CallICFGNode*, FunctionSet> CallEdgeMap;
112
112
  typedef SCCDetection<PTACallGraph*> CallGraphSCC;
113
113
  typedef Set<const GlobalValue*> VTableSet;
114
114
  typedef Set<const SVFFunction*> VFunSet;
@@ -263,7 +263,7 @@ public:
263
263
  }
264
264
 
265
265
  /// Print targets of a function pointer
266
- void printIndCSTargets(const CallBlockNode* cs, const FunctionSet& targets);
266
+ void printIndCSTargets(const CallICFGNode* cs, const FunctionSet& targets);
267
267
 
268
268
  // Debug purpose
269
269
  //@{
@@ -282,7 +282,7 @@ protected:
282
282
  return pag->getIndirectCallsites();
283
283
  }
284
284
  /// Return function pointer PAGNode at a callsite cs
285
- inline NodeID getFunPtr(const CallBlockNode* cs) const
285
+ inline NodeID getFunPtr(const CallICFGNode* cs) const
286
286
  {
287
287
  return pag->getFunPtr(cs);
288
288
  }
@@ -389,20 +389,20 @@ public:
389
389
  {
390
390
  return getPTACallGraph()->getIndCallMap();
391
391
  }
392
- inline bool hasIndCSCallees(const CallBlockNode* cs) const
392
+ inline bool hasIndCSCallees(const CallICFGNode* cs) const
393
393
  {
394
394
  return getPTACallGraph()->hasIndCSCallees(cs);
395
395
  }
396
- inline const FunctionSet& getIndCSCallees(const CallBlockNode* cs) const
396
+ inline const FunctionSet& getIndCSCallees(const CallICFGNode* cs) const
397
397
  {
398
398
  return getPTACallGraph()->getIndCSCallees(cs);
399
399
  }
400
400
  //@}
401
401
 
402
402
  /// Resolve indirect call edges
403
- virtual void resolveIndCalls(const CallBlockNode* cs, const PointsTo& target, CallEdgeMap& newEdges,LLVMCallGraph* callgraph = nullptr);
403
+ virtual void resolveIndCalls(const CallICFGNode* cs, const PointsTo& target, CallEdgeMap& newEdges,LLVMCallGraph* callgraph = nullptr);
404
404
  /// Match arguments for callsite at caller and callee
405
- bool matchArgs(const CallBlockNode* cs, const SVFFunction* callee);
405
+ bool matchArgs(const CallICFGNode* cs, const SVFFunction* callee);
406
406
 
407
407
  /// CallGraph SCC related methods
408
408
  //@{
@@ -446,10 +446,10 @@ public:
446
446
  return chgraph;
447
447
  }
448
448
 
449
- void getVFnsFromCHA(const CallBlockNode* cs, VFunSet &vfns);
450
- void getVFnsFromPts(const CallBlockNode* cs, const PointsTo &target, VFunSet &vfns);
451
- void connectVCallToVFns(const CallBlockNode* cs, const VFunSet &vfns, CallEdgeMap& newEdges);
452
- virtual void resolveCPPIndCalls(const CallBlockNode* cs,
449
+ void getVFnsFromCHA(const CallICFGNode* cs, VFunSet &vfns);
450
+ void getVFnsFromPts(const CallICFGNode* cs, const PointsTo &target, VFunSet &vfns);
451
+ void connectVCallToVFns(const CallICFGNode* cs, const VFunSet &vfns, CallEdgeMap& newEdges);
452
+ virtual void resolveCPPIndCalls(const CallICFGNode* cs,
453
453
  const PointsTo& target,
454
454
  CallEdgeMap& newEdges);
455
455
 
@@ -49,16 +49,16 @@ friend class PAGBuilderFromFile;
49
49
  friend class TypeBasedHeapCloning;
50
50
 
51
51
  public:
52
- typedef Set<const CallBlockNode*> CallSiteSet;
53
- typedef OrderedMap<const CallBlockNode*,NodeID> CallSiteToFunPtrMap;
52
+ typedef Set<const CallICFGNode*> CallSiteSet;
53
+ typedef OrderedMap<const CallICFGNode*,NodeID> CallSiteToFunPtrMap;
54
54
  typedef Map<NodeID,CallSiteSet> FunPtrToCallSitesMap;
55
55
  typedef Map<NodeID,NodeBS> MemObjToFieldsMap;
56
56
  typedef std::vector<const SVFStmt*> SVFStmtList;
57
57
  typedef std::vector<const SVFVar*> SVFVarList;
58
58
  typedef Map<const SVFVar*,PhiStmt*> PHINodeMap;
59
59
  typedef Map<const SVFFunction*,SVFVarList> FunToArgsListMap;
60
- typedef Map<const CallBlockNode*,SVFVarList> CSToArgsListMap;
61
- typedef Map<const RetBlockNode*,const SVFVar*> CSToRetMap;
60
+ typedef Map<const CallICFGNode*,SVFVarList> CSToArgsListMap;
61
+ typedef Map<const RetICFGNode*,const SVFVar*> CSToRetMap;
62
62
  typedef Map<const SVFFunction*,const SVFVar*> FunToRetMap;
63
63
  typedef Map<const SVFFunction*,SVFStmtSet> FunToPAGEdgeSetMap;
64
64
  typedef Map<const ICFGNode*,SVFStmtList> ICFGNode2SVFStmtsMap;
@@ -229,7 +229,7 @@ public:
229
229
  return it->second;
230
230
  }
231
231
  /// Callsite has argument list
232
- inline bool hasCallSiteArgsMap(const CallBlockNode* cs) const
232
+ inline bool hasCallSiteArgsMap(const CallICFGNode* cs) const
233
233
  {
234
234
  return (callSiteArgsListMap.find(cs) != callSiteArgsListMap.end());
235
235
  }
@@ -239,7 +239,7 @@ public:
239
239
  return callSiteArgsListMap;
240
240
  }
241
241
  /// Get callsite argument list
242
- inline const SVFVarList& getCallSiteArgsList(const CallBlockNode* cs) const
242
+ inline const SVFVarList& getCallSiteArgsList(const CallICFGNode* cs) const
243
243
  {
244
244
  CSToArgsListMap::const_iterator it = callSiteArgsListMap.find(cs);
245
245
  assert(it != callSiteArgsListMap.end() && "this call site doesn't have arguments");
@@ -251,13 +251,13 @@ public:
251
251
  return callSiteRetMap;
252
252
  }
253
253
  /// Get callsite return
254
- inline const SVFVar* getCallSiteRet(const RetBlockNode* cs) const
254
+ inline const SVFVar* getCallSiteRet(const RetICFGNode* cs) const
255
255
  {
256
256
  CSToRetMap::const_iterator it = callSiteRetMap.find(cs);
257
257
  assert(it != callSiteRetMap.end() && "this call site doesn't have return");
258
258
  return it->second;
259
259
  }
260
- inline bool callsiteHasRet(const RetBlockNode* cs) const
260
+ inline bool callsiteHasRet(const RetICFGNode* cs) const
261
261
  {
262
262
  return callSiteRetMap.find(cs) != callSiteRetMap.end();
263
263
  }
@@ -313,7 +313,7 @@ public:
313
313
  {
314
314
  return indCallSiteToFunPtrMap;
315
315
  }
316
- inline NodeID getFunPtr(const CallBlockNode* cs) const
316
+ inline NodeID getFunPtr(const CallICFGNode* cs) const
317
317
  {
318
318
  CallSiteToFunPtrMap::const_iterator it = indCallSiteToFunPtrMap.find(cs);
319
319
  assert(it!=indCallSiteToFunPtrMap.end() && "indirect callsite not have a function pointer?");
@@ -325,7 +325,7 @@ public:
325
325
  assert(it!=funPtrToCallSitesMap.end() && "function pointer not used at any indirect callsite?");
326
326
  return it->second;
327
327
  }
328
- inline bool isIndirectCallSites(const CallBlockNode* cs) const
328
+ inline bool isIndirectCallSites(const CallICFGNode* cs) const
329
329
  {
330
330
  return (indCallSiteToFunPtrMap.find(cs) != indCallSiteToFunPtrMap.end());
331
331
  }
@@ -493,31 +493,31 @@ private:
493
493
  /// Add function arguments
494
494
  inline void addFunArgs(const SVFFunction* fun, const SVFVar* arg)
495
495
  {
496
- FunEntryBlockNode* funEntryBlockNode = icfg->getFunEntryBlockNode(fun);
496
+ FunEntryICFGNode* funEntryBlockNode = icfg->getFunEntryBlockNode(fun);
497
497
  funEntryBlockNode->addFormalParms(arg);
498
498
  funArgsListMap[fun].push_back(arg);
499
499
  }
500
500
  /// Add function returns
501
501
  inline void addFunRet(const SVFFunction* fun, const SVFVar* ret)
502
502
  {
503
- FunExitBlockNode* funExitBlockNode = icfg->getFunExitBlockNode(fun);
503
+ FunExitICFGNode* funExitBlockNode = icfg->getFunExitBlockNode(fun);
504
504
  funExitBlockNode->addFormalRet(ret);
505
505
  funRetMap[fun] = ret;
506
506
  }
507
507
  /// Add callsite arguments
508
- inline void addCallSiteArgs(CallBlockNode* callBlockNode,const SVFVar* arg)
508
+ inline void addCallSiteArgs(CallICFGNode* callBlockNode,const SVFVar* arg)
509
509
  {
510
510
  callBlockNode->addActualParms(arg);
511
511
  callSiteArgsListMap[callBlockNode].push_back(arg);
512
512
  }
513
513
  /// Add callsite returns
514
- inline void addCallSiteRets(RetBlockNode* retBlockNode,const SVFVar* arg)
514
+ inline void addCallSiteRets(RetICFGNode* retBlockNode,const SVFVar* arg)
515
515
  {
516
516
  retBlockNode->addActualRet(arg);
517
517
  callSiteRetMap[retBlockNode]= arg;
518
518
  }
519
519
  /// Add indirect callsites
520
- inline void addIndirectCallsites(const CallBlockNode* cs,NodeID funPtr)
520
+ inline void addIndirectCallsites(const CallICFGNode* cs,NodeID funPtr)
521
521
  {
522
522
  bool added = indCallSiteToFunPtrMap.insert(std::make_pair(cs,funPtr)).second;
523
523
  funPtrToCallSitesMap[funPtr].insert(cs);
@@ -618,7 +618,7 @@ private:
618
618
  globSVFStmtSet.insert(edge);
619
619
  }
620
620
  /// Add callsites
621
- inline void addCallSite(const CallBlockNode* call)
621
+ inline void addCallSite(const CallICFGNode* call)
622
622
  {
623
623
  callSiteSet.insert(call);
624
624
  }
@@ -641,11 +641,11 @@ private:
641
641
  /// Add Load edge
642
642
  LoadStmt* addLoadStmt(NodeID src, NodeID dst);
643
643
  /// Add Store edge
644
- StoreStmt* addStoreStmt(NodeID src, NodeID dst, const IntraBlockNode* val);
644
+ StoreStmt* addStoreStmt(NodeID src, NodeID dst, const IntraICFGNode* val);
645
645
  /// Add Call edge
646
- CallPE* addCallPE(NodeID src, NodeID dst, const CallBlockNode* cs);
646
+ CallPE* addCallPE(NodeID src, NodeID dst, const CallICFGNode* cs);
647
647
  /// Add Return edge
648
- RetPE* addRetPE(NodeID src, NodeID dst, const CallBlockNode* cs);
648
+ RetPE* addRetPE(NodeID src, NodeID dst, const CallICFGNode* cs);
649
649
  /// Add Gep edge
650
650
  GepStmt* addGepStmt(NodeID src, NodeID dst, const LocationSet& ls, bool constGep);
651
651
  /// Add Offset(Gep) edge
@@ -653,9 +653,9 @@ private:
653
653
  /// Add Variant(Gep) edge
654
654
  VariantGepStmt* addVariantGepStmt(NodeID src, NodeID dst, const LocationSet& ls);
655
655
  /// Add Thread fork edge for parameter passing
656
- TDForkPE* addThreadForkPE(NodeID src, NodeID dst, const CallBlockNode* cs);
656
+ TDForkPE* addThreadForkPE(NodeID src, NodeID dst, const CallICFGNode* cs);
657
657
  /// Add Thread join edge for parameter passing
658
- TDJoinPE* addThreadJoinPE(NodeID src, NodeID dst, const CallBlockNode* cs);
658
+ TDJoinPE* addThreadJoinPE(NodeID src, NodeID dst, const CallICFGNode* cs);
659
659
  //@}
660
660
 
661
661
  /// Set a pointer points-to black hole (e.g. int2ptr)
@@ -361,7 +361,7 @@ public:
361
361
  //@}
362
362
 
363
363
  /// constructor
364
- StoreStmt(SVFVar* s, SVFVar* d, const IntraBlockNode* st) :
364
+ StoreStmt(SVFVar* s, SVFVar* d, const IntraICFGNode* st) :
365
365
  AssignStmt(s, d, makeEdgeFlagWithStoreInst(SVFStmt::Store, st))
366
366
  {
367
367
  }
@@ -546,7 +546,7 @@ private:
546
546
  CallPE(const CallPE &); ///< place holder
547
547
  void operator=(const CallPE &); ///< place holder
548
548
 
549
- const CallBlockNode* inst; ///< llvm instruction for this call
549
+ const CallICFGNode* inst; ///< llvm instruction for this call
550
550
  public:
551
551
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
552
552
  //@{
@@ -567,18 +567,18 @@ public:
567
567
  //@}
568
568
 
569
569
  /// constructor
570
- CallPE(SVFVar* s, SVFVar* d, const CallBlockNode* i, GEdgeKind k = SVFStmt::Call) :
570
+ CallPE(SVFVar* s, SVFVar* d, const CallICFGNode* i, GEdgeKind k = SVFStmt::Call) :
571
571
  AssignStmt(s,d,makeEdgeFlagWithCallInst(k,i)), inst(i)
572
572
  {
573
573
  }
574
574
 
575
575
  /// Get method for the call instruction
576
576
  //@{
577
- inline const CallBlockNode* getCallInst() const
577
+ inline const CallICFGNode* getCallInst() const
578
578
  {
579
579
  return inst;
580
580
  }
581
- inline const CallBlockNode* getCallSite() const
581
+ inline const CallICFGNode* getCallSite() const
582
582
  {
583
583
  return inst;
584
584
  }
@@ -598,7 +598,7 @@ private:
598
598
  RetPE(const RetPE &); ///< place holder
599
599
  void operator=(const RetPE &); ///< place holder
600
600
 
601
- const CallBlockNode* inst; /// the callsite instruction return to
601
+ const CallICFGNode* inst; /// the callsite instruction return to
602
602
  public:
603
603
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
604
604
  //@{
@@ -619,18 +619,18 @@ public:
619
619
  //@}
620
620
 
621
621
  /// constructor
622
- RetPE(SVFVar* s, SVFVar* d, const CallBlockNode* i, GEdgeKind k = SVFStmt::Ret) :
622
+ RetPE(SVFVar* s, SVFVar* d, const CallICFGNode* i, GEdgeKind k = SVFStmt::Ret) :
623
623
  AssignStmt(s,d,makeEdgeFlagWithCallInst(k,i)), inst(i)
624
624
  {
625
625
  }
626
626
 
627
627
  /// Get method for call instruction at caller
628
628
  //@{
629
- inline const CallBlockNode* getCallInst() const
629
+ inline const CallICFGNode* getCallInst() const
630
630
  {
631
631
  return inst;
632
632
  }
633
- inline const CallBlockNode* getCallSite() const
633
+ inline const CallICFGNode* getCallSite() const
634
634
  {
635
635
  return inst;
636
636
  }
@@ -999,7 +999,7 @@ public:
999
999
  //@}
1000
1000
 
1001
1001
  /// constructor
1002
- TDForkPE(SVFVar* s, SVFVar* d, const CallBlockNode* i) :
1002
+ TDForkPE(SVFVar* s, SVFVar* d, const CallICFGNode* i) :
1003
1003
  CallPE(s,d,i,SVFStmt::ThreadFork)
1004
1004
  {
1005
1005
  }
@@ -1037,7 +1037,7 @@ public:
1037
1037
  //@}
1038
1038
 
1039
1039
  /// Constructor
1040
- TDJoinPE(SVFVar* s, SVFVar* d, const CallBlockNode* i) :
1040
+ TDJoinPE(SVFVar* s, SVFVar* d, const CallICFGNode* i) :
1041
1041
  RetPE(s,d,i,SVFStmt::ThreadJoin)
1042
1042
  {
1043
1043
  }
@@ -43,8 +43,8 @@ class LeakChecker : public SrcSnkDDA
43
43
  {
44
44
 
45
45
  public:
46
- typedef Map<const SVFGNode*,const CallBlockNode*> SVFGNodeToCSIDMap;
47
- typedef FIFOWorkList<const CallBlockNode*> CSWorkList;
46
+ typedef Map<const SVFGNode*,const CallICFGNode*> SVFGNodeToCSIDMap;
47
+ typedef FIFOWorkList<const CallICFGNode*> CSWorkList;
48
48
  typedef ProgSlice::VFWorkList WorkList;
49
49
  typedef NodeBS SVFGNodeBS;
50
50
  enum LEAK_TYPE
@@ -104,11 +104,11 @@ protected:
104
104
 
105
105
  /// Record a source to its callsite
106
106
  //@{
107
- inline void addSrcToCSID(const SVFGNode* src, const CallBlockNode* cs)
107
+ inline void addSrcToCSID(const SVFGNode* src, const CallICFGNode* cs)
108
108
  {
109
109
  srcToCSIDMap[src] = cs;
110
110
  }
111
- inline const CallBlockNode* getSrcCSID(const SVFGNode* src)
111
+ inline const CallICFGNode* getSrcCSID(const SVFGNode* src)
112
112
  {
113
113
  SVFGNodeToCSIDMap::iterator it =srcToCSIDMap.find(src);
114
114
  assert(it!=srcToCSIDMap.end() && "source node not at a callsite??");
@@ -162,8 +162,8 @@ public:
162
162
 
163
163
  /// Get callsite ID and get returnsiteID from SVFGEdge
164
164
  //@{
165
- const CallBlockNode* getCallSite(const SVFGEdge* edge) const;
166
- const CallBlockNode* getRetSite(const SVFGEdge* edge) const;
165
+ const CallICFGNode* getCallSite(const SVFGEdge* edge) const;
166
+ const CallICFGNode* getRetSite(const SVFGEdge* edge) const;
167
167
  //@}
168
168
 
169
169
  /// Condition operations
@@ -105,7 +105,7 @@ public:
105
105
  {
106
106
  return getType(SVFUtil::getCallee(inst)) == CK_ALLOC;
107
107
  }
108
- inline bool isMemAlloc(const CallBlockNode* cs) const
108
+ inline bool isMemAlloc(const CallICFGNode* cs) const
109
109
  {
110
110
  return isMemAlloc(cs->getCallSite());
111
111
  }
@@ -121,7 +121,7 @@ public:
121
121
  {
122
122
  return getType(SVFUtil::getCallee(inst)) == CK_FREE;
123
123
  }
124
- inline bool isMemDealloc(const CallBlockNode* cs) const
124
+ inline bool isMemDealloc(const CallICFGNode* cs) const
125
125
  {
126
126
  return isMemDealloc(cs->getCallSite());
127
127
  }
@@ -137,7 +137,7 @@ public:
137
137
  {
138
138
  return getType(SVFUtil::getCallee(inst)) == CK_FOPEN;
139
139
  }
140
- inline bool isFOpen(const CallBlockNode* cs) const
140
+ inline bool isFOpen(const CallICFGNode* cs) const
141
141
  {
142
142
  return isFOpen(cs->getCallSite());
143
143
  }
@@ -153,7 +153,7 @@ public:
153
153
  {
154
154
  return getType(SVFUtil::getCallee(inst)) == CK_FCLOSE;
155
155
  }
156
- inline bool isFClose(const CallBlockNode* cs) const
156
+ inline bool isFClose(const CallICFGNode* cs) const
157
157
  {
158
158
  return isFClose(cs->getCallSite());
159
159
  }
@@ -57,7 +57,7 @@ public:
57
57
  }
58
58
 
59
59
  /// Add ActualParmVFGNode
60
- inline void addActualParmVFGNode(const PAGNode* pagNode, const CallBlockNode* cs)
60
+ inline void addActualParmVFGNode(const PAGNode* pagNode, const CallICFGNode* cs)
61
61
  {
62
62
  svfg->addActualParmVFGNode(pagNode, cs);
63
63
  }
@@ -53,7 +53,7 @@ public:
53
53
  typedef CxtDPItem DPIm;
54
54
  typedef Set<DPIm> DPImSet; ///< dpitem set
55
55
  typedef Map<const SVFGNode*, DPImSet> SVFGNodeToDPItemsMap; ///< map a SVFGNode to its visited dpitems
56
- typedef Set<const CallBlockNode*> CallSiteSet;
56
+ typedef Set<const CallICFGNode*> CallSiteSet;
57
57
  typedef NodeBS SVFGNodeBS;
58
58
  typedef ProgSlice::VFWorkList WorkList;
59
59
 
@@ -69,7 +69,7 @@ private:
69
69
  void connectGlobalToProgEntry(SVFModule* svfModule);
70
70
 
71
71
  /// Add/Get an inter block ICFGNode
72
- InterBlockNode* getOrAddInterBlockICFGNode(const Instruction* inst);
72
+ InterICFGNode* getOrAddInterBlockICFGNode(const Instruction* inst);
73
73
 
74
74
  /// Add/Get a basic block ICFGNode
75
75
  inline ICFGNode* getOrAddBlockICFGNode(const Instruction* inst)
@@ -84,18 +84,18 @@ private:
84
84
  void addICFGInterEdges(const Instruction* cs, const SVFFunction* callee);
85
85
 
86
86
  /// Add a call node
87
- inline CallBlockNode* getOrAddCallICFGNode(const Instruction* cs)
87
+ inline CallICFGNode* getOrAddCallICFGNode(const Instruction* cs)
88
88
  {
89
89
  return icfg->getCallBlockNode(cs);
90
90
  }
91
91
  /// Add a return node
92
- inline RetBlockNode* getOrAddRetICFGNode(const Instruction* cs)
92
+ inline RetICFGNode* getOrAddRetICFGNode(const Instruction* cs)
93
93
  {
94
94
  return icfg->getRetBlockNode(cs);
95
95
  }
96
96
 
97
97
  /// Add and get IntraBlock ICFGNode
98
- IntraBlockNode* getOrAddIntraBlockICFGNode(const Instruction* inst)
98
+ IntraICFGNode* getOrAddIntraBlockICFGNode(const Instruction* inst)
99
99
  {
100
100
  return icfg->getIntraBlockNode(inst);
101
101
  }
@@ -343,7 +343,7 @@ public:
343
343
  /// Add Store edge
344
344
  inline StoreStmt* addStoreEdge(NodeID src, NodeID dst)
345
345
  {
346
- IntraBlockNode* node;
346
+ IntraICFGNode* node;
347
347
  if(const Instruction* inst = SVFUtil::dyn_cast<Instruction>(curVal))
348
348
  node = pag->getICFG()->getIntraBlockNode(inst);
349
349
  else
@@ -353,14 +353,14 @@ public:
353
353
  return edge;
354
354
  }
355
355
  /// Add Call edge
356
- inline CallPE* addCallEdge(NodeID src, NodeID dst, const CallBlockNode* cs)
356
+ inline CallPE* addCallEdge(NodeID src, NodeID dst, const CallICFGNode* cs)
357
357
  {
358
358
  CallPE *edge = pag->addCallPE(src, dst, cs);
359
359
  setCurrentBBAndValueForPAGEdge(edge);
360
360
  return edge;
361
361
  }
362
362
  /// Add Return edge
363
- inline RetPE* addRetEdge(NodeID src, NodeID dst, const CallBlockNode* cs)
363
+ inline RetPE* addRetEdge(NodeID src, NodeID dst, const CallICFGNode* cs)
364
364
  {
365
365
  RetPE *edge = pag->addRetPE(src, dst, cs);
366
366
  setCurrentBBAndValueForPAGEdge(edge);
@@ -388,14 +388,14 @@ public:
388
388
  return edge;
389
389
  }
390
390
  /// Add Thread fork edge for parameter passing
391
- inline TDForkPE* addThreadForkEdge(NodeID src, NodeID dst, const CallBlockNode* cs)
391
+ inline TDForkPE* addThreadForkEdge(NodeID src, NodeID dst, const CallICFGNode* cs)
392
392
  {
393
393
  TDForkPE *edge = pag->addThreadForkPE(src, dst, cs);
394
394
  setCurrentBBAndValueForPAGEdge(edge);
395
395
  return edge;
396
396
  }
397
397
  /// Add Thread join edge for parameter passing
398
- inline TDJoinPE* addThreadJoinEdge(NodeID src, NodeID dst, const CallBlockNode* cs)
398
+ inline TDJoinPE* addThreadJoinEdge(NodeID src, NodeID dst, const CallICFGNode* cs)
399
399
  {
400
400
  TDJoinPE *edge = pag->addThreadJoinPE(src, dst, cs);
401
401
  setCurrentBBAndValueForPAGEdge(edge);
@@ -27,6 +27,9 @@ public:
27
27
  /// If [****...*****] is the space of unsigned integers, we allocate as,
28
28
  /// [ssssooooooo...vvvvvvv] (o = object, v = value, s = special).
29
29
  DENSE,
30
+ /// Like dense, but with order flipped:
31
+ /// [ssssvvvvvvv...ooooooo]
32
+ REVERSE_DENSE,
30
33
  /// Allocate objects objects and values sequentially, intermixed.
31
34
  SEQ,
32
35
  /// Allocate values and objects as they come in with a single counter.
@@ -164,7 +164,7 @@ CxtPtSet ContextDDA::processGepPts(const GepSVFGNode* gep, const CxtPtSet& srcPt
164
164
  return tmpDstPts;
165
165
  }
166
166
 
167
- bool ContextDDA::testIndCallReachability(CxtLocDPItem& dpm, const SVFFunction* callee, const CallBlockNode* cs)
167
+ bool ContextDDA::testIndCallReachability(CxtLocDPItem& dpm, const SVFFunction* callee, const CallICFGNode* cs)
168
168
  {
169
169
  if(getPAG()->isIndirectCallSites(cs))
170
170
  {
@@ -194,7 +194,7 @@ CallSiteID ContextDDA::getCSIDAtCall(CxtLocDPItem&, const SVFGEdge* edge)
194
194
  else
195
195
  svfg_csId = SVFUtil::cast<CallIndSVFGEdge>(edge)->getCallSiteId();
196
196
 
197
- const CallBlockNode* cbn = getSVFG()->getCallSite(svfg_csId);
197
+ const CallICFGNode* cbn = getSVFG()->getCallSite(svfg_csId);
198
198
  const SVFFunction* callee = edge->getDstNode()->getFun();
199
199
 
200
200
  if(getPTACallGraph()->hasCallSiteID(cbn,callee))
@@ -218,7 +218,7 @@ CallSiteID ContextDDA::getCSIDAtRet(CxtLocDPItem&, const SVFGEdge* edge)
218
218
  else
219
219
  svfg_csId = SVFUtil::cast<RetIndSVFGEdge>(edge)->getCallSiteId();
220
220
 
221
- const CallBlockNode* cbn = getSVFG()->getCallSite(svfg_csId);
221
+ const CallICFGNode* cbn = getSVFG()->getCallSite(svfg_csId);
222
222
  const SVFFunction* callee = edge->getSrcNode()->getFun();
223
223
 
224
224
  if(getPTACallGraph()->hasCallSiteID(cbn,callee))
@@ -95,7 +95,7 @@ void FunptrDDAClient::performStat(PointerAnalysis* pta)
95
95
  const PointsTo& anderPts = ander->getPts(vtptr);
96
96
 
97
97
  PTACallGraph* callgraph = ander->getPTACallGraph();
98
- const CallBlockNode* cbn = nIter->second;
98
+ const CallICFGNode* cbn = nIter->second;
99
99
 
100
100
  if(!callgraph->hasIndCSCallees(cbn))
101
101
  {
@@ -59,7 +59,7 @@ void FlowDDA::handleOutOfBudgetDpm(const LocDPItem& dpm)
59
59
  bool FlowDDA::testIndCallReachability(LocDPItem&, const SVFFunction* callee, CallSiteID csId)
60
60
  {
61
61
 
62
- const CallBlockNode* cbn = getSVFG()->getCallSite(csId);
62
+ const CallICFGNode* cbn = getSVFG()->getCallSite(csId);
63
63
 
64
64
  if(getPAG()->isIndirectCallSites(cbn))
65
65
  {