svf-tools 1.0.343 → 1.0.347

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 +8 -8
  19. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +12 -12
  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 +36 -36
  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 +184 -184
  162. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +4 -4
  163. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +57 -57
  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 +8 -8
  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 +45 -45
  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 +18 -18
  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
@@ -831,16 +831,16 @@ public:
831
831
  class ActualParmVFGNode : public ArgumentVFGNode
832
832
  {
833
833
  private:
834
- const CallBlockNode* cs;
834
+ const CallICFGNode* cs;
835
835
  public:
836
836
  /// Constructor
837
- ActualParmVFGNode(NodeID id, const PAGNode* n, const CallBlockNode* c) :
837
+ ActualParmVFGNode(NodeID id, const PAGNode* n, const CallICFGNode* c) :
838
838
  ArgumentVFGNode(id, n, AParm), cs(c)
839
839
  {
840
840
  }
841
841
 
842
842
  /// Return callsite
843
- inline const CallBlockNode* getCallSite() const
843
+ inline const CallICFGNode* getCallSite() const
844
844
  {
845
845
  return cs;
846
846
  }
@@ -948,7 +948,7 @@ public:
948
948
  class ActualRetVFGNode: public ArgumentVFGNode
949
949
  {
950
950
  private:
951
- const CallBlockNode* cs;
951
+ const CallICFGNode* cs;
952
952
 
953
953
  ActualRetVFGNode(); ///< place holder
954
954
  ActualRetVFGNode(const ActualRetVFGNode &); ///< place holder
@@ -956,12 +956,12 @@ private:
956
956
 
957
957
  public:
958
958
  /// Constructor
959
- ActualRetVFGNode(NodeID id, const PAGNode* n, const CallBlockNode* c) :
959
+ ActualRetVFGNode(NodeID id, const PAGNode* n, const CallICFGNode* c) :
960
960
  ArgumentVFGNode(id, n, ARet), cs(c)
961
961
  {
962
962
  }
963
963
  /// Return callsite
964
- inline const CallBlockNode* getCallSite() const
964
+ inline const CallICFGNode* getCallSite() const
965
965
  {
966
966
  return cs;
967
967
  }
@@ -1090,7 +1090,7 @@ public:
1090
1090
  return fun;
1091
1091
  }
1092
1092
 
1093
- inline const CallBlockNode* getCallSite() const
1093
+ inline const CallICFGNode* getCallSite() const
1094
1094
  {
1095
1095
  assert(isActualRetPHI() && "expect a actual return phi");
1096
1096
  return callInst;
@@ -1120,7 +1120,7 @@ public:
1120
1120
 
1121
1121
  private:
1122
1122
  const SVFFunction* fun;
1123
- const CallBlockNode* callInst;
1123
+ const CallICFGNode* callInst;
1124
1124
  };
1125
1125
 
1126
1126
 
@@ -222,12 +222,12 @@ class CallMU : public MSSAMU<Cond>
222
222
  {
223
223
 
224
224
  private:
225
- const CallBlockNode* callsite;
225
+ const CallICFGNode* callsite;
226
226
 
227
227
  public:
228
228
  /// Constructor/Destructor for MU
229
229
  //@{
230
- CallMU(const CallBlockNode* cs, const MemRegion* m, Cond c = true) :
230
+ CallMU(const CallICFGNode* cs, const MemRegion* m, Cond c = true) :
231
231
  MSSAMU<Cond>(MSSAMU<Cond>::CallMSSAMU,m,c), callsite(cs)
232
232
  {
233
233
  }
@@ -238,7 +238,7 @@ public:
238
238
  //@}
239
239
 
240
240
  /// Return callsite
241
- inline const CallBlockNode* getCallSite() const
241
+ inline const CallICFGNode* getCallSite() const
242
242
  {
243
243
  return callsite;
244
244
  }
@@ -521,11 +521,11 @@ template<class Cond>
521
521
  class CallCHI : public MSSACHI<Cond>
522
522
  {
523
523
  private:
524
- const CallBlockNode* callsite;
524
+ const CallICFGNode* callsite;
525
525
  public:
526
526
  /// Constructors for StoreCHI
527
527
  //@{
528
- CallCHI(const CallBlockNode* cs, const MemRegion* m, Cond c = true) :
528
+ CallCHI(const CallICFGNode* cs, const MemRegion* m, Cond c = true) :
529
529
  MSSACHI<Cond>(MSSADEF::CallMSSACHI,m,c), callsite(cs)
530
530
  {
531
531
  }
@@ -541,7 +541,7 @@ public:
541
541
  }
542
542
 
543
543
  /// Return callsite
544
- inline const CallBlockNode* getCallSite() const
544
+ inline const CallICFGNode* getCallSite() const
545
545
  {
546
546
  return callsite;
547
547
  }
@@ -148,14 +148,14 @@ public:
148
148
  //@{
149
149
  typedef Map<const LoadStmt*, MRSet> LoadsToMRsMap;
150
150
  typedef Map<const StoreStmt*, MRSet> StoresToMRsMap;
151
- typedef Map<const CallBlockNode*, MRSet> CallSiteToMRsMap;
151
+ typedef Map<const CallICFGNode*, MRSet> CallSiteToMRsMap;
152
152
  //@}
153
153
 
154
154
  /// Map loads/stores/callsites to their cpts set
155
155
  //@{
156
156
  typedef Map<const LoadStmt*, NodeBS> LoadsToPointsToMap;
157
157
  typedef Map<const StoreStmt*, NodeBS> StoresToPointsToMap;
158
- typedef Map<const CallBlockNode*, NodeBS> CallSiteToPointsToMap;
158
+ typedef Map<const CallICFGNode*, NodeBS> CallSiteToPointsToMap;
159
159
  //@}
160
160
 
161
161
  /// Maps Mod-Ref analysis
@@ -163,7 +163,7 @@ public:
163
163
  /// Map a function to its indirect refs/mods of memory objects
164
164
  typedef Map<const SVFFunction*, NodeBS> FunToNodeBSMap;
165
165
  /// Map a callsite to its indirect refs/mods of memory objects
166
- typedef Map<const CallBlockNode*, NodeBS> CallSiteToNodeBSMap;
166
+ typedef Map<const CallICFGNode*, NodeBS> CallSiteToNodeBSMap;
167
167
  //@}
168
168
 
169
169
  typedef Map<NodeID, NodeBS> NodeToPTSSMap;
@@ -242,18 +242,18 @@ private:
242
242
  void destroy();
243
243
 
244
244
  //Get all objects might pass into callee from a callsite
245
- void collectCallSitePts(const CallBlockNode* cs);
245
+ void collectCallSitePts(const CallICFGNode* cs);
246
246
 
247
247
  //Recursive collect points-to chain
248
248
  NodeBS& CollectPtsChain(NodeID id);
249
249
 
250
250
  /// Return the pts chain of all callsite arguments
251
- inline NodeBS& getCallSiteArgsPts(const CallBlockNode* cs)
251
+ inline NodeBS& getCallSiteArgsPts(const CallICFGNode* cs)
252
252
  {
253
253
  return csToCallSiteArgsPtsMap[cs];
254
254
  }
255
255
  /// Return the pts chain of the return parameter of the callsite
256
- inline NodeBS& getCallSiteRetPts(const CallBlockNode* cs)
256
+ inline NodeBS& getCallSiteRetPts(const CallICFGNode* cs)
257
257
  {
258
258
  return csToCallSiteRetPtsMap[cs];
259
259
  }
@@ -329,7 +329,7 @@ protected:
329
329
  virtual void modRefAnalysis(PTACallGraphNode* callGraphNode, WorkList& worklist);
330
330
 
331
331
  /// Get Mod-Ref of a callee function
332
- virtual bool handleCallsiteModRef(NodeBS& mod, NodeBS& ref, const CallBlockNode* cs, const SVFFunction* fun);
332
+ virtual bool handleCallsiteModRef(NodeBS& mod, NodeBS& ref, const CallICFGNode* cs, const SVFFunction* fun);
333
333
 
334
334
 
335
335
  /// Add cpts to store/load
@@ -346,12 +346,12 @@ protected:
346
346
  funToPointsToMap[fun].insert(cpts);
347
347
  addRefSideEffectOfFunction(fun,cpts);
348
348
  }
349
- inline void addCPtsToCallSiteRefs(NodeBS& cpts, const CallBlockNode* cs)
349
+ inline void addCPtsToCallSiteRefs(NodeBS& cpts, const CallICFGNode* cs)
350
350
  {
351
351
  callsiteToRefPointsToMap[cs] |= cpts;
352
352
  funToPointsToMap[cs->getCaller()].insert(cpts);
353
353
  }
354
- inline void addCPtsToCallSiteMods(NodeBS& cpts, const CallBlockNode* cs)
354
+ inline void addCPtsToCallSiteMods(NodeBS& cpts, const CallICFGNode* cs)
355
355
  {
356
356
  callsiteToModPointsToMap[cs] |= cpts;
357
357
  funToPointsToMap[cs->getCaller()].insert(cpts);
@@ -376,9 +376,9 @@ protected:
376
376
  /// Add indirect def an memory object in the function
377
377
  void addModSideEffectOfFunction(const SVFFunction* fun, const NodeBS& mods);
378
378
  /// Add indirect uses an memory object in the function
379
- bool addRefSideEffectOfCallSite(const CallBlockNode* cs, const NodeBS& refs);
379
+ bool addRefSideEffectOfCallSite(const CallICFGNode* cs, const NodeBS& refs);
380
380
  /// Add indirect def an memory object in the function
381
- bool addModSideEffectOfCallSite(const CallBlockNode* cs, const NodeBS& mods);
381
+ bool addModSideEffectOfCallSite(const CallICFGNode* cs, const NodeBS& mods);
382
382
 
383
383
  /// Get indirect refs of a function
384
384
  inline const NodeBS& getRefSideEffectOfFunction(const SVFFunction* fun)
@@ -391,22 +391,22 @@ protected:
391
391
  return funToModsMap[fun];
392
392
  }
393
393
  /// Get indirect refs of a callsite
394
- inline const NodeBS& getRefSideEffectOfCallSite(const CallBlockNode* cs)
394
+ inline const NodeBS& getRefSideEffectOfCallSite(const CallICFGNode* cs)
395
395
  {
396
396
  return csToRefsMap[cs];
397
397
  }
398
398
  /// Get indirect mods of a callsite
399
- inline const NodeBS& getModSideEffectOfCallSite(const CallBlockNode* cs)
399
+ inline const NodeBS& getModSideEffectOfCallSite(const CallICFGNode* cs)
400
400
  {
401
401
  return csToModsMap[cs];
402
402
  }
403
403
  /// Has indirect refs of a callsite
404
- inline bool hasRefSideEffectOfCallSite(const CallBlockNode* cs)
404
+ inline bool hasRefSideEffectOfCallSite(const CallICFGNode* cs)
405
405
  {
406
406
  return csToRefsMap.find(cs) != csToRefsMap.end();
407
407
  }
408
408
  /// Has indirect mods of a callsite
409
- inline bool hasModSideEffectOfCallSite(const CallBlockNode* cs)
409
+ inline bool hasModSideEffectOfCallSite(const CallICFGNode* cs)
410
410
  {
411
411
  return csToModsMap.find(cs) != csToModsMap.end();
412
412
  }
@@ -448,19 +448,19 @@ public:
448
448
  {
449
449
  return storesToMRsMap[store];
450
450
  }
451
- inline bool hasRefMRSet(const CallBlockNode* cs)
451
+ inline bool hasRefMRSet(const CallICFGNode* cs)
452
452
  {
453
453
  return callsiteToRefMRsMap.find(cs)!=callsiteToRefMRsMap.end();
454
454
  }
455
- inline bool hasModMRSet(const CallBlockNode* cs)
455
+ inline bool hasModMRSet(const CallICFGNode* cs)
456
456
  {
457
457
  return callsiteToModMRsMap.find(cs)!=callsiteToModMRsMap.end();
458
458
  }
459
- inline MRSet& getCallSiteRefMRSet(const CallBlockNode* cs)
459
+ inline MRSet& getCallSiteRefMRSet(const CallICFGNode* cs)
460
460
  {
461
461
  return callsiteToRefMRsMap[cs];
462
462
  }
463
- inline MRSet& getCallSiteModMRSet(const CallBlockNode* cs)
463
+ inline MRSet& getCallSiteModMRSet(const CallICFGNode* cs)
464
464
  {
465
465
  return callsiteToModMRsMap[cs];
466
466
  }
@@ -473,11 +473,11 @@ public:
473
473
  /// getModRefInfo APIs
474
474
  //@{
475
475
  /// Collect mod ref for external callsite other than heap alloc external call
476
- NodeBS getModInfoForCall(const CallBlockNode* cs);
477
- NodeBS getRefInfoForCall(const CallBlockNode* cs);
478
- ModRefInfo getModRefInfo(const CallBlockNode* cs);
479
- ModRefInfo getModRefInfo(const CallBlockNode* cs, const Value* V);
480
- ModRefInfo getModRefInfo(const CallBlockNode* cs1, const CallBlockNode* cs2);
476
+ NodeBS getModInfoForCall(const CallICFGNode* cs);
477
+ NodeBS getRefInfoForCall(const CallICFGNode* cs);
478
+ ModRefInfo getModRefInfo(const CallICFGNode* cs);
479
+ ModRefInfo getModRefInfo(const CallICFGNode* cs, const Value* V);
480
+ ModRefInfo getModRefInfo(const CallICFGNode* cs1, const CallICFGNode* cs2);
481
481
  //@}
482
482
 
483
483
  };
