svf-tools 1.0.340 → 1.0.344

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 (487) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +6 -6
  3. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +9 -9
  5. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  8. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
  9. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  10. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
  12. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
  14. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  15. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  16. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
  17. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  18. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  19. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -6
  20. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -11
  21. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +15 -15
  22. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/ICFGNode_8h.html +7 -7
  24. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +69 -69
  25. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +64 -61
  27. package/SVF-doxygen/html/html/ICFG_8h_source.html +46 -46
  28. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
  29. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +6 -6
  30. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
  34. package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
  35. package/SVF-doxygen/html/html/MHP_8h_source.html +6 -6
  36. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  37. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  39. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +27 -27
  40. package/SVF-doxygen/html/html/MemRegion_8h_source.html +18 -18
  41. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  42. package/SVF-doxygen/html/html/MemSSA_8h_source.html +12 -12
  43. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/Options_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/html/Options_8h_source.html +2 -2
  46. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/PCG_8h_source.html +4 -4
  48. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +10 -10
  49. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -17
  50. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +5 -5
  51. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  52. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  54. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  55. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  56. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  57. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
  58. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +17 -17
  59. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  60. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  61. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +32 -32
  62. package/SVF-doxygen/html/html/SVFG_8h_source.html +27 -27
  63. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
  64. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +13 -13
  65. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +9 -9
  66. package/SVF-doxygen/html/html/SVFIR_8h_source.html +32 -32
  67. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +20 -20
  68. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +14 -14
  69. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +8 -8
  70. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +5 -5
  71. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +3 -3
  72. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +7 -7
  73. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  74. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +4 -4
  75. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  76. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +2 -2
  77. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +16 -15
  78. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
  79. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +30 -28
  80. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +44 -42
  81. package/SVF-doxygen/html/html/TCT_8h_source.html +3 -3
  82. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +15 -15
  83. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +20 -20
  84. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +5 -5
  85. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
  86. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  87. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  88. package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -20
  89. package/SVF-doxygen/html/html/VFG_8h_source.html +19 -19
  90. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  91. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  92. package/SVF-doxygen/html/html/annotated.html +17 -17
  93. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
  94. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +23 -23
  95. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
  96. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +23 -23
  97. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
  98. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +22 -22
  99. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
  100. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +24 -24
  101. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +3 -3
  102. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient-members.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +7 -7
  104. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +12 -12
  105. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +47 -47
  106. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +12 -12
  107. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +34 -34
  108. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +12 -12
  109. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +32 -32
  110. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +12 -12
  111. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +32 -32
  112. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +12 -12
  113. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +32 -32
  114. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +12 -12
  115. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +34 -34
  116. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
  117. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +32 -32
  118. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +12 -12
  119. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +32 -32
  120. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +12 -12
  121. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +38 -38
  122. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +6 -5
  123. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +15 -12
  125. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +5 -3
  126. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +2 -2
  127. package/SVF-doxygen/html/html/classSVF_1_1CallCHI-members.html +3 -3
  128. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +22 -22
  129. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +158 -0
  131. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +852 -0
  132. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.png +0 -0
  133. package/SVF-doxygen/html/html/classSVF_1_1CallMU-members.html +3 -3
  134. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +22 -22
  135. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +4 -4
  136. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +31 -31
  137. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +6 -5
  138. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +12 -12
  140. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +31 -31
  141. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +3 -3
  142. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +14 -14
  143. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +60 -60
  144. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +3 -3
  145. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver-members.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +16 -16
  147. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +21 -21
  148. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +51 -51
  149. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
  150. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  151. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -3
  152. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +12 -12
  153. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +33 -33
  154. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
  155. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +20 -20
  156. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +11 -11
  157. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +52 -52
  158. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +12 -12
  159. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +43 -43
  160. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +12 -12
  161. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +33 -33
  162. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis-members.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +21 -21
  164. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
  165. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +19 -19
  166. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
  167. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +18 -18
  168. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +4 -2
  169. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +150 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +618 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.png +0 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +4 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +149 -0
  174. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +624 -0
  175. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.png +0 -0
  176. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient-members.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +12 -12
  178. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +3 -3
  179. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  180. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  181. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +4 -4
  182. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -3
  183. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +3 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +144 -0
  185. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +413 -0
  186. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.png +0 -0
  187. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +3 -3
  188. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +11 -11
  189. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +22 -22
  190. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +224 -217
  191. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +4 -4
  192. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +74 -71
  193. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +2 -2
  194. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +10 -10
  195. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.png +0 -0
  196. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +11 -11
  197. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +30 -30
  198. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +3 -3
  199. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +21 -21
  200. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +51 -51
  201. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +144 -0
  202. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +399 -0
  203. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.png +0 -0
  204. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
  205. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +23 -23
  206. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +2 -2
  207. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +21 -21
  208. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +7 -3
  209. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +2 -2
  210. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +21 -21
  211. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +51 -51
  212. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +146 -0
  213. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +494 -0
  214. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.png +0 -0
  215. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
  217. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +61 -61
  218. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +4 -4
  219. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +14 -14
  221. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator-members.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +11 -11
  223. package/SVF-doxygen/html/html/classSVF_1_1MHP-members.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +22 -22
  225. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +24 -24
  226. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +198 -198
  227. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  228. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  229. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
  230. package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +23 -22
  231. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +70 -47
  232. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +10 -10
  233. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +77 -77
  234. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +4 -4
  235. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  236. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +4 -4
  237. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +17 -15
  238. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +141 -106
  239. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -3
  240. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +27 -27
  242. package/SVF-doxygen/html/html/classSVF_1_1Options.html +26 -26
  243. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1PCG-members.html +1 -1
  245. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +13 -13
  246. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +15 -15
  248. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +118 -118
  249. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +3 -3
  250. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +32 -32
  251. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +5 -5
  252. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +6 -6
  253. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +12 -12
  254. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +109 -109
  255. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +2 -2
  256. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +18 -18
  257. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +5 -3
  258. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +2 -2
  259. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +153 -0
  260. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +696 -0
  261. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.png +0 -0
  262. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +4 -4
  263. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +30 -30
  264. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  265. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +24 -24
  266. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +160 -160
  267. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  268. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +24 -24
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +76 -76
  270. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +19 -19
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +133 -133
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +62 -62
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
  275. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +4 -4
  276. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +20 -20
  277. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  279. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +1 -1
  280. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
  281. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +24 -24
  282. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +12 -12
  283. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +32 -32
  284. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +11 -11
  286. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +17 -16
  287. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +16 -16
  288. package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
  289. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +22 -22
  290. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +4 -4
  291. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +19 -19
  292. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +4 -4
  293. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +19 -19
  294. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +40 -40
  295. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +220 -220
  296. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +10 -10
  297. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +3 -3
  298. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +11 -11
  299. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +3 -3
  300. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +11 -11
  301. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +12 -12
  302. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +42 -42
  303. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
  304. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +10 -9
  305. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
  307. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +96 -96
  308. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -3
  309. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +4 -4
  310. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +12 -12
  311. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +37 -37
  312. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
  313. package/SVF-doxygen/html/html/classes.html +16 -16
  314. package/SVF-doxygen/html/html/functions_a.html +59 -59
  315. package/SVF-doxygen/html/html/functions_c.html +74 -71
  316. package/SVF-doxygen/html/html/functions_eval_c.html +5 -2
  317. package/SVF-doxygen/html/html/functions_f.html +14 -14
  318. package/SVF-doxygen/html/html/functions_func.html +56 -56
  319. package/SVF-doxygen/html/html/functions_func_c.html +28 -28
  320. package/SVF-doxygen/html/html/functions_func_f.html +6 -6
  321. package/SVF-doxygen/html/html/functions_func_g.html +88 -88
  322. package/SVF-doxygen/html/html/functions_func_h.html +17 -17
  323. package/SVF-doxygen/html/html/functions_func_i.html +31 -29
  324. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  325. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  326. package/SVF-doxygen/html/html/functions_func_r.html +6 -6
  327. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  328. package/SVF-doxygen/html/html/functions_func_t.html +7 -7
  329. package/SVF-doxygen/html/html/functions_func_u.html +3 -3
  330. package/SVF-doxygen/html/html/functions_g.html +88 -88
  331. package/SVF-doxygen/html/html/functions_h.html +16 -16
  332. package/SVF-doxygen/html/html/functions_i.html +37 -35
  333. package/SVF-doxygen/html/html/functions_m.html +2 -2
  334. package/SVF-doxygen/html/html/functions_n.html +3 -3
  335. package/SVF-doxygen/html/html/functions_o.html +10 -10
  336. package/SVF-doxygen/html/html/functions_p.html +21 -30
  337. package/SVF-doxygen/html/html/functions_r.html +6 -6
  338. package/SVF-doxygen/html/html/functions_s.html +15 -14
  339. package/SVF-doxygen/html/html/functions_t.html +13 -15
  340. package/SVF-doxygen/html/html/functions_type.html +1 -1
  341. package/SVF-doxygen/html/html/functions_type_c.html +24 -24
  342. package/SVF-doxygen/html/html/functions_type_f.html +3 -3
  343. package/SVF-doxygen/html/html/functions_type_i.html +2 -2
  344. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  345. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  346. package/SVF-doxygen/html/html/functions_type_v.html +2 -2
  347. package/SVF-doxygen/html/html/functions_u.html +3 -3
  348. package/SVF-doxygen/html/html/functions_v.html +5 -5
  349. package/SVF-doxygen/html/html/functions_vars_a.html +2 -2
  350. package/SVF-doxygen/html/html/functions_vars_c.html +11 -11
  351. package/SVF-doxygen/html/html/functions_vars_f.html +5 -5
  352. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  353. package/SVF-doxygen/html/html/functions_vars_i.html +3 -3
  354. package/SVF-doxygen/html/html/functions_vars_p.html +0 -3
  355. package/SVF-doxygen/html/html/functions_vars_r.html +1 -1
  356. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  357. package/SVF-doxygen/html/html/functions_w.html +5 -9
  358. package/SVF-doxygen/html/html/hierarchy.html +7 -7
  359. package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
  360. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +11 -11
  361. package/SVF-doxygen/html/html/search/all_1.js +58 -58
  362. package/SVF-doxygen/html/html/search/all_10.js +13 -14
  363. package/SVF-doxygen/html/html/search/all_12.js +5 -5
  364. package/SVF-doxygen/html/html/search/all_13.js +9 -8
  365. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  366. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  367. package/SVF-doxygen/html/html/search/all_16.js +3 -3
  368. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  369. package/SVF-doxygen/html/html/search/all_3.js +37 -35
  370. package/SVF-doxygen/html/html/search/all_6.js +12 -12
  371. package/SVF-doxygen/html/html/search/all_7.js +62 -61
  372. package/SVF-doxygen/html/html/search/all_8.js +17 -17
  373. package/SVF-doxygen/html/html/search/all_9.js +19 -19
  374. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  375. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  376. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  377. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  378. package/SVF-doxygen/html/html/search/classes_2.js +1 -1
  379. package/SVF-doxygen/html/html/search/classes_5.js +2 -2
  380. package/SVF-doxygen/html/html/search/classes_6.js +1 -1
  381. package/SVF-doxygen/html/html/search/classes_8.js +2 -2
  382. package/SVF-doxygen/html/html/search/classes_e.js +1 -1
  383. package/SVF-doxygen/html/html/search/enumvalues_2.js +2 -1
  384. package/SVF-doxygen/html/html/search/functions_0.js +55 -55
  385. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  386. package/SVF-doxygen/html/html/search/functions_11.js +4 -4
  387. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  388. package/SVF-doxygen/html/html/search/functions_2.js +10 -10
  389. package/SVF-doxygen/html/html/search/functions_5.js +4 -4
  390. package/SVF-doxygen/html/html/search/functions_6.js +61 -61
  391. package/SVF-doxygen/html/html/search/functions_7.js +17 -17
  392. package/SVF-doxygen/html/html/search/functions_8.js +16 -16
  393. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  394. package/SVF-doxygen/html/html/search/functions_e.js +2 -2
  395. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  396. package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
  397. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  398. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
  399. package/SVF-doxygen/html/html/search/typedefs_2.js +21 -21
  400. package/SVF-doxygen/html/html/search/typedefs_5.js +3 -3
  401. package/SVF-doxygen/html/html/search/typedefs_8.js +2 -2
  402. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  403. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  404. package/SVF-doxygen/html/html/search/variables_10.js +0 -1
  405. package/SVF-doxygen/html/html/search/variables_12.js +1 -1
  406. package/SVF-doxygen/html/html/search/variables_13.js +1 -0
  407. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  408. package/SVF-doxygen/html/html/search/variables_3.js +4 -4
  409. package/SVF-doxygen/html/html/search/variables_6.js +5 -5
  410. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  411. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  412. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  413. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +23 -23
  414. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  415. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  416. package/include/DDA/ContextDDA.h +3 -3
  417. package/include/DDA/DDAClient.h +2 -2
  418. package/include/DDA/DDAVFSolver.h +2 -2
  419. package/include/DDA/FlowDDA.h +2 -2
  420. package/include/Graphs/ICFG.h +32 -32
  421. package/include/Graphs/ICFGNode.h +33 -33
  422. package/include/Graphs/ICFGStat.h +11 -11
  423. package/include/Graphs/PTACallGraph.h +19 -19
  424. package/include/Graphs/SVFG.h +16 -16
  425. package/include/Graphs/SVFGNode.h +14 -14
  426. package/include/Graphs/SVFGOPT.h +1 -1
  427. package/include/Graphs/ThreadCallGraph.h +25 -25
  428. package/include/Graphs/VFG.h +10 -10
  429. package/include/Graphs/VFGNode.h +8 -8
  430. package/include/MSSA/MSSAMuChi.h +6 -6
  431. package/include/MSSA/MemRegion.h +24 -24
  432. package/include/MSSA/MemSSA.h +10 -10
  433. package/include/MTA/LockResultValidator.h +2 -2
  434. package/include/MTA/MHP.h +4 -4
  435. package/include/MTA/PCG.h +1 -1
  436. package/include/MTA/TCT.h +2 -2
  437. package/include/MemoryModel/PointerAnalysis.h +12 -12
  438. package/include/MemoryModel/SVFIR.h +22 -22
  439. package/include/MemoryModel/SVFStatements.h +11 -11
  440. package/include/MemoryModel/SymbolTableInfo.h +15 -9
  441. package/include/SABER/LeakChecker.h +4 -4
  442. package/include/SABER/ProgSlice.h +2 -2
  443. package/include/SABER/SaberCheckerAPI.h +4 -4
  444. package/include/SABER/SaberSVFGBuilder.h +1 -1
  445. package/include/SABER/SrcSnkDDA.h +1 -1
  446. package/include/SVF-FE/ICFGBuilder.h +4 -4
  447. package/include/SVF-FE/SVFIRBuilder.h +5 -5
  448. package/include/Util/Options.h +1 -1
  449. package/lib/DDA/ContextDDA.cpp +3 -3
  450. package/lib/DDA/DDAClient.cpp +1 -1
  451. package/lib/DDA/FlowDDA.cpp +1 -1
  452. package/lib/Graphs/ICFG.cpp +88 -71
  453. package/lib/Graphs/PTACallGraph.cpp +5 -5
  454. package/lib/Graphs/SVFG.cpp +7 -7
  455. package/lib/Graphs/ThreadCallGraph.cpp +6 -6
  456. package/lib/Graphs/VFG.cpp +6 -6
  457. package/lib/MSSA/MemRegion.cpp +17 -17
  458. package/lib/MSSA/MemSSA.cpp +3 -3
  459. package/lib/MTA/LockAnalysis.cpp +4 -4
  460. package/lib/MTA/MHP.cpp +5 -5
  461. package/lib/MTA/MTAResultValidator.cpp +1 -1
  462. package/lib/MTA/PCG.cpp +1 -1
  463. package/lib/MemoryModel/PointerAnalysis.cpp +10 -10
  464. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  465. package/lib/MemoryModel/SVFIR.cpp +5 -5
  466. package/lib/MemoryModel/SVFStatements.cpp +53 -49
  467. package/lib/MemoryModel/SVFVariables.cpp +10 -10
  468. package/lib/MemoryModel/SymbolTableInfo.cpp +12 -7
  469. package/lib/SABER/DoubleFreeChecker.cpp +1 -1
  470. package/lib/SABER/FileChecker.cpp +2 -2
  471. package/lib/SABER/LeakChecker.cpp +8 -8
  472. package/lib/SABER/ProgSlice.cpp +2 -2
  473. package/lib/SVF-FE/CallGraphBuilder.cpp +4 -4
  474. package/lib/SVF-FE/Graph2Json.cpp +5 -5
  475. package/lib/SVF-FE/ICFGBuilder.cpp +31 -25
  476. package/lib/SVF-FE/SVFIRBuilder.cpp +8 -8
  477. package/lib/SVF-FE/SymbolTableBuilder.cpp +2 -2
  478. package/lib/Util/Options.cpp +3 -3
  479. package/lib/Util/PTAStat.cpp +3 -3
  480. package/lib/Util/SVFUtil.cpp +2 -0
  481. package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
  482. package/lib/WPA/Andersen.cpp +3 -3
  483. package/lib/WPA/FlowSensitive.cpp +2 -2
  484. package/lib/WPA/TypeAnalysis.cpp +1 -1
  485. package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
  486. package/lib/WPA/WPAPass.cpp +4 -4
  487. package/package.json +1 -1
