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
@@ -38,7 +38,7 @@ namespace SVF
38
38
  {
39
39
 
40
40
  class ICFGNode;
41
- class RetBlockNode;
41
+ class RetICFGNode;
42
42
  class CallPE;
43
43
  class RetPE;
44
44
  class SVFStmt;
@@ -139,18 +139,18 @@ protected:
139
139
  /*!
140
140
  * Unique ICFG node stands for all global initializations
141
141
  */
142
- class GlobalBlockNode : public ICFGNode
142
+ class GlobalICFGNode : public ICFGNode
143
143
  {
144
144
 
145
145
  public:
146
- GlobalBlockNode(NodeID id) : ICFGNode(id, GlobalBlock)
146
+ GlobalICFGNode(NodeID id) : ICFGNode(id, GlobalBlock)
147
147
  {
148
148
  bb = nullptr;
149
149
  }
150
150
 
151
151
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
152
152
  //@{
153
- static inline bool classof(const GlobalBlockNode *)
153
+ static inline bool classof(const GlobalICFGNode *)
154
154
  {
155
155
  return true;
156
156
  }
@@ -172,13 +172,13 @@ public:
172
172
  /*!
173
173
  * ICFG node stands for a program statement
174
174
  */
175
- class IntraBlockNode : public ICFGNode
175
+ class IntraICFGNode : public ICFGNode
176
176
  {
177
177
  private:
178
178
  const Instruction *inst;
179
179
 
180
180
  public:
181
- IntraBlockNode(NodeID id, const Instruction *i) : ICFGNode(id, IntraBlock), inst(i)
181
+ IntraICFGNode(NodeID id, const Instruction *i) : ICFGNode(id, IntraBlock), inst(i)
182
182
  {
183
183
  fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(inst->getFunction());
184
184
  bb = inst->getParent();
@@ -191,7 +191,7 @@ public:
191
191
 
192
192
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
193
193
  //@{
194
- static inline bool classof(const IntraBlockNode *)
194
+ static inline bool classof(const IntraICFGNode *)
195
195
  {
196
196
  return true;
197
197
  }
@@ -210,18 +210,18 @@ public:
210
210
  const std::string toString() const;
211
211
  };
212
212
 
213
- class InterBlockNode : public ICFGNode
213
+ class InterICFGNode : public ICFGNode
214
214
  {
215
215
 
216
216
  public:
217
217
  /// Constructor
218
- InterBlockNode(NodeID id, ICFGNodeK k) : ICFGNode(id, k)
218
+ InterICFGNode(NodeID id, ICFGNodeK k) : ICFGNode(id, k)
219
219
  {
220
220
  }
221
221
 
222
222
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
223
223
  //@{
224
- static inline bool classof(const InterBlockNode *)
224
+ static inline bool classof(const InterICFGNode *)
225
225
  {
226
226
  return true;
227
227
  }
@@ -248,7 +248,7 @@ public:
248
248
  /*!
249
249
  * Function entry ICFGNode containing a set of FormalParmVFGNodes of a function
250
250
  */
251
- class FunEntryBlockNode : public InterBlockNode
251
+ class FunEntryICFGNode : public InterICFGNode
252
252
  {
253
253
 
254
254
  public:
@@ -256,7 +256,7 @@ public:
256
256
  private:
257
257
  FormalParmNodeVec FPNodes;
258
258
  public:
259
- FunEntryBlockNode(NodeID id, const SVFFunction* f);
259
+ FunEntryICFGNode(NodeID id, const SVFFunction* f);
260
260
 
261
261
  /// Return function
262
262
  inline const SVFFunction* getFun() const
@@ -278,12 +278,12 @@ public:
278
278
 
279
279
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
280
280
  //@{
281
- static inline bool classof(const FunEntryBlockNode *)
281
+ static inline bool classof(const FunEntryICFGNode *)
282
282
  {
283
283
  return true;
284
284
  }
285
285
 
286
- static inline bool classof(const InterBlockNode *node)
286
+ static inline bool classof(const InterICFGNode *node)
287
287
  {
288
288
  return node->getNodeKind() == FunEntryBlock;
289
289
  }
@@ -305,14 +305,14 @@ public:
305
305
  /*!
306
306
  * Function exit ICFGNode containing (at most one) FormalRetVFGNodes of a function
307
307
  */
308
- class FunExitBlockNode : public InterBlockNode
308
+ class FunExitICFGNode : public InterICFGNode
309
309
  {
310
310
 
311
311
  private:
312
312
  const SVFFunction* fun;
313
313
  const SVFVar *formalRet;
314
314
  public:
315
- FunExitBlockNode(NodeID id, const SVFFunction* f);
315
+ FunExitICFGNode(NodeID id, const SVFFunction* f);
316
316
 
317
317
  /// Return function
318
318
  inline const SVFFunction* getFun() const
@@ -334,7 +334,7 @@ public:
334
334
 
335
335
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
336
336
  //@{
337
- static inline bool classof(const FunEntryBlockNode *)
337
+ static inline bool classof(const FunEntryICFGNode *)
338
338
  {
339
339
  return true;
340
340
  }
@@ -344,7 +344,7 @@ public:
344
344
  return node->getNodeKind() == FunExitBlock;
345
345
  }
346
346
 
347
- static inline bool classof(const InterBlockNode *node)
347
+ static inline bool classof(const InterICFGNode *node)
348
348
  {
349
349
  return node->getNodeKind() == FunExitBlock;
350
350
  }
@@ -361,17 +361,17 @@ public:
361
361
  /*!
362
362
  * Call ICFGNode containing a set of ActualParmVFGNodes at a callsite
363
363
  */
364
- class CallBlockNode : public InterBlockNode
364
+ class CallICFGNode : public InterICFGNode
365
365
  {
366
366
 
367
367
  public:
368
368
  typedef std::vector<const SVFVar *> ActualParmNodeVec;
369
369
  private:
370
370
  const Instruction* cs;
371
- const RetBlockNode* ret;
371
+ const RetICFGNode* ret;
372
372
  ActualParmNodeVec APNodes;
373
373
  public:
374
- CallBlockNode(NodeID id, const Instruction* c) : InterBlockNode(id, FunCallBlock), cs(c), ret(nullptr)
374
+ CallICFGNode(NodeID id, const Instruction* c) : InterICFGNode(id, FunCallBlock), cs(c), ret(nullptr)
375
375
  {
376
376
  fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(cs->getFunction());
377
377
  bb = cs->getParent();
@@ -384,14 +384,14 @@ public:
384
384
  }
385
385
 
386
386
  /// Return callsite
387
- inline const RetBlockNode* getRetBlockNode() const
387
+ inline const RetICFGNode* getRetICFGNode() const
388
388
  {
389
- assert(ret && "RetBlockNode not set?");
389
+ assert(ret && "RetICFGNode not set?");
390
390
  return ret;
391
391
  }
392
392
 
393
393
  /// Return callsite
394
- inline void setRetBlockNode(const RetBlockNode* r)
394
+ inline void setRetICFGNode(const RetICFGNode* r)
395
395
  {
396
396
  ret = r;
397
397
  }
@@ -428,7 +428,7 @@ public:
428
428
 
429
429
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
430
430
  //@{
431
- static inline bool classof(const CallBlockNode *)
431
+ static inline bool classof(const CallICFGNode *)
432
432
  {
433
433
  return true;
434
434
  }
@@ -438,7 +438,7 @@ public:
438
438
  return node->getNodeKind() == FunCallBlock;
439
439
  }
440
440
 
441
- static inline bool classof(const InterBlockNode *node)
441
+ static inline bool classof(const InterICFGNode *node)
442
442
  {
443
443
  return node->getNodeKind() == FunCallBlock;
444
444
  }
@@ -456,16 +456,16 @@ public:
456
456
  /*!
457
457
  * Return ICFGNode containing (at most one) ActualRetVFGNode at a callsite
458
458
  */
459
- class RetBlockNode : public InterBlockNode
459
+ class RetICFGNode : public InterICFGNode
460
460
  {
461
461
 
462
462
  private:
463
463
  const Instruction* cs;
464
464
  const SVFVar *actualRet;
465
- const CallBlockNode* callBlockNode;
465
+ const CallICFGNode* callBlockNode;
466
466
  public:
467
- RetBlockNode(NodeID id, const Instruction* c, CallBlockNode* cb) :
468
- InterBlockNode(id, FunRetBlock), cs(c), actualRet(nullptr), callBlockNode(cb)
467
+ RetICFGNode(NodeID id, const Instruction* c, CallICFGNode* cb) :
468
+ InterICFGNode(id, FunRetBlock), cs(c), actualRet(nullptr), callBlockNode(cb)
469
469
  {
470
470
  fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(cs->getFunction());
471
471
  bb = cs->getParent();
@@ -477,7 +477,7 @@ public:
477
477
  return cs;
478
478
  }
479
479
 
480
- inline const CallBlockNode* getCallBlockNode() const
480
+ inline const CallICFGNode* getCallBlockNode() const
481
481
  {
482
482
  return callBlockNode;
483
483
  }
@@ -495,12 +495,12 @@ public:
495
495
 
496
496
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
497
497
  //@{
498
- static inline bool classof(const RetBlockNode *)
498
+ static inline bool classof(const RetICFGNode *)
499
499
  {
500
500
  return true;
501
501
  }
502
502
 
503
- static inline bool classof(const InterBlockNode *node)
503
+ static inline bool classof(const InterICFGNode *node)
504
504
  {
505
505
  return node->getNodeKind() == FunRetBlock;
506
506
  }
@@ -78,11 +78,11 @@ public:
78
78
  countStat();
79
79
 
80
80
  PTNumStatMap["ICFGNode"] = numOfNodes;
81
- PTNumStatMap["IntraBlockNode"] = numOfIntraNodes;
82
- PTNumStatMap["CallBlockNode"] = numOfCallNodes;
83
- PTNumStatMap["RetBlockNode"] = numOfRetNodes;
84
- PTNumStatMap["FunEntryBlockNode"] = numOfEntryNodes;
85
- PTNumStatMap["FunExitBlockNode"] = numOfExitNodes;
81
+ PTNumStatMap["IntraICFGNode"] = numOfIntraNodes;
82
+ PTNumStatMap["CallICFGNode"] = numOfCallNodes;
83
+ PTNumStatMap["RetICFGNode"] = numOfRetNodes;
84
+ PTNumStatMap["FunEntryICFGNode"] = numOfEntryNodes;
85
+ PTNumStatMap["FunExitICFGNode"] = numOfExitNodes;
86
86
 
87
87
  PTNumStatMap["ICFGEdge"] = numOfEdges;
88
88
  PTNumStatMap["CallCFGEdge"] = numOfCallEdges;
@@ -97,7 +97,7 @@ public:
97
97
 
98
98
  countStat();
99
99
  PTNumStatMap["ICFGNode(N)"] = numOfNodes;
100
- PTNumStatMap["CallBlockNode(Call)"] = numOfCallNodes;
100
+ PTNumStatMap["CallICFGNode(Call)"] = numOfCallNodes;
101
101
  PTNumStatMap["ICFGEdge(E)"] = numOfEdges;
102
102
  printStat("IFDS Stat");
103
103
  }
@@ -112,15 +112,15 @@ public:
112
112
 
113
113
  ICFGNode *node = it->second;
114
114
 
115
- if (SVFUtil::isa<IntraBlockNode>(node))
115
+ if (SVFUtil::isa<IntraICFGNode>(node))
116
116
  numOfIntraNodes++;
117
- else if (SVFUtil::isa<CallBlockNode>(node))
117
+ else if (SVFUtil::isa<CallICFGNode>(node))
118
118
  numOfCallNodes++;
119
- else if (SVFUtil::isa<RetBlockNode>(node))
119
+ else if (SVFUtil::isa<RetICFGNode>(node))
120
120
  numOfRetNodes++;
121
- else if (SVFUtil::isa<FunEntryBlockNode>(node))
121
+ else if (SVFUtil::isa<FunEntryICFGNode>(node))
122
122
  numOfEntryNodes++;
123
- else if (SVFUtil::isa<FunExitBlockNode>(node))
123
+ else if (SVFUtil::isa<FunExitICFGNode>(node))
124
124
  numOfExitNodes++;
125
125
 
126
126
 
@@ -52,7 +52,7 @@ class PTACallGraphEdge : public GenericCallGraphEdgeTy
52
52
  {
53
53
 
54
54
  public:
55
- typedef Set<const CallBlockNode*> CallInstSet;
55
+ typedef Set<const CallICFGNode*> CallInstSet;
56
56
  enum CEDGEK
57
57
  {
58
58
  CallRetEdge,TDForkEdge,TDJoinEdge,HareParForEdge
@@ -112,9 +112,9 @@ public:
112
112
 
113
113
  /// Add direct and indirect callsite
114
114
  //@{
115
- void addDirectCallSite(const CallBlockNode* call);
115
+ void addDirectCallSite(const CallICFGNode* call);
116
116
 
117
- void addInDirectCallSite(const CallBlockNode* call);
117
+ void addInDirectCallSite(const CallICFGNode* call);
118
118
  //@}
119
119
 
120
120
  /// Iterators for direct and indirect callsites
@@ -221,12 +221,12 @@ class PTACallGraph : public GenericCallGraphTy
221
221
  public:
222
222
  typedef PTACallGraphEdge::CallGraphEdgeSet CallGraphEdgeSet;
223
223
  typedef Map<const SVFFunction*, PTACallGraphNode *> FunToCallGraphNodeMap;
224
- typedef Map<const CallBlockNode*, CallGraphEdgeSet> CallInstToCallGraphEdgesMap;
225
- typedef std::pair<const CallBlockNode*, const SVFFunction*> CallSitePair;
224
+ typedef Map<const CallICFGNode*, CallGraphEdgeSet> CallInstToCallGraphEdgesMap;
225
+ typedef std::pair<const CallICFGNode*, const SVFFunction*> CallSitePair;
226
226
  typedef Map<CallSitePair, CallSiteID> CallSiteToIdMap;
227
227
  typedef Map<CallSiteID, CallSitePair> IdToCallSiteMap;
228
228
  typedef Set<const SVFFunction*> FunctionSet;
229
- typedef OrderedMap<const CallBlockNode*, FunctionSet> CallEdgeMap;
229
+ typedef OrderedMap<const CallICFGNode*, FunctionSet> CallEdgeMap;
230
230
  typedef CallGraphEdgeSet::iterator CallGraphEdgeIter;
231
231
  typedef CallGraphEdgeSet::const_iterator CallGraphEdgeConstIter;
232
232
 
@@ -281,11 +281,11 @@ public:
281
281
  {
282
282
  return indirectCallMap;
283
283
  }
284
- inline bool hasIndCSCallees(const CallBlockNode* cs) const
284
+ inline bool hasIndCSCallees(const CallICFGNode* cs) const
285
285
  {
286
286
  return (indirectCallMap.find(cs) != indirectCallMap.end());
287
287
  }
288
- inline const FunctionSet& getIndCSCallees(const CallBlockNode* cs) const
288
+ inline const FunctionSet& getIndCSCallees(const CallICFGNode* cs) const
289
289
  {
290
290
  CallEdgeMap::const_iterator it = indirectCallMap.find(cs);
291
291
  assert(it!=indirectCallMap.end() && "not an indirect callsite!");
@@ -327,9 +327,9 @@ public:
327
327
 
328
328
  /// Add/Get CallSiteID
329
329
  //@{
330
- inline CallSiteID addCallSite(const CallBlockNode* cs, const SVFFunction* callee)
330
+ inline CallSiteID addCallSite(const CallICFGNode* cs, const SVFFunction* callee)
331
331
  {
332
- std::pair<const CallBlockNode*, const SVFFunction*> newCS(std::make_pair(cs, callee));
332
+ std::pair<const CallICFGNode*, const SVFFunction*> newCS(std::make_pair(cs, callee));
333
333
  CallSiteToIdMap::const_iterator it = csToIdMap.find(newCS);
334
334
  //assert(it == csToIdMap.end() && "cannot add a callsite twice");
335
335
  if(it == csToIdMap.end())
@@ -341,14 +341,14 @@ public:
341
341
  }
342
342
  return it->second;
343
343
  }
344
- inline CallSiteID getCallSiteID(const CallBlockNode* cs, const SVFFunction* callee) const
344
+ inline CallSiteID getCallSiteID(const CallICFGNode* cs, const SVFFunction* callee) const
345
345
  {
346
346
  CallSitePair newCS(std::make_pair(cs, callee));
347
347
  CallSiteToIdMap::const_iterator it = csToIdMap.find(newCS);
348
348
  assert(it != csToIdMap.end() && "callsite id not found! This maybe a partially resolved callgraph, please check the indCallEdge limit");
349
349
  return it->second;
350
350
  }
351
- inline bool hasCallSiteID(const CallBlockNode* cs, const SVFFunction* callee) const
351
+ inline bool hasCallSiteID(const CallICFGNode* cs, const SVFFunction* callee) const
352
352
  {
353
353
  CallSitePair newCS(std::make_pair(cs, callee));
354
354
  CallSiteToIdMap::const_iterator it = csToIdMap.find(newCS);
@@ -360,7 +360,7 @@ public:
360
360
  assert(it != idToCSMap.end() && "cannot find call site for this CallSiteID");
361
361
  return (it->second);
362
362
  }
363
- inline const CallBlockNode* getCallSite(CallSiteID id) const
363
+ inline const CallICFGNode* getCallSite(CallSiteID id) const
364
364
  {
365
365
  return getCallSitePair(id).first;
366
366
  }
@@ -379,7 +379,7 @@ public:
379
379
  PTACallGraphEdge* getGraphEdge(PTACallGraphNode* src, PTACallGraphNode* dst,PTACallGraphEdge::CEDGEK kind, CallSiteID csId);
380
380
 
381
381
  /// Get all callees for a callsite
382
- inline void getCallees(const CallBlockNode* cs, FunctionSet& callees)
382
+ inline void getCallees(const CallICFGNode* cs, FunctionSet& callees)
383
383
  {
384
384
  if(hasCallGraphEdge(cs))
385
385
  {
@@ -394,18 +394,18 @@ public:
394
394
  /// Get call graph edge via call instruction
395
395
  //@{
396
396
  /// whether this call instruction has a valid call graph edge
397
- inline bool hasCallGraphEdge(const CallBlockNode* inst) const
397
+ inline bool hasCallGraphEdge(const CallICFGNode* inst) const
398
398
  {
399
399
  return callinstToCallGraphEdgesMap.find(inst)!=callinstToCallGraphEdgesMap.end();
400
400
  }
401
- inline CallGraphEdgeSet::const_iterator getCallEdgeBegin(const CallBlockNode* inst) const
401
+ inline CallGraphEdgeSet::const_iterator getCallEdgeBegin(const CallICFGNode* inst) const
402
402
  {
403
403
  CallInstToCallGraphEdgesMap::const_iterator it = callinstToCallGraphEdgesMap.find(inst);
404
404
  assert(it!=callinstToCallGraphEdgesMap.end()
405
405
  && "call instruction does not have a valid callee");
406
406
  return it->second.begin();
407
407
  }
408
- inline CallGraphEdgeSet::const_iterator getCallEdgeEnd(const CallBlockNode* inst) const
408
+ inline CallGraphEdgeSet::const_iterator getCallEdgeEnd(const CallICFGNode* inst) const
409
409
  {
410
410
  CallInstToCallGraphEdgesMap::const_iterator it = callinstToCallGraphEdgesMap.find(inst);
411
411
  assert(it!=callinstToCallGraphEdgesMap.end()
@@ -422,8 +422,8 @@ public:
422
422
 
423
423
  /// Add direct/indirect call edges
424
424
  //@{
425
- void addDirectCallGraphEdge(const CallBlockNode* call, const SVFFunction* callerFun, const SVFFunction* calleeFun);
426
- void addIndirectCallGraphEdge(const CallBlockNode* cs,const SVFFunction* callerFun, const SVFFunction* calleeFun);
425
+ void addDirectCallGraphEdge(const CallICFGNode* call, const SVFFunction* callerFun, const SVFFunction* calleeFun);
426
+ void addIndirectCallGraphEdge(const CallICFGNode* cs,const SVFFunction* callerFun, const SVFFunction* calleeFun);
427
427
  //@}
428
428
 
429
429
  /// Get callsites invoking the callee
@@ -79,8 +79,8 @@ public:
79
79
  typedef NodeBS ActualOUTSVFGNodeSet;
80
80
  typedef NodeBS FormalINSVFGNodeSet;
81
81
  typedef NodeBS FormalOUTSVFGNodeSet;
82
- typedef Map<const CallBlockNode*, ActualINSVFGNodeSet> CallSiteToActualINsMapTy;
83
- typedef Map<const CallBlockNode*, ActualOUTSVFGNodeSet> CallSiteToActualOUTsMapTy;
82
+ typedef Map<const CallICFGNode*, ActualINSVFGNodeSet> CallSiteToActualINsMapTy;
83
+ typedef Map<const CallICFGNode*, ActualOUTSVFGNodeSet> CallSiteToActualOUTsMapTy;
84
84
  typedef Map<const SVFFunction*, FormalINSVFGNodeSet> FunctionToFormalINsMapTy;
85
85
  typedef Map<const SVFFunction*, FormalOUTSVFGNodeSet> FunctionToFormalOUTsMapTy;
86
86
  typedef MemSSA::MUSet MUSet;
@@ -159,13 +159,13 @@ public:
159
159
  }
160
160
 
161
161
  /// Get all inter value flow edges of a indirect call site
162
- void getInterVFEdgesForIndirectCallSite(const CallBlockNode* cs, const SVFFunction* callee, SVFGEdgeSetTy& edges);
162
+ void getInterVFEdgesForIndirectCallSite(const CallICFGNode* cs, const SVFFunction* callee, SVFGEdgeSetTy& edges);
163
163
 
164
164
  /// Dump graph into dot file
165
165
  void dump(const std::string& file, bool simple = false);
166
166
 
167
167
  /// Connect SVFG nodes between caller and callee for indirect call site
168
- virtual void connectCallerAndCallee(const CallBlockNode* cs, const SVFFunction* callee, SVFGEdgeSetTy& edges);
168
+ virtual void connectCallerAndCallee(const CallICFGNode* cs, const SVFFunction* callee, SVFGEdgeSetTy& edges);
169
169
 
170
170
  /// Given a pagNode, return its definition site
171
171
  inline const SVFGNode* getDefSVFGNode(const PAGNode* pagNode) const
@@ -183,12 +183,12 @@ public:
183
183
 
184
184
  /// Has a SVFGNode
185
185
  //@{
186
- inline bool hasActualINSVFGNodes(const CallBlockNode* cs) const
186
+ inline bool hasActualINSVFGNodes(const CallICFGNode* cs) const
187
187
  {
188
188
  return callSiteToActualINMap.find(cs)!=callSiteToActualINMap.end();
189
189
  }
190
190
 
191
- inline bool hasActualOUTSVFGNodes(const CallBlockNode* cs) const
191
+ inline bool hasActualOUTSVFGNodes(const CallICFGNode* cs) const
192
192
  {
193
193
  return callSiteToActualOUTMap.find(cs)!=callSiteToActualOUTMap.end();
194
194
  }
@@ -206,12 +206,12 @@ public:
206
206
 
207
207
  /// Get SVFGNode set
208
208
  //@{
209
- inline ActualINSVFGNodeSet& getActualINSVFGNodes(const CallBlockNode* cs)
209
+ inline ActualINSVFGNodeSet& getActualINSVFGNodes(const CallICFGNode* cs)
210
210
  {
211
211
  return callSiteToActualINMap[cs];
212
212
  }
213
213
 
214
- inline ActualOUTSVFGNodeSet& getActualOUTSVFGNodes(const CallBlockNode* cs)
214
+ inline ActualOUTSVFGNodeSet& getActualOUTSVFGNodes(const CallICFGNode* cs)
215
215
  {
216
216
  return callSiteToActualOUTMap[cs];
217
217
  }
@@ -231,7 +231,7 @@ public:
231
231
  const SVFFunction* isFunEntrySVFGNode(const SVFGNode* node) const;
232
232
 
233
233
  /// Whether a node is callsite return SVFGNode
234
- const CallBlockNode* isCallSiteRetSVFGNode(const SVFGNode* node) const;
234
+ const CallICFGNode* isCallSiteRetSVFGNode(const SVFGNode* node) const;
235
235
 
236
236
  /// Remove a SVFG edge
237
237
  inline void removeSVFGEdge(SVFGEdge* edge)
@@ -301,7 +301,7 @@ protected:
301
301
 
302
302
  /// Get inter value flow edges between indirect call site and callee.
303
303
  //@{
304
- virtual inline void getInterVFEdgeAtIndCSFromAPToFP(const PAGNode* cs_arg, const PAGNode* fun_arg, const CallBlockNode*, CallSiteID csId, SVFGEdgeSetTy& edges)
304
+ virtual inline void getInterVFEdgeAtIndCSFromAPToFP(const PAGNode* cs_arg, const PAGNode* fun_arg, const CallICFGNode*, CallSiteID csId, SVFGEdgeSetTy& edges)
305
305
  {
306
306
  SVFGNode* actualParam = getSVFGNode(getDef(cs_arg));
307
307
  SVFGNode* formalParam = getSVFGNode(getDef(fun_arg));
@@ -394,7 +394,7 @@ protected:
394
394
  }
395
395
 
396
396
  /// Add memory Function entry chi SVFG node
397
- inline void addFormalINSVFGNode(const FunEntryBlockNode* funEntry, const MRVer* resVer, const NodeID nodeId)
397
+ inline void addFormalINSVFGNode(const FunEntryICFGNode* funEntry, const MRVer* resVer, const NodeID nodeId)
398
398
  {
399
399
  FormalINSVFGNode* sNode = new FormalINSVFGNode(nodeId, resVer, funEntry);
400
400
  addSVFGNode(sNode, pag->getICFG()->getFunEntryBlockNode(funEntry->getFun()));
@@ -403,7 +403,7 @@ protected:
403
403
  }
404
404
 
405
405
  /// Add memory Function return mu SVFG node
406
- inline void addFormalOUTSVFGNode(const FunExitBlockNode* funExit, const MRVer* ver, const NodeID nodeId)
406
+ inline void addFormalOUTSVFGNode(const FunExitICFGNode* funExit, const MRVer* ver, const NodeID nodeId)
407
407
  {
408
408
  FormalOUTSVFGNode* sNode = new FormalOUTSVFGNode(nodeId, ver, funExit);
409
409
  addSVFGNode(sNode,pag->getICFG()->getFunExitBlockNode(funExit->getFun()));
@@ -411,7 +411,7 @@ protected:
411
411
  }
412
412
 
413
413
  /// Add memory callsite mu SVFG node
414
- inline void addActualINSVFGNode(const CallBlockNode* callsite, const MRVer* ver, const NodeID nodeId)
414
+ inline void addActualINSVFGNode(const CallICFGNode* callsite, const MRVer* ver, const NodeID nodeId)
415
415
  {
416
416
  ActualINSVFGNode* sNode = new ActualINSVFGNode(nodeId, callsite, ver);
417
417
  addSVFGNode(sNode,pag->getICFG()->getCallBlockNode(callsite->getCallSite()));
@@ -419,7 +419,7 @@ protected:
419
419
  }
420
420
 
421
421
  /// Add memory callsite chi SVFG node
422
- inline void addActualOUTSVFGNode(const CallBlockNode* callsite, const MRVer* resVer, const NodeID nodeId)
422
+ inline void addActualOUTSVFGNode(const CallICFGNode* callsite, const MRVer* resVer, const NodeID nodeId)
423
423
  {
424
424
  ActualOUTSVFGNode* sNode = new ActualOUTSVFGNode(nodeId, callsite, resVer);
425
425
  addSVFGNode(sNode, pag->getICFG()->getRetBlockNode(callsite->getCallSite()));
@@ -448,11 +448,11 @@ protected:
448
448
  {
449
449
  return (funToFormalOUTMap.find(func) != funToFormalOUTMap.end());
450
450
  }
451
- inline bool hasCallSiteChi(const CallBlockNode* cs) const
451
+ inline bool hasCallSiteChi(const CallICFGNode* cs) const
452
452
  {
453
453
  return (callSiteToActualOUTMap.find(cs) != callSiteToActualOUTMap.end());
454
454
  }
455
- inline bool hasCallSiteMu(const CallBlockNode* cs) const
455
+ inline bool hasCallSiteMu(const CallICFGNode* cs) const
456
456
  {
457
457
  return (callSiteToActualINMap.find(cs) != callSiteToActualINMap.end());
458
458
  }
@@ -91,11 +91,11 @@ class FormalINSVFGNode : public MRSVFGNode
91
91
  {
92
92
  private:
93
93
  const MRVer* ver;
94
- const FunEntryBlockNode* funEntryNode;
94
+ const FunEntryICFGNode* funEntryNode;
95
95
 
96
96
  public:
97
97
  /// Constructor
98
- FormalINSVFGNode(NodeID id, const MRVer* resVer, const FunEntryBlockNode* funEntry): MRSVFGNode(id, FPIN)
98
+ FormalINSVFGNode(NodeID id, const MRVer* resVer, const FunEntryICFGNode* funEntry): MRSVFGNode(id, FPIN)
99
99
  {
100
100
  cpts = resVer->getMR()->getPointsTo();
101
101
  ver = resVer;
@@ -105,7 +105,7 @@ public:
105
105
  {
106
106
  return ver;
107
107
  }
108
- inline const FunEntryBlockNode* getFunEntryNode() const
108
+ inline const FunEntryICFGNode* getFunEntryNode() const
109
109
  {
110
110
  return funEntryNode;
111
111
  }
@@ -136,13 +136,13 @@ class FormalOUTSVFGNode : public MRSVFGNode
136
136
  {
137
137
  private:
138
138
  const MRVer* ver;
139
- const FunExitBlockNode* funExitNode;
139
+ const FunExitICFGNode* funExitNode;
140
140
 
141
141
  public:
142
142
  /// Constructor
143
- FormalOUTSVFGNode(NodeID id, const MRVer* ver, const FunExitBlockNode* funExitNode);
143
+ FormalOUTSVFGNode(NodeID id, const MRVer* ver, const FunExitICFGNode* funExitNode);
144
144
 
145
- inline const FunExitBlockNode* getFunExitNode() const
145
+ inline const FunExitICFGNode* getFunExitNode() const
146
146
  {
147
147
  return funExitNode;
148
148
  }
@@ -177,18 +177,18 @@ public:
177
177
  class ActualINSVFGNode : public MRSVFGNode
178
178
  {
179
179
  private:
180
- const CallBlockNode* cs;
180
+ const CallICFGNode* cs;
181
181
  const MRVer* ver;
182
182
  public:
183
183
  /// Constructor
184
- ActualINSVFGNode(NodeID id, const CallBlockNode* c, const MRVer* mrver):
184
+ ActualINSVFGNode(NodeID id, const CallICFGNode* c, const MRVer* mrver):
185
185
  MRSVFGNode(id, APIN), cs(c)
186
186
  {
187
187
  cpts = mrver->getMR()->getPointsTo();
188
188
  ver = mrver;
189
189
  }
190
190
  /// Callsite
191
- inline const CallBlockNode* getCallSite() const
191
+ inline const CallICFGNode* getCallSite() const
192
192
  {
193
193
  return cs;
194
194
  }
@@ -226,19 +226,19 @@ public:
226
226
  class ActualOUTSVFGNode : public MRSVFGNode
227
227
  {
228
228
  private:
229
- const CallBlockNode* cs;
229
+ const CallICFGNode* cs;
230
230
  const MRVer* ver;
231
231
 
232
232
  public:
233
233
  /// Constructor
234
- ActualOUTSVFGNode(NodeID id, const CallBlockNode* cal, const MRVer* resVer):
234
+ ActualOUTSVFGNode(NodeID id, const CallICFGNode* cal, const MRVer* resVer):
235
235
  MRSVFGNode(id, APOUT), cs(cal)
236
236
  {
237
237
  cpts = resVer->getMR()->getPointsTo();
238
238
  ver = resVer;
239
239
  }
240
240
  /// Callsite
241
- inline const CallBlockNode* getCallSite() const
241
+ inline const CallICFGNode* getCallSite() const
242
242
  {
243
243
  return cs;
244
244
  }
@@ -425,7 +425,7 @@ public:
425
425
  return fun;
426
426
  }
427
427
 
428
- inline const CallBlockNode* getCallSite() const
428
+ inline const CallICFGNode* getCallSite() const
429
429
  {
430
430
  assert(isActualOUTPHI() && "expect a actual return phi");
431
431
  return callInst;
@@ -459,7 +459,7 @@ public:
459
459
 
460
460
  private:
461
461
  const SVFFunction* fun;
462
- const CallBlockNode* callInst;
462
+ const CallICFGNode* callInst;
463
463
  };
464
464
 
465
465
  /*
@@ -86,7 +86,7 @@ protected:
86
86
 
87
87
  /// Connect SVFG nodes between caller and callee for indirect call sites
88
88
  //@{
89
- virtual inline void connectAParamAndFParam(const PAGNode* cs_arg, const PAGNode* fun_arg, const CallBlockNode*, CallSiteID csId, SVFGEdgeSetTy& edges)
89
+ virtual inline void connectAParamAndFParam(const PAGNode* cs_arg, const PAGNode* fun_arg, const CallICFGNode*, CallSiteID csId, SVFGEdgeSetTy& edges)
90
90
  {
91
91
  NodeID phiId = getDef(fun_arg);
92
92
  SVFGEdge* edge = addCallEdge(getDef(cs_arg), phiId, csId);