@@ -73,8 +73,8 @@ public:
73
73
  //@{
74
74
  typedef Map<const LoadStmt*, MUSet> LoadToMUSetMap;
75
75
  typedef Map<const StoreStmt*, CHISet> StoreToChiSetMap;
76
- typedef Map<const CallBlockNode*, MUSet> CallSiteToMUSetMap;
77
- typedef Map<const CallBlockNode*, CHISet> CallSiteToCHISetMap;
76
+ typedef Map<const CallICFGNode*, MUSet> CallSiteToMUSetMap;
77
+ typedef Map<const CallICFGNode*, CHISet> CallSiteToCHISetMap;
78
78
  typedef Map<const BasicBlock*, PHISet> BBToPhiSetMap;
79
79
  //@}
80
80
 
@@ -190,12 +190,12 @@ private:
190
190
  for (MRSet::iterator iter = mrSet.begin(), eiter = mrSet.end(); iter != eiter; ++iter)
191
191
  AddStoreCHI(bb,store,*iter);
192
192
  }
193
- inline void AddCallSiteMU(const CallBlockNode* cs, const MRSet& mrSet)
193
+ inline void AddCallSiteMU(const CallICFGNode* cs, const MRSet& mrSet)
194
194
  {
195
195
  for (MRSet::iterator iter = mrSet.begin(), eiter = mrSet.end(); iter != eiter; ++iter)
196
196
  AddCallSiteMU(cs,*iter);
197
197
  }