@@ -55,21 +55,21 @@ public:
55
55
  typedef ICFGNodeIDToNodeMapTy::iterator iterator;
56
56
  typedef ICFGNodeIDToNodeMapTy::const_iterator const_iterator;
57
57
 
58
- typedef Map<const SVFFunction*, FunEntryBlockNode *> FunToFunEntryNodeMapTy;
59
- typedef Map<const SVFFunction*, FunExitBlockNode *> FunToFunExitNodeMapTy;
60
- typedef Map<const Instruction*, CallBlockNode *> CSToCallNodeMapTy;
61
- typedef Map<const Instruction*, RetBlockNode *> CSToRetNodeMapTy;
62
- typedef Map<const Instruction*, IntraBlockNode *> InstToBlockNodeMapTy;
58
+ typedef Map<const SVFFunction*, FunEntryICFGNode *> FunToFunEntryNodeMapTy;
59
+ typedef Map<const SVFFunction*, FunExitICFGNode *> FunToFunExitNodeMapTy;
60
+ typedef Map<const Instruction*, CallICFGNode *> CSToCallNodeMapTy;
61
+ typedef Map<const Instruction*, RetICFGNode *> CSToRetNodeMapTy;
62
+ typedef Map<const Instruction*, IntraICFGNode *> InstToBlockNodeMapTy;
63
63
 
64
64
  NodeID totalICFGNode;
65
65
 
66
66
  private:
67
- FunToFunEntryNodeMapTy FunToFunEntryNodeMap; ///< map a function to its FunExitBlockNode
68
- FunToFunExitNodeMapTy FunToFunExitNodeMap; ///< map a function to its FunEntryBlockNode
69
- CSToCallNodeMapTy CSToCallNodeMap; ///< map a callsite to its CallBlockNode
70
- CSToRetNodeMapTy CSToRetNodeMap; ///< map a callsite to its RetBlockNode
67
+ FunToFunEntryNodeMapTy FunToFunEntryNodeMap; ///< map a function to its FunExitICFGNode
68
+ FunToFunExitNodeMapTy FunToFunExitNodeMap; ///< map a function to its FunEntryICFGNode
69
+ CSToCallNodeMapTy CSToCallNodeMap; ///< map a callsite to its CallICFGNode
70
+ CSToRetNodeMapTy CSToRetNodeMap; ///< map a callsite to its RetICFGNode
71
71
  InstToBlockNodeMapTy InstToBlockNodeMap; ///< map a basic block to its ICFGNode
72
- GlobalBlockNode* globalBlockNode; ///< unique basic block for all globals
72
+ GlobalICFGNode* globalBlockNode; ///< unique basic block for all globals
73
73
 