198
- inline void AddCallSiteCHI(const CallBlockNode* cs, const MRSet& mrSet)
198
+ inline void AddCallSiteCHI(const CallICFGNode* cs, const MRSet& mrSet)
199
199
  {
200
200
  for (MRSet::iterator iter = mrSet.begin(), eiter = mrSet.end(); iter != eiter; ++iter)
201
201
  AddCallSiteCHI(cs,*iter);
@@ -218,13 +218,13 @@ private:
218
218
  collectRegUses(mr);
219
219
  collectRegDefs(bb,mr);
220
220
  }
221
- inline void AddCallSiteMU(const CallBlockNode* cs, const MemRegion* mr)
221
+ inline void AddCallSiteMU(const CallICFGNode* cs, const MemRegion* mr)
222
222
  {
223
223
  CALLMU* mu = new CALLMU(cs, mr);
224
224
  callsiteToMuSetMap[cs].insert(mu);
225
225
  collectRegUses(mr);
226
226
  }
227
- inline void AddCallSiteCHI(const CallBlockNode* cs, const MemRegion* mr)
227
+ inline void AddCallSiteCHI(const CallICFGNode* cs, const MemRegion* mr)
228
228
  {
229
229
  CALLCHI* chi = new CALLCHI(cs, mr);
230
230
  callsiteToChiSetMap[cs].insert(chi);
@@ -352,11 +352,11 @@ public:
352
352
  else
353
353
  return false;
354
354
  }