74
74
  public:
75
75
  /// Constructor
@@ -165,17 +165,17 @@ public:
165
165
  //@{
166
166
  ICFGNode* getBlockICFGNode(const Instruction* inst);
167
167
 
168
- CallBlockNode* getCallBlockNode(const Instruction* inst);
168
+ CallICFGNode* getCallBlockNode(const Instruction* inst);
169
169
 
170
- RetBlockNode* getRetBlockNode(const Instruction* inst);
170
+ RetICFGNode* getRetBlockNode(const Instruction* inst);
171
171
 
172
- IntraBlockNode* getIntraBlockNode(const Instruction* inst);
172
+ IntraICFGNode* getIntraBlockNode(const Instruction* inst);
173
173
 
174
- FunEntryBlockNode* getFunEntryBlockNode(const SVFFunction* fun);
174
+ FunEntryICFGNode* getFunEntryBlockNode(const SVFFunction* fun);
175
175
 
176
- FunExitBlockNode* getFunExitBlockNode(const SVFFunction* fun);
176
+ FunExitICFGNode* getFunExitBlockNode(const SVFFunction* fun);
177
177
 
178
- inline GlobalBlockNode* getGlobalBlockNode() const
178
+ inline GlobalICFGNode* getGlobalBlockNode() const
179
179
  {
180
180
  return globalBlockNode;
181
181
  }
@@ -184,62 +184,62 @@ public:
184
184
  private:
185
185
 
186
186
  /// Get/Add IntraBlock ICFGNode
187
- inline IntraBlockNode* getIntraBlockICFGNode(const Instruction* inst)
187
+ inline IntraICFGNode* getIntraBlockICFGNode(const Instruction* inst)
188
188
  {
189
189
  InstToBlockNodeMapTy::const_iterator it = InstToBlockNodeMap.find(inst);
190
190
  if (it == InstToBlockNodeMap.end())
191
191
  return nullptr;
192
192
  return it->second;
193
193
  }
194
- inline IntraBlockNode* addIntraBlockICFGNode(const Instruction* inst)
194
+ inline IntraICFGNode* addIntraBlockICFGNode(const Instruction* inst)
195
195
  {
196
- IntraBlockNode* sNode = new IntraBlockNode(totalICFGNode++,inst);
196
+ IntraICFGNode* sNode = new IntraICFGNode(totalICFGNode++,inst);
197
197
  addICFGNode(sNode);
198
198
  InstToBlockNodeMap[inst] = sNode;
199
199
  return sNode;
200
200
  }
201
201
 
202
202
  /// Get/Add a function entry node
203
- inline FunEntryBlockNode* getFunEntryICFGNode(const SVFFunction* fun)
203
+ inline FunEntryICFGNode* getFunEntryICFGNode(const SVFFunction* fun)
204
204
  {
205
205
  FunToFunEntryNodeMapTy::const_iterator it = FunToFunEntryNodeMap.find(fun);
206
206
  if (it == FunToFunEntryNodeMap.end())
207
207
  return nullptr;
208
208
  return it->second;
209
209
  }