355
- inline bool hasMU(const CallBlockNode* cs) const
355
+ inline bool hasMU(const CallICFGNode* cs) const
356
356
  {
357
357
  return callsiteToMuSetMap.find(cs)!=callsiteToMuSetMap.end();
358
358
  }
359
- inline bool hasCHI(const CallBlockNode* cs) const
359
+ inline bool hasCHI(const CallICFGNode* cs) const
360
360
  {
361
361
  return callsiteToChiSetMap.find(cs)!=callsiteToChiSetMap.end();
362
362
  }
@@ -393,11 +393,11 @@ public:
393
393
  {
394
394
  return store2ChiSetMap[st];
395
395
  }
396
- inline MUSet& getMUSet(const CallBlockNode* cs)
396
+ inline MUSet& getMUSet(const CallICFGNode* cs)
397
397
  {
398
398
  return callsiteToMuSetMap[cs];
399
399
  }
400
- inline CHISet& getCHISet(const CallBlockNode* cs)
400
+ inline CHISet& getCHISet(const CallICFGNode* cs)
401
401
  {
402
402
  return callsiteToChiSetMap[cs];
403
403
  }
@@ -33,8 +33,8 @@ public:
33
33
  return _mod;
34
34
  }
35
35
  private:
36
- // Get CallBlockNode
37
- inline CallBlockNode* getCBN(const Instruction* inst) {
36
+ // Get CallICFGNode
37
+ inline CallICFGNode* getCBN(const Instruction* inst) {
38
38
  return _la->getTCT()->getCallBlockNode(inst);
39
39
  }
40
40
  const Instruction *getPreviousMemoryAccessInst( const Instruction *I) {
package/include/MTA/MHP.h CHANGED
@@ -61,8 +61,8 @@ public:
61
61
  return tct;
62
62
  }
63
63
 
64
- // Get CallBlockNode
65
- inline CallBlockNode* getCBN(const Instruction* inst) {
64
+ // Get CallICFGNode
65
+ inline CallICFGNode* getCBN(const Instruction* inst) {
66
66
  return tct->getCallBlockNode(inst);
67
67
  }
68
68
 
@@ -379,8 +379,8 @@ private:
379
379
  {
380
380
  return tct->getPTA()->alias(getForkedThread(forkSite), getJoinedThread(joinSite)) && isSameSCEV(forkSite,joinSite);
381
381
  }
382
- // Get CallBlockNode
383
- inline CallBlockNode* getCBN(const Instruction* inst) {
382
+ // Get CallICFGNode
383
+ inline CallICFGNode* getCBN(const Instruction* inst) {
384
384
  return tct->getCallBlockNode(inst);
385
385
  }
386
386
  /// Mark thread flags for cxtStmt
package/include/MTA/PCG.h CHANGED
@@ -123,7 +123,7 @@ public:
123
123
  {
124
124
  }
125
125
 
126
- CallBlockNode* getCallBlockNode(const Instruction* inst) {
126
+ CallICFGNode* getCallBlockNode(const Instruction* inst) {
127
127
  return pta->getICFG()->getCallBlockNode(inst);
128
128
  }
129
129
  const SVFFunction* getSVFFun(const Function* fun) const {
package/include/MTA/TCT.h CHANGED
@@ -147,8 +147,8 @@ public:
147
147
  {
148
148
  destroy();
149
149
  }
150
- /// Get CallBlockNode given inst
151
- CallBlockNode* getCallBlockNode(const Instruction* inst) {
150
+ /// Get CallICFGNode given inst
151
+ CallICFGNode* getCallBlockNode(const Instruction* inst) {
152
152
  return pta->getICFG()->getCallBlockNode(inst);
153
153
  }
154
154
  /// Get SVFFuntion given Function
@@ -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)