210
- inline FunEntryBlockNode* addFunEntryICFGNode(const SVFFunction* fun)
210
+ inline FunEntryICFGNode* addFunEntryICFGNode(const SVFFunction* fun)
211
211
  {
212
- FunEntryBlockNode* sNode = new FunEntryBlockNode(totalICFGNode++,fun);
212
+ FunEntryICFGNode* sNode = new FunEntryICFGNode(totalICFGNode++,fun);
213
213
  addICFGNode(sNode);
214
214
  FunToFunEntryNodeMap[fun] = sNode;
215
215
  return sNode;
216
216
  }
217
217
 
218
218
  /// Get/Add a function exit node
219
- inline FunExitBlockNode* getFunExitICFGNode(const SVFFunction* fun)
219
+ inline FunExitICFGNode* getFunExitICFGNode(const SVFFunction* fun)
220
220
  {
221
221
  FunToFunExitNodeMapTy::const_iterator it = FunToFunExitNodeMap.find(fun);
222
222
  if (it == FunToFunExitNodeMap.end())
223
223
  return nullptr;
224
224
  return it->second;
225
225
  }
226
- inline FunExitBlockNode* addFunExitICFGNode(const SVFFunction* fun)
226
+ inline FunExitICFGNode* addFunExitICFGNode(const SVFFunction* fun)
227
227
  {
228
- FunExitBlockNode* sNode = new FunExitBlockNode(totalICFGNode++, fun);
228
+ FunExitICFGNode* sNode = new FunExitICFGNode(totalICFGNode++, fun);
229
229
  addICFGNode(sNode);
230
230
  FunToFunExitNodeMap[fun] = sNode;
231
231
  return sNode;
232
232
  }
233
233
 
234
234
  /// Get/Add a call node
235
- inline CallBlockNode* addCallICFGNode(const Instruction* cs)
235
+ inline CallICFGNode* addCallICFGNode(const Instruction* cs)
236
236
  {
237
- CallBlockNode* sNode = new CallBlockNode(totalICFGNode++, cs);
237
+ CallICFGNode* sNode = new CallICFGNode(totalICFGNode++, cs);
238
238
  addICFGNode(sNode);
239
239
  CSToCallNodeMap[cs] = sNode;
240
240
  return sNode;
241
241
  }
242
- inline CallBlockNode* getCallICFGNode(const Instruction* cs)
242
+ inline CallICFGNode* getCallICFGNode(const Instruction* cs)
243
243
  {
244
244
  CSToCallNodeMapTy::const_iterator it = CSToCallNodeMap.find(cs);
245
245
  if (it == CSToCallNodeMap.end())
@@ -248,17 +248,17 @@ private:
248
248
  }
249
249
 
250
250
  /// Get/Add a return node
251
- inline RetBlockNode* getRetICFGNode(const Instruction* cs)
251
+ inline RetICFGNode* getRetICFGNode(const Instruction* cs)
252
252
  {
253
253
  CSToRetNodeMapTy::const_iterator it = CSToRetNodeMap.find(cs);
254
254
  if (it == CSToRetNodeMap.end())
255
255
  return nullptr;
256
256
  return it->second;
257
257
  }
258
- inline RetBlockNode* addRetICFGNode(const Instruction* cs)
258
+ inline RetICFGNode* addRetICFGNode(const Instruction* cs)
259
259
  {
260
- CallBlockNode* callBlockNode = getCallBlockNode(cs);
261
- RetBlockNode* sNode = new RetBlockNode(totalICFGNode++, cs, callBlockNode);
260
+ CallICFGNode* callBlockNode = getCallBlockNode(cs);
261
+ RetICFGNode* sNode = new RetICFGNode(totalICFGNode++, cs, callBlockNode);
262
262
  callBlockNode->setRetBlockNode(sNode);
263
263
  addICFGNode(sNode);
264
264
  CSToRetNodeMap[cs] = sNode;
@@ -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* getRetBlockNode() 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 setRetBlockNode(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