svf-tools 1.0.905 → 1.0.907

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 (438) hide show
  1. package/SVF-doxygen/html/AbstractInterpretation_8cpp.html +217 -0
  2. package/SVF-doxygen/html/AbstractInterpretation_8cpp_source.html +2093 -0
  3. package/SVF-doxygen/html/AbstractInterpretation_8h.html +115 -0
  4. package/SVF-doxygen/html/AbstractInterpretation_8h_source.html +459 -0
  5. package/SVF-doxygen/html/AbstractState_8cpp.html +84 -0
  6. package/SVF-doxygen/html/AbstractState_8cpp_source.html +461 -0
  7. package/SVF-doxygen/html/AbstractState_8h.html +105 -0
  8. package/SVF-doxygen/html/AbstractState_8h_source.html +891 -0
  9. package/SVF-doxygen/html/AbstractValue_8h.html +3 -3
  10. package/SVF-doxygen/html/AbstractValue_8h_source.html +652 -62
  11. package/SVF-doxygen/html/AddressValue_8h.html +4 -4
  12. package/SVF-doxygen/html/AddressValue_8h_source.html +180 -177
  13. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +782 -776
  14. package/SVF-doxygen/html/BufOverflowChecker_8h.html +1 -1
  15. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +19 -19
  16. package/SVF-doxygen/html/CFLGraph_8h_source.html +3 -3
  17. package/SVF-doxygen/html/CSC_8h_source.html +1 -1
  18. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/ConsExeState_8h_source.html +2 -2
  20. package/SVF-doxygen/html/ExeState_8cpp.html +1 -1
  21. package/SVF-doxygen/html/ExeState_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/ExeState_8h_source.html +8 -8
  23. package/SVF-doxygen/html/ICFGSimplification_8h.html +2 -2
  24. package/SVF-doxygen/html/ICFGSimplification_8h_source.html +17 -18
  25. package/SVF-doxygen/html/ICFG_8h_source.html +1 -1
  26. package/SVF-doxygen/html/IntervalValue_8h.html +2 -2
  27. package/SVF-doxygen/html/IntervalValue_8h_source.html +846 -864
  28. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +1 -1
  30. package/SVF-doxygen/html/MemRegion_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
  33. package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
  34. package/SVF-doxygen/html/RelExeState_8h_source.html +5 -5
  35. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +67 -68
  36. package/SVF-doxygen/html/RelationSolver_8h.html +1 -1
  37. package/SVF-doxygen/html/RelationSolver_8h_source.html +17 -17
  38. package/SVF-doxygen/html/SVFIR2AbsState_8cpp.html +84 -0
  39. package/SVF-doxygen/html/SVFIR2AbsState_8cpp_source.html +1348 -0
  40. package/SVF-doxygen/html/SVFIR2AbsState_8h.html +100 -0
  41. package/SVF-doxygen/html/SVFIR2AbsState_8h_source.html +378 -0
  42. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +9 -8
  43. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +920 -952
  44. package/SVF-doxygen/html/SVFIR2ItvExeState_8h.html +2 -3
  45. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +202 -207
  46. package/SVF-doxygen/html/SVFIR2Relation_8cpp.html +1 -1
  47. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +76 -72
  48. package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/SVFType_8h_source.html +1 -1
  50. package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
  51. package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
  52. package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
  53. package/SVF-doxygen/html/ae_8cpp.html +57 -57
  54. package/SVF-doxygen/html/ae_8cpp_source.html +462 -466
  55. package/SVF-doxygen/html/annotated.html +409 -418
  56. package/SVF-doxygen/html/classSVF_1_1AEStat-members.html +2 -2
  57. package/SVF-doxygen/html/classSVF_1_1AEStat.html +184 -190
  58. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation-members.html +161 -0
  59. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation.html +4325 -0
  60. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation.png +0 -0
  61. package/SVF-doxygen/html/classSVF_1_1AbstractState-members.html +134 -0
  62. package/SVF-doxygen/html/classSVF_1_1AbstractState.html +2166 -0
  63. package/SVF-doxygen/html/classSVF_1_1AbstractState.png +0 -0
  64. package/SVF-doxygen/html/classSVF_1_1AddressValue-members.html +15 -28
  65. package/SVF-doxygen/html/classSVF_1_1AddressValue.html +171 -230
  66. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +0 -1
  67. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.png +0 -0
  68. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +73 -73
  69. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +578 -574
  70. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.png +0 -0
  71. package/SVF-doxygen/html/classSVF_1_1CFLNode-members.html +48 -49
  72. package/SVF-doxygen/html/classSVF_1_1CFLNode.html +25 -25
  73. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +1 -1
  74. package/SVF-doxygen/html/classSVF_1_1ExeState.html +12 -14
  75. package/SVF-doxygen/html/classSVF_1_1ExeState.png +0 -0
  76. package/SVF-doxygen/html/classSVF_1_1FILOWorkList.html +3 -3
  77. package/SVF-doxygen/html/classSVF_1_1GenericNode.html +22 -8
  78. package/SVF-doxygen/html/classSVF_1_1GenericNode.png +0 -0
  79. package/SVF-doxygen/html/classSVF_1_1ICFGSimplification.html +1 -1
  80. package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +50 -64
  81. package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +349 -459
  82. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +1 -1
  83. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +1 -1
  84. package/SVF-doxygen/html/classSVF_1_1RelExeState-members.html +1 -1
  85. package/SVF-doxygen/html/classSVF_1_1RelExeState.html +8 -8
  86. package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +8 -8
  87. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +106 -107
  88. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState-members.html +141 -0
  89. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState.html +3137 -0
  90. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +5 -5
  91. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +56 -57
  92. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1128 -1178
  93. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  94. package/SVF-doxygen/html/classSVF_1_1SparseAbstractState-members.html +157 -0
  95. package/SVF-doxygen/html/classSVF_1_1SparseAbstractState.html +1512 -0
  96. package/SVF-doxygen/html/classSVF_1_1SparseAbstractState.png +0 -0
  97. package/SVF-doxygen/html/classSVF_1_1Z3Expr.html +0 -1
  98. package/SVF-doxygen/html/classSVF_1_1Z3Expr.png +0 -0
  99. package/SVF-doxygen/html/classSymblicAbstractionTest-members.html +3 -3
  100. package/SVF-doxygen/html/classSymblicAbstractionTest.html +400 -404
  101. package/SVF-doxygen/html/classes.html +326 -336
  102. package/SVF-doxygen/html/dir_2c6fb801affc4b3efe6e1ed5974683f6.html +2 -10
  103. package/SVF-doxygen/html/dir_81caa96ab1d3de93b353e2bbe80e6067.html +2 -4
  104. package/SVF-doxygen/html/dir_9a8e7a56f4029a0d9f62b1c6d1f6e85b.html +2 -8
  105. package/SVF-doxygen/html/dir_fbec400583b4bd6c5f2e89c86c5943a6.html +2 -4
  106. package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  107. package/SVF-doxygen/html/files.html +18 -27
  108. package/SVF-doxygen/html/functions.html +33 -56
  109. package/SVF-doxygen/html/functions_a.html +29 -42
  110. package/SVF-doxygen/html/functions_b.html +14 -21
  111. package/SVF-doxygen/html/functions_c.html +42 -52
  112. package/SVF-doxygen/html/functions_d.html +7 -4
  113. package/SVF-doxygen/html/functions_e.html +7 -21
  114. package/SVF-doxygen/html/functions_enum.html +4 -7
  115. package/SVF-doxygen/html/functions_eval.html +2 -2
  116. package/SVF-doxygen/html/functions_eval_c.html +0 -3
  117. package/SVF-doxygen/html/functions_eval_i.html +2 -3
  118. package/SVF-doxygen/html/functions_eval_m.html +2 -2
  119. package/SVF-doxygen/html/functions_eval_s.html +2 -5
  120. package/SVF-doxygen/html/functions_eval_u.html +4 -1
  121. package/SVF-doxygen/html/functions_f.html +6 -6
  122. package/SVF-doxygen/html/functions_func.html +24 -31
  123. package/SVF-doxygen/html/functions_func_b.html +10 -16
  124. package/SVF-doxygen/html/functions_func_c.html +30 -39
  125. package/SVF-doxygen/html/functions_func_d.html +1 -1
  126. package/SVF-doxygen/html/functions_func_e.html +7 -17
  127. package/SVF-doxygen/html/functions_func_g.html +61 -115
  128. package/SVF-doxygen/html/functions_func_h.html +22 -24
  129. package/SVF-doxygen/html/functions_func_i.html +64 -94
  130. package/SVF-doxygen/html/functions_func_j.html +4 -6
  131. package/SVF-doxygen/html/functions_func_l.html +9 -23
  132. package/SVF-doxygen/html/functions_func_m.html +7 -8
  133. package/SVF-doxygen/html/functions_func_n.html +8 -13
  134. package/SVF-doxygen/html/functions_func_o.html +57 -48
  135. package/SVF-doxygen/html/functions_func_p.html +6 -11
  136. package/SVF-doxygen/html/functions_func_r.html +4 -4
  137. package/SVF-doxygen/html/functions_func_s.html +35 -50
  138. package/SVF-doxygen/html/functions_func_t.html +26 -40
  139. package/SVF-doxygen/html/functions_func_u.html +6 -5
  140. package/SVF-doxygen/html/functions_func_v.html +2 -9
  141. package/SVF-doxygen/html/functions_func_w.html +9 -8
  142. package/SVF-doxygen/html/functions_func_z.html +1 -2
  143. package/SVF-doxygen/html/functions_func_~.html +10 -22
  144. package/SVF-doxygen/html/functions_g.html +61 -118
  145. package/SVF-doxygen/html/functions_h.html +21 -23
  146. package/SVF-doxygen/html/functions_i.html +76 -106
  147. package/SVF-doxygen/html/functions_j.html +4 -6
  148. package/SVF-doxygen/html/functions_k.html +0 -6
  149. package/SVF-doxygen/html/functions_l.html +11 -25
  150. package/SVF-doxygen/html/functions_m.html +8 -9
  151. package/SVF-doxygen/html/functions_n.html +14 -17
  152. package/SVF-doxygen/html/functions_o.html +71 -90
  153. package/SVF-doxygen/html/functions_p.html +31 -30
  154. package/SVF-doxygen/html/functions_r.html +11 -15
  155. package/SVF-doxygen/html/functions_rela.html +2 -3
  156. package/SVF-doxygen/html/functions_rela_b.html +0 -1
  157. package/SVF-doxygen/html/functions_rela_e.html +0 -1
  158. package/SVF-doxygen/html/functions_rela_i.html +0 -2
  159. package/SVF-doxygen/html/functions_rela_l.html +0 -1
  160. package/SVF-doxygen/html/functions_rela_o.html +0 -18
  161. package/SVF-doxygen/html/functions_rela_r.html +2 -2
  162. package/SVF-doxygen/html/functions_rela_s.html +4 -9
  163. package/SVF-doxygen/html/functions_s.html +45 -70
  164. package/SVF-doxygen/html/functions_t.html +29 -45
  165. package/SVF-doxygen/html/functions_type.html +0 -5
  166. package/SVF-doxygen/html/functions_type_c.html +1 -1
  167. package/SVF-doxygen/html/functions_type_k.html +0 -6
  168. package/SVF-doxygen/html/functions_type_l.html +4 -3
  169. package/SVF-doxygen/html/functions_type_t.html +0 -3
  170. package/SVF-doxygen/html/functions_type_v.html +3 -5
  171. package/SVF-doxygen/html/functions_u.html +8 -4
  172. package/SVF-doxygen/html/functions_v.html +11 -20
  173. package/SVF-doxygen/html/functions_vars.html +33 -56
  174. package/SVF-doxygen/html/functions_vars_a.html +3 -0
  175. package/SVF-doxygen/html/functions_vars_g.html +2 -5
  176. package/SVF-doxygen/html/functions_vars_i.html +3 -0
  177. package/SVF-doxygen/html/functions_vars_t.html +1 -0
  178. package/SVF-doxygen/html/functions_w.html +11 -10
  179. package/SVF-doxygen/html/functions_z.html +1 -2
  180. package/SVF-doxygen/html/functions_~.html +10 -22
  181. package/SVF-doxygen/html/globals.html +2 -2
  182. package/SVF-doxygen/html/globals_defs.html +1 -4
  183. package/SVF-doxygen/html/globals_n.html +2 -5
  184. package/SVF-doxygen/html/globals_s.html +1 -1
  185. package/SVF-doxygen/html/globals_vars.html +5 -5
  186. package/SVF-doxygen/html/globals_z.html +3 -3
  187. package/SVF-doxygen/html/hierarchy.html +622 -631
  188. package/SVF-doxygen/html/namespaceSVF.html +449 -458
  189. package/SVF-doxygen/html/search/all_0.js +155 -161
  190. package/SVF-doxygen/html/search/all_1.js +502 -503
  191. package/SVF-doxygen/html/search/all_10.js +325 -326
  192. package/SVF-doxygen/html/search/all_11.js +227 -227
  193. package/SVF-doxygen/html/search/all_12.js +563 -574
  194. package/SVF-doxygen/html/search/all_13.js +206 -208
  195. package/SVF-doxygen/html/search/all_14.js +74 -73
  196. package/SVF-doxygen/html/search/all_15.js +175 -176
  197. package/SVF-doxygen/html/search/all_16.js +77 -77
  198. package/SVF-doxygen/html/search/all_17.js +1 -1
  199. package/SVF-doxygen/html/search/all_18.js +1 -1
  200. package/SVF-doxygen/html/search/all_19.js +27 -27
  201. package/SVF-doxygen/html/search/all_1a.js +175 -179
  202. package/SVF-doxygen/html/search/all_2.js +180 -182
  203. package/SVF-doxygen/html/search/all_3.js +636 -642
  204. package/SVF-doxygen/html/search/all_4.js +237 -236
  205. package/SVF-doxygen/html/search/all_5.js +120 -126
  206. package/SVF-doxygen/html/search/all_6.js +236 -236
  207. package/SVF-doxygen/html/search/all_7.js +1040 -1056
  208. package/SVF-doxygen/html/search/all_8.js +211 -215
  209. package/SVF-doxygen/html/search/all_9.js +631 -638
  210. package/SVF-doxygen/html/search/all_a.js +46 -46
  211. package/SVF-doxygen/html/search/all_b.js +24 -26
  212. package/SVF-doxygen/html/search/all_c.js +113 -115
  213. package/SVF-doxygen/html/search/all_d.js +205 -205
  214. package/SVF-doxygen/html/search/all_e.js +207 -209
  215. package/SVF-doxygen/html/search/all_f.js +122 -122
  216. package/SVF-doxygen/html/search/classes_0.js +29 -28
  217. package/SVF-doxygen/html/search/classes_1.js +11 -11
  218. package/SVF-doxygen/html/search/classes_10.js +72 -74
  219. package/SVF-doxygen/html/search/classes_11.js +14 -14
  220. package/SVF-doxygen/html/search/classes_12.js +2 -2
  221. package/SVF-doxygen/html/search/classes_13.js +10 -10
  222. package/SVF-doxygen/html/search/classes_14.js +19 -19
  223. package/SVF-doxygen/html/search/classes_15.js +1 -1
  224. package/SVF-doxygen/html/search/classes_2.js +72 -73
  225. package/SVF-doxygen/html/search/classes_3.js +35 -35
  226. package/SVF-doxygen/html/search/classes_4.js +7 -8
  227. package/SVF-doxygen/html/search/classes_5.js +28 -28
  228. package/SVF-doxygen/html/search/classes_6.js +98 -98
  229. package/SVF-doxygen/html/search/classes_7.js +34 -38
  230. package/SVF-doxygen/html/search/classes_8.js +57 -59
  231. package/SVF-doxygen/html/search/classes_9.js +1 -1
  232. package/SVF-doxygen/html/search/classes_a.js +12 -12
  233. package/SVF-doxygen/html/search/classes_b.js +29 -29
  234. package/SVF-doxygen/html/search/classes_c.js +6 -6
  235. package/SVF-doxygen/html/search/classes_d.js +19 -19
  236. package/SVF-doxygen/html/search/classes_e.js +36 -36
  237. package/SVF-doxygen/html/search/classes_f.js +25 -25
  238. package/SVF-doxygen/html/search/defines_0.js +3 -3
  239. package/SVF-doxygen/html/search/defines_1.js +3 -3
  240. package/SVF-doxygen/html/search/defines_10.js +2 -2
  241. package/SVF-doxygen/html/search/defines_2.js +30 -30
  242. package/SVF-doxygen/html/search/defines_3.js +20 -20
  243. package/SVF-doxygen/html/search/defines_4.js +3 -3
  244. package/SVF-doxygen/html/search/defines_5.js +4 -4
  245. package/SVF-doxygen/html/search/defines_6.js +2 -2
  246. package/SVF-doxygen/html/search/defines_7.js +5 -5
  247. package/SVF-doxygen/html/search/defines_8.js +11 -11
  248. package/SVF-doxygen/html/search/defines_9.js +9 -9
  249. package/SVF-doxygen/html/search/defines_a.js +2 -2
  250. package/SVF-doxygen/html/search/defines_b.js +1 -1
  251. package/SVF-doxygen/html/search/defines_c.js +3 -4
  252. package/SVF-doxygen/html/search/defines_d.js +2 -2
  253. package/SVF-doxygen/html/search/defines_e.js +8 -8
  254. package/SVF-doxygen/html/search/defines_f.js +4 -4
  255. package/SVF-doxygen/html/search/enums_0.js +3 -4
  256. package/SVF-doxygen/html/search/enums_1.js +2 -2
  257. package/SVF-doxygen/html/search/enums_10.js +1 -1
  258. package/SVF-doxygen/html/search/enums_11.js +1 -1
  259. package/SVF-doxygen/html/search/enums_2.js +9 -9
  260. package/SVF-doxygen/html/search/enums_3.js +2 -1
  261. package/SVF-doxygen/html/search/enums_4.js +3 -4
  262. package/SVF-doxygen/html/search/enums_5.js +1 -1
  263. package/SVF-doxygen/html/search/enums_6.js +2 -2
  264. package/SVF-doxygen/html/search/enums_7.js +2 -2
  265. package/SVF-doxygen/html/search/enums_8.js +4 -4
  266. package/SVF-doxygen/html/search/enums_9.js +1 -1
  267. package/SVF-doxygen/html/search/enums_a.js +1 -1
  268. package/SVF-doxygen/html/search/enums_b.js +7 -7
  269. package/SVF-doxygen/html/search/enums_c.js +1 -1
  270. package/SVF-doxygen/html/search/enums_d.js +4 -4
  271. package/SVF-doxygen/html/search/enums_e.js +2 -2
  272. package/SVF-doxygen/html/search/enums_f.js +4 -4
  273. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  274. package/SVF-doxygen/html/search/enumvalues_1.js +16 -16
  275. package/SVF-doxygen/html/search/enumvalues_10.js +36 -36
  276. package/SVF-doxygen/html/search/enumvalues_11.js +6 -5
  277. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  278. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  279. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  280. package/SVF-doxygen/html/search/enumvalues_15.js +4 -4
  281. package/SVF-doxygen/html/search/enumvalues_2.js +36 -37
  282. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  283. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  284. package/SVF-doxygen/html/search/enumvalues_5.js +50 -50
  285. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  286. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  287. package/SVF-doxygen/html/search/enumvalues_8.js +24 -24
  288. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  289. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  290. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  291. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  292. package/SVF-doxygen/html/search/enumvalues_d.js +19 -19
  293. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  294. package/SVF-doxygen/html/search/enumvalues_f.js +48 -49
  295. package/SVF-doxygen/html/search/files_0.js +18 -16
  296. package/SVF-doxygen/html/search/files_1.js +9 -9
  297. package/SVF-doxygen/html/search/files_10.js +8 -8
  298. package/SVF-doxygen/html/search/files_11.js +8 -8
  299. package/SVF-doxygen/html/search/files_12.js +2 -2
  300. package/SVF-doxygen/html/search/files_2.js +51 -53
  301. package/SVF-doxygen/html/search/files_3.js +14 -14
  302. package/SVF-doxygen/html/search/files_4.js +3 -5
  303. package/SVF-doxygen/html/search/files_5.js +13 -13
  304. package/SVF-doxygen/html/search/files_6.js +10 -10
  305. package/SVF-doxygen/html/search/files_7.js +15 -17
  306. package/SVF-doxygen/html/search/files_8.js +13 -13
  307. package/SVF-doxygen/html/search/files_9.js +18 -18
  308. package/SVF-doxygen/html/search/files_a.js +3 -3
  309. package/SVF-doxygen/html/search/files_b.js +4 -4
  310. package/SVF-doxygen/html/search/files_c.js +20 -20
  311. package/SVF-doxygen/html/search/files_d.js +4 -4
  312. package/SVF-doxygen/html/search/files_e.js +57 -62
  313. package/SVF-doxygen/html/search/files_f.js +8 -8
  314. package/SVF-doxygen/html/search/functions_0.js +13 -13
  315. package/SVF-doxygen/html/search/functions_1.js +366 -368
  316. package/SVF-doxygen/html/search/functions_10.js +139 -140
  317. package/SVF-doxygen/html/search/functions_11.js +140 -140
  318. package/SVF-doxygen/html/search/functions_12.js +294 -299
  319. package/SVF-doxygen/html/search/functions_13.js +72 -73
  320. package/SVF-doxygen/html/search/functions_14.js +41 -41
  321. package/SVF-doxygen/html/search/functions_15.js +70 -72
  322. package/SVF-doxygen/html/search/functions_16.js +38 -38
  323. package/SVF-doxygen/html/search/functions_17.js +3 -3
  324. package/SVF-doxygen/html/search/functions_18.js +175 -179
  325. package/SVF-doxygen/html/search/functions_2.js +92 -94
  326. package/SVF-doxygen/html/search/functions_3.js +258 -261
  327. package/SVF-doxygen/html/search/functions_4.js +85 -85
  328. package/SVF-doxygen/html/search/functions_5.js +54 -57
  329. package/SVF-doxygen/html/search/functions_6.js +65 -65
  330. package/SVF-doxygen/html/search/functions_7.js +857 -872
  331. package/SVF-doxygen/html/search/functions_8.js +162 -162
  332. package/SVF-doxygen/html/search/functions_9.js +440 -446
  333. package/SVF-doxygen/html/search/functions_a.js +30 -30
  334. package/SVF-doxygen/html/search/functions_b.js +2 -2
  335. package/SVF-doxygen/html/search/functions_c.js +22 -25
  336. package/SVF-doxygen/html/search/functions_d.js +82 -82
  337. package/SVF-doxygen/html/search/functions_e.js +34 -36
  338. package/SVF-doxygen/html/search/functions_f.js +58 -58
  339. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  340. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  341. package/SVF-doxygen/html/search/related_0.js +4 -4
  342. package/SVF-doxygen/html/search/related_1.js +2 -2
  343. package/SVF-doxygen/html/search/related_2.js +2 -2
  344. package/SVF-doxygen/html/search/related_3.js +2 -2
  345. package/SVF-doxygen/html/search/related_4.js +2 -2
  346. package/SVF-doxygen/html/search/related_5.js +1 -1
  347. package/SVF-doxygen/html/search/related_6.js +2 -2
  348. package/SVF-doxygen/html/search/related_7.js +5 -5
  349. package/SVF-doxygen/html/search/related_8.js +2 -2
  350. package/SVF-doxygen/html/search/related_9.js +4 -4
  351. package/SVF-doxygen/html/search/related_a.js +19 -19
  352. package/SVF-doxygen/html/search/related_b.js +4 -4
  353. package/SVF-doxygen/html/search/related_c.js +2 -2
  354. package/SVF-doxygen/html/search/related_d.js +11 -12
  355. package/SVF-doxygen/html/search/related_e.js +2 -2
  356. package/SVF-doxygen/html/search/related_f.js +2 -2
  357. package/SVF-doxygen/html/search/typedefs_0.js +18 -19
  358. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  359. package/SVF-doxygen/html/search/typedefs_10.js +65 -65
  360. package/SVF-doxygen/html/search/typedefs_11.js +12 -13
  361. package/SVF-doxygen/html/search/typedefs_12.js +13 -13
  362. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  363. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  364. package/SVF-doxygen/html/search/typedefs_2.js +125 -125
  365. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  366. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  367. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  368. package/SVF-doxygen/html/search/typedefs_6.js +54 -54
  369. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  370. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  371. package/SVF-doxygen/html/search/typedefs_9.js +4 -6
  372. package/SVF-doxygen/html/search/typedefs_a.js +30 -29
  373. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  374. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  375. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  376. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  377. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  378. package/SVF-doxygen/html/search/variables_0.js +171 -177
  379. package/SVF-doxygen/html/search/variables_1.js +78 -77
  380. package/SVF-doxygen/html/search/variables_10.js +98 -98
  381. package/SVF-doxygen/html/search/variables_11.js +47 -47
  382. package/SVF-doxygen/html/search/variables_12.js +93 -93
  383. package/SVF-doxygen/html/search/variables_13.js +76 -76
  384. package/SVF-doxygen/html/search/variables_14.js +14 -14
  385. package/SVF-doxygen/html/search/variables_15.js +49 -49
  386. package/SVF-doxygen/html/search/variables_16.js +11 -11
  387. package/SVF-doxygen/html/search/variables_17.js +1 -1
  388. package/SVF-doxygen/html/search/variables_18.js +17 -17
  389. package/SVF-doxygen/html/search/variables_2.js +40 -40
  390. package/SVF-doxygen/html/search/variables_3.js +143 -143
  391. package/SVF-doxygen/html/search/variables_4.js +51 -51
  392. package/SVF-doxygen/html/search/variables_5.js +39 -39
  393. package/SVF-doxygen/html/search/variables_6.js +66 -66
  394. package/SVF-doxygen/html/search/variables_7.js +33 -34
  395. package/SVF-doxygen/html/search/variables_8.js +8 -8
  396. package/SVF-doxygen/html/search/variables_9.js +80 -79
  397. package/SVF-doxygen/html/search/variables_a.js +4 -4
  398. package/SVF-doxygen/html/search/variables_b.js +10 -10
  399. package/SVF-doxygen/html/search/variables_c.js +44 -44
  400. package/SVF-doxygen/html/search/variables_d.js +58 -58
  401. package/SVF-doxygen/html/search/variables_e.js +123 -123
  402. package/SVF-doxygen/html/search/variables_f.js +31 -31
  403. package/SVF-doxygen/html/structSVF_1_1AbstractValue-members.html +164 -0
  404. package/SVF-doxygen/html/structSVF_1_1AbstractValue.html +2820 -0
  405. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseAbstractState_01_4-members.html +84 -0
  406. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseAbstractState_01_4.html +130 -0
  407. package/SVF-doxygen/html/svf-ex_8cpp.html +25 -25
  408. package/SVF-doxygen/html/svf-ex_8cpp_source.html +26 -26
  409. package/package.json +1 -1
  410. package/svf/include/AE/Core/AbstractState.h +749 -0
  411. package/svf/include/AE/Core/AbstractValue.h +514 -39
  412. package/svf/include/AE/Core/AddressValue.h +32 -25
  413. package/svf/include/AE/Core/IntervalValue.h +10 -24
  414. package/svf/include/AE/Core/RelExeState.h +1 -1
  415. package/svf/include/AE/Core/RelationSolver.h +9 -9
  416. package/svf/include/AE/Svfexe/{AbstractExecution.h → AbstractInterpretation.h} +27 -26
  417. package/svf/include/AE/Svfexe/BufOverflowChecker.h +5 -5
  418. package/svf/include/AE/Svfexe/ICFGSimplification.h +1 -2
  419. package/svf/include/AE/Svfexe/{SVFIR2ItvExeState.h → SVFIR2AbsState.h} +30 -33
  420. package/svf/lib/AE/Core/AbstractState.cpp +357 -0
  421. package/svf/lib/AE/Core/RelationSolver.cpp +31 -31
  422. package/svf/lib/AE/Core/SVFIR2Relation.cpp +17 -16
  423. package/svf/lib/AE/Svfexe/{AbstractExecution.cpp → AbstractInterpretation.cpp} +166 -156
  424. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +51 -47
  425. package/svf/lib/AE/Svfexe/{SVFIR2ItvExeState.cpp → SVFIR2AbsState.cpp} +211 -247
  426. package/svf-llvm/tools/AE/ae.cpp +105 -108
  427. package/svf-llvm/tools/Example/svf-ex.cpp +2 -2
  428. package/svf/include/AE/Core/ConsExeState.h +0 -453
  429. package/svf/include/AE/Core/ExeState.h +0 -304
  430. package/svf/include/AE/Core/IntervalExeState.h +0 -650
  431. package/svf/include/AE/Core/SingleAbsValue.h +0 -477
  432. package/svf/include/AE/Core/SymState.h +0 -221
  433. package/svf/include/AE/Svfexe/SVFIR2ConsExeState.h +0 -148
  434. package/svf/lib/AE/Core/ConsExeState.cpp +0 -603
  435. package/svf/lib/AE/Core/ExeState.cpp +0 -117
  436. package/svf/lib/AE/Core/IntervalExeState.cpp +0 -329
  437. package/svf/lib/AE/Core/SymState.cpp +0 -37
  438. package/svf/lib/AE/Svfexe/SVFIR2ConsExeState.cpp +0 -772
@@ -0,0 +1,459 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.17"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/include/AE/Svfexe/AbstractInterpretation.h Source File</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.17 -->
33
+ <script type="text/javascript">
34
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
36
+ /* @license-end */
37
+ </script>
38
+ <script type="text/javascript" src="menudata.js"></script>
39
+ <script type="text/javascript" src="menu.js"></script>
40
+ <script type="text/javascript">
41
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
42
+ $(function() {
43
+ initMenu('',true,false,'search.php','Search');
44
+ $(document).ready(function() { init_search(); });
45
+ });
46
+ /* @license-end */</script>
47
+ <div id="main-nav"></div>
48
+ <!-- window showing the filter options -->
49
+ <div id="MSearchSelectWindow"
50
+ onmouseover="return searchBox.OnSearchSelectShow()"
51
+ onmouseout="return searchBox.OnSearchSelectHide()"
52
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
53
+ </div>
54
+
55
+ <!-- iframe showing the search results (closed by default) -->
56
+ <div id="MSearchResultsWindow">
57
+ <iframe src="javascript:void(0)" frameborder="0"
58
+ name="MSearchResults" id="MSearchResults">
59
+ </iframe>
60
+ </div>
61
+
62
+ <div id="nav-path" class="navpath">
63
+ <ul>
64
+ <li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_390f2a6be5eff59a6919ecbd9cc9f31d.html">include</a></li><li class="navelem"><a class="el" href="dir_53d761ae38d6f143a0d195c719804439.html">AE</a></li><li class="navelem"><a class="el" href="dir_fbec400583b4bd6c5f2e89c86c5943a6.html">Svfexe</a></li> </ul>
65
+ </div>
66
+ </div><!-- top -->
67
+ <div class="header">
68
+ <div class="headertitle">
69
+ <div class="title">AbstractInterpretation.h</div> </div>
70
+ </div><!--header-->
71
+ <div class="contents">
72
+ <a href="AbstractInterpretation_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- AbstractInterpretation.h -- Abstract Execution----------//</span></div>
73
+ <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
74
+ <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div>
75
+ <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div>
76
+ <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div>
77
+ <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
78
+ <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
79
+ <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div>
80
+ <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU Affero General Public License as published by</span></div>
81
+ <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div>
82
+ <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div>
83
+ <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
84
+ <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div>
85
+ <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
86
+ <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
87
+ <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU Affero General Public License for more details.</span></div>
88
+ <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
89
+ <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU Affero General Public License</span></div>
90
+ <div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
91
+ <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div>
92
+ <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// The implementation is based on</span></div>
93
+ <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// Xiao Cheng, Jiawei Wang and Yulei Sui. Precise Sparse Abstract Execution via Cross-Domain Interaction.</span></div>
94
+ <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// 46th International Conference on Software Engineering. (ICSE24)</span></div>
95
+ <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div>
96
+ <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
97
+ <div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
98
+ <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment">//</span></div>
99
+ <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">// Created by Jiawei Wang on 2024/1/10.</span></div>
100
+ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">//</span></div>
101
+ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
102
+ <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ICFGWTO_8h.html">AE/Core/ICFGWTO.h</a>&quot;</span></div>
103
+ <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFIR2AbsState_8h.html">AE/Svfexe/SVFIR2AbsState.h</a>&quot;</span></div>
104
+ <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFBugReport_8h.html">Util/SVFBugReport.h</a>&quot;</span></div>
105
+ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Andersen_8h.html">WPA/Andersen.h</a>&quot;</span></div>
106
+ <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
107
+ <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
108
+ <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div>
109
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">class </span>AbstractInterpretation;</div>
110
+ <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">class </span>AEStat;</div>
111
+ <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">class </span>AEAPI;</div>
112
+ <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
113
+ <div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classSVF_1_1FILOWorkList.html"> 42</a></span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">class </span><a class="code" href="classSVF_1_1FILOWorkList.html">FILOWorkList</a>;</div>
114
+ <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
115
+ <div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88"> 44</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a></div>
116
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
117
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">AbstractExecution</a>,</div>
118
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88aa5aa2ddadb5f0392b52dcbe487fe0ecd">BufOverflowChecker</a>,</div>
119
+ <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;};</div>
120
+ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
121
+ <div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html"> 51</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AEStat.html">AEStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFStat.html">SVFStat</a></div>
122
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
123
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">public</span>:</div>
124
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#ae2cfe939670689a4ec5030c096a5f546">countStateSize</a>();</div>
125
+ <div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a9a3a1cc22654d3d259599005a5336923"> 55</a></span>&#160; <a class="code" href="classSVF_1_1AEStat.html#a9a3a1cc22654d3d259599005a5336923">AEStat</a>(<a class="code" href="classSVF_1_1AbstractInterpretation.html">AbstractInterpretation</a>* ae) : <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>(ae)</div>
126
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
127
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a> = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>(<span class="keyword">true</span>);</div>
128
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
129
+ <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a974988b7df3982938e081883d7349a91"> 59</a></span>&#160; <a class="code" href="classSVF_1_1AEStat.html#a974988b7df3982938e081883d7349a91">~AEStat</a>()</div>
130
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
131
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div>
132
+ <div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e"> 62</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e">getMemUsage</a>()</div>
133
+ <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
134
+ <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> vmrss, vmsize;</div>
135
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVFUtil::getMemoryUsageKB</a>(&amp;vmrss, &amp;vmsize) ? std::to_string(vmsize) + <span class="stringliteral">&quot;KB&quot;</span> : <span class="stringliteral">&quot;cannot read memory usage&quot;</span>;</div>
136
+ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div>
137
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
138
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#a5b246c2175c44454236242dcf426f21f">finializeStat</a>();</div>
139
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#a798d07cc0a36ce0d9010ab86d1ec216f">performStat</a>() <span class="keyword">override</span>;</div>
140
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#ae24590233a864e18a6b0948bef89201a">reportBug</a>();</div>
141
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
142
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keyword">public</span>:</div>
143
+ <div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb"> 73</a></span>&#160; <a class="code" href="classSVF_1_1AbstractInterpretation.html">AbstractInterpretation</a>* <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>;</div>
144
+ <div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f"> 74</a></span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>{0};</div>
145
+ <div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a2064225a75798a495100eb7da2c880af"> 75</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#a2064225a75798a495100eb7da2c880af">memory_usage</a>;</div>
146
+ <div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19"> 76</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">memUsage</a>;</div>
147
+ <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a2387fafd4d8f7775cb4ebf7b41b07bf8"> 77</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#a2387fafd4d8f7775cb4ebf7b41b07bf8">bugStr</a>;</div>
148
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
149
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
150
+ <div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a8c69d36465485cddc17eddfdeea551e0"> 80</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&amp; <a class="code" href="classSVF_1_1AEStat.html#a8c69d36465485cddc17eddfdeea551e0">getFunctionTrace</a>()</div>
151
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
152
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.count(<span class="stringliteral">&quot;Function_Trace&quot;</span>) == 0)</div>
153
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
154
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Function_Trace&quot;</span>] = 0;</div>
155
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
156
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Function_Trace&quot;</span>];</div>
157
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
158
+ <div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a4a08e449307cdcb56e8e32ca346d5349"> 88</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&amp; <a class="code" href="classSVF_1_1AEStat.html#a4a08e449307cdcb56e8e32ca346d5349">getBlockTrace</a>()</div>
159
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
160
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.count(<span class="stringliteral">&quot;Block_Trace&quot;</span>) == 0)</div>
161
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
162
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Block_Trace&quot;</span>] = 0;</div>
163
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
164
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Block_Trace&quot;</span>];</div>
165
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
166
+ <div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#afaa47798ebfde513c709b46cac05294c"> 96</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&amp; <a class="code" href="classSVF_1_1AEStat.html#afaa47798ebfde513c709b46cac05294c">getICFGNodeTrace</a>()</div>
167
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div>
168
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.count(<span class="stringliteral">&quot;ICFG_Node_Trace&quot;</span>) == 0)</div>
169
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
170
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ICFG_Node_Trace&quot;</span>] = 0;</div>
171
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
172
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ICFG_Node_Trace&quot;</span>];</div>
173
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
174
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;};</div>
175
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
176
+ <div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html"> 107</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AbstractInterpretation.html">AbstractInterpretation</a></div>
177
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div>
178
+ <div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#adc6fd1004f4277cb4d6c8bb0dacf3208"> 109</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1AEStat.html">AEStat</a>;</div>
179
+ <div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#ac0bcb586dffbfadeb33f501cafbaa1c9"> 110</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1AbstractInterpretation.html#ac0bcb586dffbfadeb33f501cafbaa1c9">AEAPI</a>;</div>
180
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
181
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="keyword">public</span>:</div>
182
+ <div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daad20658cd0f68b92583461b0b1f68d543"> 113</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616da">ExtAPIType</a> { <a class="code" href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daad20658cd0f68b92583461b0b1f68d543">UNCLASSIFIED</a>, <a class="code" href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daa9cc269dadf9cff7d399c54d9570a6614">MEMCPY</a>, <a class="code" href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daa5aec33226dc590ec951d0f12bf35f15f">MEMSET</a>, <a class="code" href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daa93c9b2a9dc4bdfba5a7b23cfa5f80ccb">STRCPY</a>, <a class="code" href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daae8dad405c06383859d8db715fd455317">STRCAT</a> };</div>
183
+ <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a3c1b3407928ab39c68300e9d8f225d46"> 114</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SCCDetection.html">SCCDetection&lt;PTACallGraph*&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a3c1b3407928ab39c68300e9d8f225d46">CallGraphSCC</a>;</div>
184
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1AbstractInterpretation.html#a4080994b793d9510c00cb3a0260e0a61">AbstractInterpretation</a>();</div>
185
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
186
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a971a676fb15da74d37de14725bab40b0">runOnModule</a>(<a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg);</div>
187
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
188
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#aae29a8da31fddd069cb0e19cc2f78d46">~AbstractInterpretation</a>();</div>
189
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
190
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2670b663d2c5afa974dfc0f316a273d1">analyse</a>();</div>
191
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
192
+ <div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#aa2d9b63cb2d303e6a1d4fe84a0df265f"> 126</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#aa2d9b63cb2d303e6a1d4fe84a0df265f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html">AbstractInterpretation</a>* ae)</div>
193
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
194
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> ae-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a5a17c9de696332a712879d1a7bc77fb5">getKind</a>() == <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">AEKind::AbstractExecution</a>;</div>
195
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
196
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
197
+ <div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a5a17c9de696332a712879d1a7bc77fb5"> 131</a></span>&#160; <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a5a17c9de696332a712879d1a7bc77fb5">getKind</a>()<span class="keyword"> const</span></div>
198
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keyword"> </span>{</div>
199
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a5d3b15c3cdb9c8e91b942924bf8aee21">_kind</a>;</div>
200
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
201
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
202
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keyword">protected</span>:</div>
203
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a276182afcfe95235ebd2d452424e87e7">handleGlobalNode</a>();</div>
204
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
205
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a738d1768c632f86d04599ec1aa53952a">markRecursiveFuns</a>();</div>
206
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
207
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#adb96deda4bbb81956a6cfa5740503cb7">hasInEdgesES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node);</div>
208
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
209
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a8095a9c37c9ca4b96f2279df6f59bbf9">hasBranchES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge, <a class="code" href="classSVF_1_1SparseAbstractState.html">SparseAbstractState</a>&amp; es);</div>
210
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
211
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a80d663262a8d909ef5756391cdd82246">handleWTONode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node);</div>
212
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
213
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a9b179466955023f275b6692b59048846">handleICFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node);</div>
214
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
215
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#abbb4e49644121f6b038fd8fb4d7b0034">handleCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node);</div>
216
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
217
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a71dff5d6a5b291014c0a65d3a6d7c8c1">handleCycle</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycle.html">ICFGWTOCycle</a>* cycle);</div>
218
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
219
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2e2253149e2bf114825a4e838118e012">handleFunc</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func);</div>
220
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
221
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a896d04a02951947bc228bf97b2c00313">handleSVFStatement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a>* stmt);</div>
222
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
223
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#af966130d5cb8d7db786c3ec056cc2dd4">SkipRecursiveCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callnode);</div>
224
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
225
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2b0a2f7a662909d999634d0ec08cb29c">SkipRecursiveFunc</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func);</div>
226
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
227
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#ae0c0148baf6f7510bf8e70ee3ad626bf">hasCmpBranchES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CmpStmt.html">CmpStmt</a>* cmpStmt, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> succ,</div>
228
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SparseAbstractState.html">SparseAbstractState</a>&amp; es);</div>
229
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
230
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#ad5e8e749aec9d1c040c6be7eb26748e2">hasSwitchBranchES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* var, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> succ,</div>
231
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1SparseAbstractState.html">SparseAbstractState</a>&amp; es);</div>
232
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
233
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
234
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a6cac9b69d85111a5a26373ec848a3282">handleExtAPI</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call);</div>
235
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
236
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#ab18fe64117c1692d94ce0e0ee44e940b">initExtFunMap</a>();</div>
237
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
238
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a0e8b546f608417e218c2fab5a5893135">getAllocaInstByteSize</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AddrStmt.html">AddrStmt</a> *addr);</div>
239
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
240
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a7dfd11b987d9ff9528277e23191ed95d">strRead</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* rhs);</div>
241
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
242
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a5bba3c0570d73acc743742a30af1b0b4">getStrlen</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a> *strValue);</div>
243
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; </div>
244
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#ac9e8bc430cd530e47811e28f5a9fe963">traceMemoryAllocationSize</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value);</div>
245
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#ac941d1eb9b1216c8334d0685a471b774">handleStrcpy</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call);</div>
246
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#acba90e968cebacca3da78ac765df33ef">handleStrcat</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call);</div>
247
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#adf02c5bf1b86f00163b114a78e03120c">handleMemcpy</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* dst, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* src, <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> len, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> start_idx);</div>
248
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a568e2247536de76694dabfc5a5052b57">handleMemset</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* dst, <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> elem, <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> len);</div>
249
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; </div>
250
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2057e8e1c0aaf39e74f0a8fb2a1b580c">getPointeeElement</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>);</div>
251
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; </div>
252
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#aae7c67e9c423599442be721b55cd7279">collectCheckPoint</a>();</div>
253
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#acea2c82e5b463db6f097e9a9641f601b">checkPointAllSet</a>();</div>
254
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">// helper functions for traceMemoryAllocationSize and canSafelyAccessMemory</span></div>
255
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a29fe7c63c61a7aec8ae1477a061f5bf2">AccessMemoryViaRetNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *callnode, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList&lt;const SVFValue *&gt;</a>&amp; worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFValue *&gt;</a>&amp; visited);</div>
256
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a550c12360c2149ba0e55bdf4cf7b8dd0">AccessMemoryViaCopyStmt</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CopyStmt.html">CopyStmt</a> *<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList&lt;const SVFValue *&gt;</a>&amp; worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFValue *&gt;</a>&amp; visited);</div>
257
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#ac60581a57407fa4c65b1975f5be687b8">AccessMemoryViaLoadStmt</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *load, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList&lt;const SVFValue *&gt;</a>&amp; worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFValue *&gt;</a>&amp; visited);</div>
258
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a048e203517ac727e6fe0653e1f24052c">AccessMemoryViaCallArgs</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a> *arg, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList&lt;const SVFValue *&gt;</a>&amp; worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFValue *&gt;</a>&amp; visited);</div>
259
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; </div>
260
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; </div>
261
+ <div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9"> 342</a></span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">_svfir</a>;</div>
262
+ <div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#adf3fad75a4f96aefe5c25e3405509fbe"> 343</a></span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#adf3fad75a4f96aefe5c25e3405509fbe">_callgraph</a>;</div>
263
+ <div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#af78f068a373ebb6a2f14dcde980a9dae"> 345</a></span>&#160; <a class="code" href="classSVF_1_1SVFIR2AbsState.html">SVFIR2AbsState</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#af78f068a373ebb6a2f14dcde980a9dae">_svfir2ExeState</a>;</div>
264
+ <div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a00154ebaceda1be070b38803c1a82535"> 346</a></span>&#160; <a class="code" href="classSVF_1_1AbstractInterpretation.html#ac0bcb586dffbfadeb33f501cafbaa1c9">AEAPI</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#a00154ebaceda1be070b38803c1a82535">_api</a>{<span class="keyword">nullptr</span>};</div>
265
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
266
+ <div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#ab988e460fe92f0ba3c4cbee8e0c480a0"> 348</a></span>&#160; <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#ab988e460fe92f0ba3c4cbee8e0c480a0">_icfg</a>;</div>
267
+ <div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a75e493e6b9db3e29428794432d293bc2"> 349</a></span>&#160; <a class="code" href="classSVF_1_1AEStat.html">AEStat</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#a75e493e6b9db3e29428794432d293bc2">_stat</a>;</div>
268
+ <div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a5d3b15c3cdb9c8e91b942924bf8aee21"> 350</a></span>&#160; <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a5d3b15c3cdb9c8e91b942924bf8aee21">_kind</a>;</div>
269
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
270
+ <div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a2a5e0a88ebef4ae740983726e7f1b5eb"> 352</a></span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;std::string&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2a5e0a88ebef4ae740983726e7f1b5eb">_bugLoc</a>;</div>
271
+ <div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a8e4f0c5f527e321369a19a0b37124079"> 353</a></span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html">SVFBugReport</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a8e4f0c5f527e321369a19a0b37124079">_recoder</a>;</div>
272
+ <div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a9885b50cf28b65bebb488442085fab26"> 354</a></span>&#160; std::vector&lt;const CallICFGNode*&gt; <a class="code" href="classSVF_1_1AbstractInterpretation.html#a9885b50cf28b65bebb488442085fab26">_callSiteStack</a>;</div>
273
+ <div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041"> 355</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const ICFGNode*, std::string&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>;</div>
274
+ <div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#abc0d4715611b8f4a61e1da82658ef95f"> 356</a></span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* <a class="code" href="classSVF_1_1AbstractInterpretation.html#abc0d4715611b8f4a61e1da82658ef95f">_ander</a>;</div>
275
+ <div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#af41aa555a5b607ae7700263ac72f8dbb"> 357</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFFunction*, ICFGWTO*&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#af41aa555a5b607ae7700263ac72f8dbb">_funcToWTO</a>;</div>
276
+ <div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a9b5e58476c372570551da971d22c5c02"> 358</a></span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction*&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a9b5e58476c372570551da971d22c5c02">_recursiveFuns</a>;</div>
277
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; </div>
278
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="keyword">private</span>:</div>
279
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="comment">// helper functions in handleCallSite</span></div>
280
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2eb84610d9a9eca6565e4a8a1e1156d1">isExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
281
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a271d3ac0f8725108e324b5c391988c49">extCallPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
282
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a0e2af184576d9673f535fe80deb944f6">isRecursiveCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
283
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a0e36af6b826b9eacf183aebd0b8c5f1f">recursiveCallPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
284
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a14c758bcbbc7d8197c5fa1851720b663">isDirectCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
285
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2a317e4263c4d8acbc5088a18a3849aa">directCallFunPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
286
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a330379cef58219f72f4ec4c12a6d86ea">isIndirectCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
287
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a8a711cc127a422b4fa8e8fd781811c3f">indirectCallFunPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
288
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; </div>
289
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">// helper functions in hasInEdgesES</span></div>
290
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a156687481295e019887c5ea309360347">isFunEntry</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node);</div>
291
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#abcbfff7e33ef9d901bb37e64fe2ba53c">isGlobalEntry</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node);</div>
292
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; </div>
293
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="comment">// helper functions in handleCycle</span></div>
294
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a58cb8f82b313eeed2055c1cf04643a42">widenFixpointPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* cycle_head,</div>
295
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="classSVF_1_1SparseAbstractState.html">SparseAbstractState</a>&amp; pre_es);</div>
296
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractInterpretation.html#ae75956481a2aa8b5337cb4a362f2050e">narrowFixpointPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* cycle_head,</div>
297
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <a class="code" href="classSVF_1_1SparseAbstractState.html">SparseAbstractState</a>&amp; pre_es);</div>
298
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; </div>
299
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="keyword">protected</span>:</div>
300
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="comment">// there data should be shared with subclasses</span></div>
301
+ <div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#aa27d0ef684deec1f5385fdb0d4c64827"> 383</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>, std::function&lt;void(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;)&gt;&gt; <a class="code" href="classSVF_1_1AbstractInterpretation.html#aa27d0ef684deec1f5385fdb0d4c64827">_func_map</a>;</div>
302
+ <div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a219313e979d779221116c1bc45becc1b"> 384</a></span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const CallICFGNode*&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a219313e979d779221116c1bc45becc1b">_checkpoints</a>;</div>
303
+ <div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a2a1e1b72ed740cef4c3e57e3e32c3f75"> 385</a></span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;std::string&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a2a1e1b72ed740cef4c3e57e3e32c3f75">_checkpoint_names</a>;</div>
304
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
305
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="keyword">private</span>:</div>
306
+ <div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#aeeb85346212cabd5ae70e19041131094"> 388</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const ICFGNode*, SparseAbstractState&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#aeeb85346212cabd5ae70e19041131094">_preAbstractTrace</a>;</div>
307
+ <div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#a8a7a673452ccba14e5aa025313dd9832"> 389</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const ICFGNode*, SparseAbstractState&gt;</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#a8a7a673452ccba14e5aa025313dd9832">_postAbstractTrace</a>;</div>
308
+ <div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractInterpretation.html#afefc0098ecd9bc01ce270a4a6f251b0c"> 390</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AbstractInterpretation.html#afefc0098ecd9bc01ce270a4a6f251b0c">_moduleName</a>;</div>
309
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;};</div>
310
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;}</div>
311
+ </div><!-- fragment --></div><!-- contents -->
312
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_abc0d4715611b8f4a61e1da82658ef95f"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#abc0d4715611b8f4a61e1da82658ef95f">SVF::AbstractInterpretation::_ander</a></div><div class="ttdeci">AndersenWaveDiff * _ander</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00356">AbstractInterpretation.h:356</a></div></div>
313
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></div><div class="ttdoc">AbstractInterpretation is same as Abstract Execution.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00107">AbstractInterpretation.h:107</a></div></div>
314
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00364">SVFStatements.h:364</a></div></div>
315
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a8a711cc127a422b4fa8e8fd781811c3f"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a8a711cc127a422b4fa8e8fd781811c3f">SVF::AbstractInterpretation::indirectCallFunPass</a></div><div class="ttdeci">virtual void indirectCallFunPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00687">AbstractInterpretation.cpp:687</a></div></div>
316
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_afefc0098ecd9bc01ce270a4a6f251b0c"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#afefc0098ecd9bc01ce270a4a6f251b0c">SVF::AbstractInterpretation::_moduleName</a></div><div class="ttdeci">std::string _moduleName</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00390">AbstractInterpretation.h:390</a></div></div>
317
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a8a7a673452ccba14e5aa025313dd9832"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a8a7a673452ccba14e5aa025313dd9832">SVF::AbstractInterpretation::_postAbstractTrace</a></div><div class="ttdeci">Map&lt; const ICFGNode *, SparseAbstractState &gt; _postAbstractTrace</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00389">AbstractInterpretation.h:389</a></div></div>
318
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a75e493e6b9db3e29428794432d293bc2"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a75e493e6b9db3e29428794432d293bc2">SVF::AbstractInterpretation::_stat</a></div><div class="ttdeci">AEStat * _stat</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00349">AbstractInterpretation.h:349</a></div></div>
319
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a14c758bcbbc7d8197c5fa1851720b663"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a14c758bcbbc7d8197c5fa1851720b663">SVF::AbstractInterpretation::isDirectCall</a></div><div class="ttdeci">virtual bool isDirectCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00660">AbstractInterpretation.cpp:660</a></div></div>
320
+ <div class="ttc" id="aclassSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00313">SVFStatements.h:313</a></div></div>
321
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_adf3fad75a4f96aefe5c25e3405509fbe"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#adf3fad75a4f96aefe5c25e3405509fbe">SVF::AbstractInterpretation::_callgraph</a></div><div class="ttdeci">PTACallGraph * _callgraph</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00343">AbstractInterpretation.h:343</a></div></div>
322
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_abd7a79d1fe50110a0c1d448027492669"><div class="ttname"><a href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">SVF::SVFStat::startTime</a></div><div class="ttdeci">double startTime</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00080">SVFStat.h:80</a></div></div>
323
+ <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00096">GeneralType.h:96</a></div></div>
324
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a738d1768c632f86d04599ec1aa53952a"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a738d1768c632f86d04599ec1aa53952a">SVF::AbstractInterpretation::markRecursiveFuns</a></div><div class="ttdeci">void markRecursiveFuns()</div><div class="ttdoc">mark recursive functions by detecting SCC in callgraph</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00138">AbstractInterpretation.cpp:138</a></div></div>
325
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a4b1f6388893e6aaef1acd411972cde19"><div class="ttname"><a href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">SVF::AEStat::memUsage</a></div><div class="ttdeci">std::string memUsage</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00076">AbstractInterpretation.h:76</a></div></div>
326
+ <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
327
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a5bba3c0570d73acc743742a30af1b0b4"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a5bba3c0570d73acc743742a30af1b0b4">SVF::AbstractInterpretation::getStrlen</a></div><div class="ttdeci">AbstractValue getStrlen(const SVF::SVFValue *strValue)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01498">AbstractInterpretation.cpp:1498</a></div></div>
328
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_aae29a8da31fddd069cb0e19cc2f78d46"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#aae29a8da31fddd069cb0e19cc2f78d46">SVF::AbstractInterpretation::~AbstractInterpretation</a></div><div class="ttdeci">virtual ~AbstractInterpretation()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00129">AbstractInterpretation.cpp:129</a></div></div>
329
+ <div class="ttc" id="anamespaceSVF_html_a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1"><div class="ttname"><a href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">SVF::AEKind::AbstractExecution</a></div><div class="ttdeci">@ AbstractExecution</div></div>
330
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a03a5abacf309902ce2bb9a9733ff195f"><div class="ttname"><a href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">SVF::AEStat::count</a></div><div class="ttdeci">s32_t count</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00074">AbstractInterpretation.h:74</a></div></div>
331
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2b0a2f7a662909d999634d0ec08cb29c"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2b0a2f7a662909d999634d0ec08cb29c">SVF::AbstractInterpretation::SkipRecursiveFunc</a></div><div class="ttdeci">virtual void SkipRecursiveFunc(const SVFFunction *func)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00958">AbstractInterpretation.cpp:958</a></div></div>
332
+ <div class="ttc" id="aclassSVF_1_1SVFBugReport_html"><div class="ttname"><a href="classSVF_1_1SVFBugReport.html">SVF::SVFBugReport</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00288">SVFBugReport.h:288</a></div></div>
333
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html"><div class="ttname"><a href="classSVF_1_1CmpStmt.html">SVF::CmpStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00936">SVFStatements.h:936</a></div></div>
334
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a5d3b15c3cdb9c8e91b942924bf8aee21"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a5d3b15c3cdb9c8e91b942924bf8aee21">SVF::AbstractInterpretation::_kind</a></div><div class="ttdeci">AEKind _kind</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00350">AbstractInterpretation.h:350</a></div></div>
335
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a2387fafd4d8f7775cb4ebf7b41b07bf8"><div class="ttname"><a href="classSVF_1_1AEStat.html#a2387fafd4d8f7775cb4ebf7b41b07bf8">SVF::AEStat::bugStr</a></div><div class="ttdeci">std::string bugStr</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00077">AbstractInterpretation.h:77</a></div></div>
336
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a276182afcfe95235ebd2d452424e87e7"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a276182afcfe95235ebd2d452424e87e7">SVF::AbstractInterpretation::handleGlobalNode</a></div><div class="ttdeci">virtual void handleGlobalNode()</div><div class="ttdoc">Global ICFGNode is handled at the entry of the program,.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00163">AbstractInterpretation.cpp:163</a></div></div>
337
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a3c1b3407928ab39c68300e9d8f225d46"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a3c1b3407928ab39c68300e9d8f225d46">SVF::AbstractInterpretation::CallGraphSCC</a></div><div class="ttdeci">SCCDetection&lt; PTACallGraph * &gt; CallGraphSCC</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00114">AbstractInterpretation.h:114</a></div></div>
338
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_af78f068a373ebb6a2f14dcde980a9dae"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#af78f068a373ebb6a2f14dcde980a9dae">SVF::AbstractInterpretation::_svfir2ExeState</a></div><div class="ttdeci">SVFIR2AbsState * _svfir2ExeState</div><div class="ttdoc">Execution State, used to store the Interval Value of every SVF variable.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00345">AbstractInterpretation.h:345</a></div></div>
339
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a9a3a1cc22654d3d259599005a5336923"><div class="ttname"><a href="classSVF_1_1AEStat.html#a9a3a1cc22654d3d259599005a5336923">SVF::AEStat::AEStat</a></div><div class="ttdeci">AEStat(AbstractInterpretation *ae)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00055">AbstractInterpretation.h:55</a></div></div>
340
+ <div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
341
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a798d07cc0a36ce0d9010ab86d1ec216f"><div class="ttname"><a href="classSVF_1_1AEStat.html#a798d07cc0a36ce0d9010ab86d1ec216f">SVF::AEStat::performStat</a></div><div class="ttdeci">void performStat() override</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01053">AbstractInterpretation.cpp:1053</a></div></div>
342
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a13fdb4a6a6d09e3504fdad16b88616daad20658cd0f68b92583461b0b1f68d543"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daad20658cd0f68b92583461b0b1f68d543">SVF::AbstractInterpretation::UNCLASSIFIED</a></div><div class="ttdeci">@ UNCLASSIFIED</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00113">AbstractInterpretation.h:113</a></div></div>
343
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a80d663262a8d909ef5756391cdd82246"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a80d663262a8d909ef5756391cdd82246">SVF::AbstractInterpretation::handleWTONode</a></div><div class="ttdeci">void handleWTONode(const ICFGNode *node)</div><div class="ttdoc">handle instructions in svf basic blocks</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00563">AbstractInterpretation.cpp:563</a></div></div>
344
+ <div class="ttc" id="anamespaceSVF_html_a41375daa7cc99317d0aa2a21dc643b88aa5aa2ddadb5f0392b52dcbe487fe0ecd"><div class="ttname"><a href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88aa5aa2ddadb5f0392b52dcbe487fe0ecd">SVF::AEKind::BufOverflowChecker</a></div><div class="ttdeci">@ BufOverflowChecker</div></div>
345
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a13fdb4a6a6d09e3504fdad16b88616daa93c9b2a9dc4bdfba5a7b23cfa5f80ccb"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daa93c9b2a9dc4bdfba5a7b23cfa5f80ccb">SVF::AbstractInterpretation::STRCPY</a></div><div class="ttdeci">@ STRCPY</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00113">AbstractInterpretation.h:113</a></div></div>
346
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a568e2247536de76694dabfc5a5052b57"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a568e2247536de76694dabfc5a5052b57">SVF::AbstractInterpretation::handleMemset</a></div><div class="ttdeci">virtual void handleMemset(const SVFValue *dst, AbstractValue elem, AbstractValue len)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01669">AbstractInterpretation.cpp:1669</a></div></div>
347
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a09aa739395388f64fcb3d539d58d2041"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">SVF::AbstractInterpretation::_nodeToBugInfo</a></div><div class="ttdeci">Map&lt; const ICFGNode *, std::string &gt; _nodeToBugInfo</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00355">AbstractInterpretation.h:355</a></div></div>
348
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a618fc324a6c205d7e1b471bd850377a9"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">SVF::AbstractInterpretation::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdoc">protected data members, also used in subclasses</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00342">AbstractInterpretation.h:342</a></div></div>
349
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2a1e1b72ed740cef4c3e57e3e32c3f75"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2a1e1b72ed740cef4c3e57e3e32c3f75">SVF::AbstractInterpretation::_checkpoint_names</a></div><div class="ttdeci">Set&lt; std::string &gt; _checkpoint_names</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00385">AbstractInterpretation.h:385</a></div></div>
350
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a156687481295e019887c5ea309360347"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a156687481295e019887c5ea309360347">SVF::AbstractInterpretation::isFunEntry</a></div><div class="ttdeci">bool isFunEntry(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00236">AbstractInterpretation.cpp:236</a></div></div>
351
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a0e8b546f608417e218c2fab5a5893135"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a0e8b546f608417e218c2fab5a5893135">SVF::AbstractInterpretation::getAllocaInstByteSize</a></div><div class="ttdeci">u32_t getAllocaInstByteSize(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01333">AbstractInterpretation.cpp:1333</a></div></div>
352
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a4080994b793d9510c00cb3a0260e0a61"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a4080994b793d9510c00cb3a0260e0a61">SVF::AbstractInterpretation::AbstractInterpretation</a></div><div class="ttdeci">AbstractInterpretation()</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00123">AbstractInterpretation.cpp:123</a></div></div>
353
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
354
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_aeba2d77291837b9615c4f8b014cacfeb"><div class="ttname"><a href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">SVF::AEStat::_ae</a></div><div class="ttdeci">AbstractInterpretation * _ae</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00073">AbstractInterpretation.h:73</a></div></div>
355
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a330379cef58219f72f4ec4c12a6d86ea"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a330379cef58219f72f4ec4c12a6d86ea">SVF::AbstractInterpretation::isIndirectCall</a></div><div class="ttdeci">virtual bool isIndirectCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00681">AbstractInterpretation.cpp:681</a></div></div>
356
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
357
+ <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
358
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2a5e0a88ebef4ae740983726e7f1b5eb"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2a5e0a88ebef4ae740983726e7f1b5eb">SVF::AbstractInterpretation::_bugLoc</a></div><div class="ttdeci">Set&lt; std::string &gt; _bugLoc</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00352">AbstractInterpretation.h:352</a></div></div>
359
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a7dfd11b987d9ff9528277e23191ed95d"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a7dfd11b987d9ff9528277e23191ed95d">SVF::AbstractInterpretation::strRead</a></div><div class="ttdeci">std::string strRead(const SVFValue *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01186">AbstractInterpretation.cpp:1186</a></div></div>
360
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2a317e4263c4d8acbc5088a18a3849aa"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2a317e4263c4d8acbc5088a18a3849aa">SVF::AbstractInterpretation::directCallFunPass</a></div><div class="ttdeci">virtual void directCallFunPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00665">AbstractInterpretation.cpp:665</a></div></div>
361
+ <div class="ttc" id="aclassSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00385">ICFGNode.h:385</a></div></div>
362
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a13fdb4a6a6d09e3504fdad16b88616daa9cc269dadf9cff7d399c54d9570a6614"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daa9cc269dadf9cff7d399c54d9570a6614">SVF::AbstractInterpretation::MEMCPY</a></div><div class="ttdeci">@ MEMCPY</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00113">AbstractInterpretation.h:113</a></div></div>
363
+ <div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00156">SVFType.h:156</a></div></div>
364
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a048e203517ac727e6fe0653e1f24052c"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a048e203517ac727e6fe0653e1f24052c">SVF::AbstractInterpretation::AccessMemoryViaCallArgs</a></div><div class="ttdeci">void AccessMemoryViaCallArgs(const SVF::SVFArgument *arg, SVF::FILOWorkList&lt; const SVFValue * &gt; &amp;worklist, Set&lt; const SVFValue * &gt; &amp;visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01778">AbstractInterpretation.cpp:1778</a></div></div>
365
+ <div class="ttc" id="aICFGWTO_8h_html"><div class="ttname"><a href="ICFGWTO_8h.html">ICFGWTO.h</a></div></div>
366
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a8095a9c37c9ca4b96f2279df6f59bbf9"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a8095a9c37c9ca4b96f2279df6f59bbf9">SVF::AbstractInterpretation::hasBranchES</a></div><div class="ttdeci">bool hasBranchES(const IntraCFGEdge *intraEdge, SparseAbstractState &amp;es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00536">AbstractInterpretation.cpp:536</a></div></div>
367
+ <div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00113">ICFGEdge.h:113</a></div></div>
368
+ <div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
369
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_adb96deda4bbb81956a6cfa5740503cb7"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#adb96deda4bbb81956a6cfa5740503cb7">SVF::AbstractInterpretation::hasInEdgesES</a></div><div class="ttdeci">bool hasInEdgesES(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00180">AbstractInterpretation.cpp:180</a></div></div>
370
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a630ff9c47f58f9b8df7c8a2b3711477c"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVF::SVFUtil::getMemoryUsageKB</a></div><div class="ttdeci">bool getMemoryUsageKB(u32_t *vmrss_kb, u32_t *vmsize_kb)</div><div class="ttdoc">Get memory usage from system file. Return TRUE if succeed.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00177">SVFUtil.cpp:177</a></div></div>
371
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a550c12360c2149ba0e55bdf4cf7b8dd0"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a550c12360c2149ba0e55bdf4cf7b8dd0">SVF::AbstractInterpretation::AccessMemoryViaCopyStmt</a></div><div class="ttdeci">void AccessMemoryViaCopyStmt(const CopyStmt *copy, SVF::FILOWorkList&lt; const SVFValue * &gt; &amp;worklist, Set&lt; const SVFValue * &gt; &amp;visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01749">AbstractInterpretation.cpp:1749</a></div></div>
372
+ <div class="ttc" id="anamespaceSVF_html_a41375daa7cc99317d0aa2a21dc643b88"><div class="ttname"><a href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">SVF::AEKind</a></div><div class="ttdeci">AEKind</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00044">AbstractInterpretation.h:44</a></div></div>
373
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_aa2d9b63cb2d303e6a1d4fe84a0df265f"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#aa2d9b63cb2d303e6a1d4fe84a0df265f">SVF::AbstractInterpretation::classof</a></div><div class="ttdeci">static bool classof(const AbstractInterpretation *ae)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00126">AbstractInterpretation.h:126</a></div></div>
374
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_acc2262e59167d040da3b5c726bdbf36e"><div class="ttname"><a href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e">SVF::AEStat::getMemUsage</a></div><div class="ttdeci">std::string getMemUsage()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00062">AbstractInterpretation.h:62</a></div></div>
375
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a9b5e58476c372570551da971d22c5c02"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a9b5e58476c372570551da971d22c5c02">SVF::AbstractInterpretation::_recursiveFuns</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; _recursiveFuns</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00358">AbstractInterpretation.h:358</a></div></div>
376
+ <div class="ttc" id="aclassSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00051">SVFStatements.h:51</a></div></div>
377
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a07b6f8cb424b84b468c4518140fa3a41"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">SVF::SVFStat::generalNumMap</a></div><div class="ttdeci">NUMStatMap generalNumMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00076">SVFStat.h:76</a></div></div>
378
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a58cb8f82b313eeed2055c1cf04643a42"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a58cb8f82b313eeed2055c1cf04643a42">SVF::AbstractInterpretation::widenFixpointPass</a></div><div class="ttdeci">bool widenFixpointPass(const ICFGNode *cycle_head, SparseAbstractState &amp;pre_es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00802">AbstractInterpretation.cpp:802</a></div></div>
379
+ <div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
380
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_ae2cfe939670689a4ec5030c096a5f546"><div class="ttname"><a href="classSVF_1_1AEStat.html#ae2cfe939670689a4ec5030c096a5f546">SVF::AEStat::countStateSize</a></div><div class="ttdeci">void countStateSize()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00994">AbstractInterpretation.cpp:994</a></div></div>
381
+ <div class="ttc" id="aSVFBugReport_8h_html"><div class="ttname"><a href="SVFBugReport_8h.html">SVFBugReport.h</a></div></div>
382
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_abcbfff7e33ef9d901bb37e64fe2ba53c"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#abcbfff7e33ef9d901bb37e64fe2ba53c">SVF::AbstractInterpretation::isGlobalEntry</a></div><div class="ttdeci">bool isGlobalEntry(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00248">AbstractInterpretation.cpp:248</a></div></div>
383
+ <div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00489">SVFStatements.h:489</a></div></div>
384
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a974988b7df3982938e081883d7349a91"><div class="ttname"><a href="classSVF_1_1AEStat.html#a974988b7df3982938e081883d7349a91">SVF::AEStat::~AEStat</a></div><div class="ttdeci">~AEStat()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00059">AbstractInterpretation.h:59</a></div></div>
385
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a6cac9b69d85111a5a26373ec848a3282"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a6cac9b69d85111a5a26373ec848a3282">SVF::AbstractInterpretation::handleExtAPI</a></div><div class="ttdeci">virtual void handleExtAPI(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01217">AbstractInterpretation.cpp:1217</a></div></div>
386
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_adf02c5bf1b86f00163b114a78e03120c"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#adf02c5bf1b86f00163b114a78e03120c">SVF::AbstractInterpretation::handleMemcpy</a></div><div class="ttdeci">virtual void handleMemcpy(const SVFValue *dst, const SVFValue *src, AbstractValue len, u32_t start_idx)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01592">AbstractInterpretation.cpp:1592</a></div></div>
387
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a29fe7c63c61a7aec8ae1477a061f5bf2"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a29fe7c63c61a7aec8ae1477a061f5bf2">SVF::AbstractInterpretation::AccessMemoryViaRetNode</a></div><div class="ttdeci">void AccessMemoryViaRetNode(const CallICFGNode *callnode, SVF::FILOWorkList&lt; const SVFValue * &gt; &amp;worklist, Set&lt; const SVFValue * &gt; &amp;visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01724">AbstractInterpretation.cpp:1724</a></div></div>
388
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ac60581a57407fa4c65b1975f5be687b8"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ac60581a57407fa4c65b1975f5be687b8">SVF::AbstractInterpretation::AccessMemoryViaLoadStmt</a></div><div class="ttdeci">void AccessMemoryViaLoadStmt(const LoadStmt *load, SVF::FILOWorkList&lt; const SVFValue * &gt; &amp;worklist, Set&lt; const SVFValue * &gt; &amp;visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01758">AbstractInterpretation.cpp:1758</a></div></div>
389
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ac9e8bc430cd530e47811e28f5a9fe963"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ac9e8bc430cd530e47811e28f5a9fe963">SVF::AbstractInterpretation::traceMemoryAllocationSize</a></div><div class="ttdeci">AbstractValue traceMemoryAllocationSize(const SVFValue *value)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01366">AbstractInterpretation.cpp:1366</a></div></div>
390
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a0e2af184576d9673f535fe80deb944f6"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a0e2af184576d9673f535fe80deb944f6">SVF::AbstractInterpretation::isRecursiveCall</a></div><div class="ttdeci">virtual bool isRecursiveCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00636">AbstractInterpretation.cpp:636</a></div></div>
391
+ <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
392
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_aae7c67e9c423599442be721b55cd7279"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#aae7c67e9c423599442be721b55cd7279">SVF::AbstractInterpretation::collectCheckPoint</a></div><div class="ttdeci">void collectCheckPoint()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01283">AbstractInterpretation.cpp:1283</a></div></div>
393
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a8c69d36465485cddc17eddfdeea551e0"><div class="ttname"><a href="classSVF_1_1AEStat.html#a8c69d36465485cddc17eddfdeea551e0">SVF::AEStat::getFunctionTrace</a></div><div class="ttdeci">u32_t &amp; getFunctionTrace()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00080">AbstractInterpretation.h:80</a></div></div>
394
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a13fdb4a6a6d09e3504fdad16b88616da"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616da">SVF::AbstractInterpretation::ExtAPIType</a></div><div class="ttdeci">ExtAPIType</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00113">AbstractInterpretation.h:113</a></div></div>
395
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ab18fe64117c1692d94ce0e0ee44e940b"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ab18fe64117c1692d94ce0e0ee44e940b">SVF::AbstractInterpretation::initExtFunMap</a></div><div class="ttdeci">virtual void initExtFunMap()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01114">AbstractInterpretation.cpp:1114</a></div></div>
396
+ <div class="ttc" id="aclassSVF_1_1WTOCycle_html"><div class="ttname"><a href="classSVF_1_1WTOCycle.html">SVF::WTOCycle</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00048">WTO.h:48</a></div></div>
397
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_afaa47798ebfde513c709b46cac05294c"><div class="ttname"><a href="classSVF_1_1AEStat.html#afaa47798ebfde513c709b46cac05294c">SVF::AEStat::getICFGNodeTrace</a></div><div class="ttdeci">u32_t &amp; getICFGNodeTrace()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00096">AbstractInterpretation.h:96</a></div></div>
398
+ <div class="ttc" id="aclassSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
399
+ <div class="ttc" id="aclassSVF_1_1SCCDetection_html"><div class="ttname"><a href="classSVF_1_1SCCDetection.html">SVF::SCCDetection</a></div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00054">SCC.h:54</a></div></div>
400
+ <div class="ttc" id="aSVFIR2AbsState_8h_html"><div class="ttname"><a href="SVFIR2AbsState_8h.html">SVFIR2AbsState.h</a></div></div>
401
+ <div class="ttc" id="aclassSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00384">Andersen.h:384</a></div></div>
402
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a9885b50cf28b65bebb488442085fab26"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a9885b50cf28b65bebb488442085fab26">SVF::AbstractInterpretation::_callSiteStack</a></div><div class="ttdeci">std::vector&lt; const CallICFGNode * &gt; _callSiteStack</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00354">AbstractInterpretation.h:354</a></div></div>
403
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ab988e460fe92f0ba3c4cbee8e0c480a0"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ab988e460fe92f0ba3c4cbee8e0c480a0">SVF::AbstractInterpretation::_icfg</a></div><div class="ttdeci">ICFG * _icfg</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00348">AbstractInterpretation.h:348</a></div></div>
404
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_aeeb85346212cabd5ae70e19041131094"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#aeeb85346212cabd5ae70e19041131094">SVF::AbstractInterpretation::_preAbstractTrace</a></div><div class="ttdeci">Map&lt; const ICFGNode *, SparseAbstractState &gt; _preAbstractTrace</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00388">AbstractInterpretation.h:388</a></div></div>
405
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a271d3ac0f8725108e324b5c391988c49"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a271d3ac0f8725108e324b5c391988c49">SVF::AbstractInterpretation::extCallPass</a></div><div class="ttdeci">virtual void extCallPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00629">AbstractInterpretation.cpp:629</a></div></div>
406
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2670b663d2c5afa974dfc0f316a273d1"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2670b663d2c5afa974dfc0f316a273d1">SVF::AbstractInterpretation::analyse</a></div><div class="ttdeci">void analyse()</div><div class="ttdoc">Program entry.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00152">AbstractInterpretation.cpp:152</a></div></div>
407
+ <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
408
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a971a676fb15da74d37de14725bab40b0"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a971a676fb15da74d37de14725bab40b0">SVF::AbstractInterpretation::runOnModule</a></div><div class="ttdeci">virtual void runOnModule(ICFG *icfg)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00087">AbstractInterpretation.cpp:87</a></div></div>
409
+ <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html">SVF::SVFIR2AbsState</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00042">SVFIR2AbsState.h:42</a></div></div>
410
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_abbb4e49644121f6b038fd8fb4d7b0034"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#abbb4e49644121f6b038fd8fb4d7b0034">SVF::AbstractInterpretation::handleCallSite</a></div><div class="ttdeci">virtual void handleCallSite(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00592">AbstractInterpretation.cpp:592</a></div></div>
411
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a8e4f0c5f527e321369a19a0b37124079"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a8e4f0c5f527e321369a19a0b37124079">SVF::AbstractInterpretation::_recoder</a></div><div class="ttdeci">SVFBugReport _recoder</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00353">AbstractInterpretation.h:353</a></div></div>
412
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_af41aa555a5b607ae7700263ac72f8dbb"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#af41aa555a5b607ae7700263ac72f8dbb">SVF::AbstractInterpretation::_funcToWTO</a></div><div class="ttdeci">Map&lt; const SVFFunction *, ICFGWTO * &gt; _funcToWTO</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00357">AbstractInterpretation.h:357</a></div></div>
413
+ <div class="ttc" id="aclassSVF_1_1AEStat_html"><div class="ttname"><a href="classSVF_1_1AEStat.html">SVF::AEStat</a></div><div class="ttdoc">AEStat: Statistic for AE.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00051">AbstractInterpretation.h:51</a></div></div>
414
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a0e36af6b826b9eacf183aebd0b8c5f1f"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a0e36af6b826b9eacf183aebd0b8c5f1f">SVF::AbstractInterpretation::recursiveCallPass</a></div><div class="ttdeci">virtual void recursiveCallPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00642">AbstractInterpretation.cpp:642</a></div></div>
415
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a896d04a02951947bc228bf97b2c00313"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a896d04a02951947bc228bf97b2c00313">SVF::AbstractInterpretation::handleSVFStatement</a></div><div class="ttdeci">virtual void handleSVFStatement(const SVFStmt *stmt)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00872">AbstractInterpretation.cpp:872</a></div></div>
416
+ <div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
417
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a13fdb4a6a6d09e3504fdad16b88616daae8dad405c06383859d8db715fd455317"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daae8dad405c06383859d8db715fd455317">SVF::AbstractInterpretation::STRCAT</a></div><div class="ttdeci">@ STRCAT</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00113">AbstractInterpretation.h:113</a></div></div>
418
+ <div class="ttc" id="aclassSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
419
+ <div class="ttc" id="aclassSVF_1_1SparseAbstractState_html"><div class="ttname"><a href="classSVF_1_1SparseAbstractState.html">SVF::SparseAbstractState</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00439">AbstractState.h:439</a></div></div>
420
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a4a08e449307cdcb56e8e32ca346d5349"><div class="ttname"><a href="classSVF_1_1AEStat.html#a4a08e449307cdcb56e8e32ca346d5349">SVF::AEStat::getBlockTrace</a></div><div class="ttdeci">u32_t &amp; getBlockTrace()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00088">AbstractInterpretation.h:88</a></div></div>
421
+ <div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
422
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2eb84610d9a9eca6565e4a8a1e1156d1"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2eb84610d9a9eca6565e4a8a1e1156d1">SVF::AbstractInterpretation::isExtCall</a></div><div class="ttdeci">virtual bool isExtCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00623">AbstractInterpretation.cpp:623</a></div></div>
423
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ae0c0148baf6f7510bf8e70ee3ad626bf"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ae0c0148baf6f7510bf8e70ee3ad626bf">SVF::AbstractInterpretation::hasCmpBranchES</a></div><div class="ttdeci">bool hasCmpBranchES(const CmpStmt *cmpStmt, s64_t succ, SparseAbstractState &amp;es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00260">AbstractInterpretation.cpp:260</a></div></div>
424
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2e2253149e2bf114825a4e838118e012"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2e2253149e2bf114825a4e838118e012">SVF::AbstractInterpretation::handleFunc</a></div><div class="ttdeci">virtual void handleFunc(const SVFFunction *func)</div><div class="ttdoc">handle user defined function, ext function is not included.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00849">AbstractInterpretation.cpp:849</a></div></div>
425
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a13fdb4a6a6d09e3504fdad16b88616daa5aec33226dc590ec951d0f12bf35f15f"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a13fdb4a6a6d09e3504fdad16b88616daa5aec33226dc590ec951d0f12bf35f15f">SVF::AbstractInterpretation::MEMSET</a></div><div class="ttdeci">@ MEMSET</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00113">AbstractInterpretation.h:113</a></div></div>
426
+ <div class="ttc" id="aclassSVF_1_1FILOWorkList_html"><div class="ttname"><a href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00042">AbstractInterpretation.h:42</a></div></div>
427
+ <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
428
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a9b179466955023f275b6692b59048846"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a9b179466955023f275b6692b59048846">SVF::AbstractInterpretation::handleICFGNode</a></div><div class="ttdeci">virtual void handleICFGNode(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00716">AbstractInterpretation.cpp:716</a></div></div>
429
+ <div class="ttc" id="aclassSVF_1_1SVFArgument_html"><div class="ttname"><a href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00897">SVFValue.h:897</a></div></div>
430
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ac0bcb586dffbfadeb33f501cafbaa1c9"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ac0bcb586dffbfadeb33f501cafbaa1c9">SVF::AbstractInterpretation::AEAPI</a></div><div class="ttdeci">friend class AEAPI</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00110">AbstractInterpretation.h:110</a></div></div>
431
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a71dff5d6a5b291014c0a65d3a6d7c8c1"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a71dff5d6a5b291014c0a65d3a6d7c8c1">SVF::AbstractInterpretation::handleCycle</a></div><div class="ttdeci">virtual void handleCycle(const ICFGWTOCycle *cycle)</div><div class="ttdoc">handle wto cycle (loop)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00737">AbstractInterpretation.cpp:737</a></div></div>
432
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a5b246c2175c44454236242dcf426f21f"><div class="ttname"><a href="classSVF_1_1AEStat.html#a5b246c2175c44454236242dcf426f21f">SVF::AEStat::finializeStat</a></div><div class="ttdeci">void finializeStat()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01012">AbstractInterpretation.cpp:1012</a></div></div>
433
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a2057e8e1c0aaf39e74f0a8fb2a1b580c"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a2057e8e1c0aaf39e74f0a8fb2a1b580c">SVF::AbstractInterpretation::getPointeeElement</a></div><div class="ttdeci">const SVFType * getPointeeElement(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01649">AbstractInterpretation.cpp:1649</a></div></div>
434
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_acea2c82e5b463db6f097e9a9641f601b"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#acea2c82e5b463db6f097e9a9641f601b">SVF::AbstractInterpretation::checkPointAllSet</a></div><div class="ttdeci">void checkPointAllSet()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01302">AbstractInterpretation.cpp:1302</a></div></div>
435
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_acba90e968cebacca3da78ac765df33ef"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#acba90e968cebacca3da78ac765df33ef">SVF::AbstractInterpretation::handleStrcat</a></div><div class="ttdeci">virtual void handleStrcat(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01556">AbstractInterpretation.cpp:1556</a></div></div>
436
+ <div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00049">GeneralType.h:49</a></div></div>
437
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_a2064225a75798a495100eb7da2c880af"><div class="ttname"><a href="classSVF_1_1AEStat.html#a2064225a75798a495100eb7da2c880af">SVF::AEStat::memory_usage</a></div><div class="ttdeci">std::string memory_usage</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00075">AbstractInterpretation.h:75</a></div></div>
438
+ <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
439
+ <div class="ttc" id="astructSVF_1_1AbstractValue_html"><div class="ttname"><a href="structSVF_1_1AbstractValue.html">SVF::AbstractValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00029">AbstractValue.h:29</a></div></div>
440
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a5a17c9de696332a712879d1a7bc77fb5"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a5a17c9de696332a712879d1a7bc77fb5">SVF::AbstractInterpretation::getKind</a></div><div class="ttdeci">AEKind getKind() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00131">AbstractInterpretation.h:131</a></div></div>
441
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ac941d1eb9b1216c8334d0685a471b774"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ac941d1eb9b1216c8334d0685a471b774">SVF::AbstractInterpretation::handleStrcpy</a></div><div class="ttdeci">virtual void handleStrcpy(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01321">AbstractInterpretation.cpp:1321</a></div></div>
442
+ <div class="ttc" id="aclassSVF_1_1AEStat_html_ae24590233a864e18a6b0948bef89201a"><div class="ttname"><a href="classSVF_1_1AEStat.html#ae24590233a864e18a6b0948bef89201a">SVF::AEStat::reportBug</a></div><div class="ttdeci">void reportBug()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l01090">AbstractInterpretation.cpp:1090</a></div></div>
443
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ad5e8e749aec9d1c040c6be7eb26748e2"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ad5e8e749aec9d1c040c6be7eb26748e2">SVF::AbstractInterpretation::hasSwitchBranchES</a></div><div class="ttdeci">bool hasSwitchBranchES(const SVFVar *var, s64_t succ, SparseAbstractState &amp;es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00491">AbstractInterpretation.cpp:491</a></div></div>
444
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_aa27d0ef684deec1f5385fdb0d4c64827"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#aa27d0ef684deec1f5385fdb0d4c64827">SVF::AbstractInterpretation::_func_map</a></div><div class="ttdeci">Map&lt; std::string, std::function&lt; void(const CallSite &amp;)&gt; &gt; _func_map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00383">AbstractInterpretation.h:383</a></div></div>
445
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a00154ebaceda1be070b38803c1a82535"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a00154ebaceda1be070b38803c1a82535">SVF::AbstractInterpretation::_api</a></div><div class="ttdeci">AEAPI * _api</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00346">AbstractInterpretation.h:346</a></div></div>
446
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_ae75956481a2aa8b5337cb4a362f2050e"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#ae75956481a2aa8b5337cb4a362f2050e">SVF::AbstractInterpretation::narrowFixpointPass</a></div><div class="ttdeci">bool narrowFixpointPass(const ICFGNode *cycle_head, SparseAbstractState &amp;pre_es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00825">AbstractInterpretation.cpp:825</a></div></div>
447
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html"><div class="ttname"><a href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00040">SVFStat.h:40</a></div></div>
448
+ <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
449
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_af966130d5cb8d7db786c3ec056cc2dd4"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#af966130d5cb8d7db786c3ec056cc2dd4">SVF::AbstractInterpretation::SkipRecursiveCall</a></div><div class="ttdeci">virtual void SkipRecursiveCall(const CallICFGNode *callnode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8cpp_source.html#l00931">AbstractInterpretation.cpp:931</a></div></div>
450
+ <div class="ttc" id="aAndersen_8h_html"><div class="ttname"><a href="Andersen_8h.html">Andersen.h</a></div></div>
451
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a219313e979d779221116c1bc45becc1b"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a219313e979d779221116c1bc45becc1b">SVF::AbstractInterpretation::_checkpoints</a></div><div class="ttdeci">Set&lt; const CallICFGNode * &gt; _checkpoints</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00384">AbstractInterpretation.h:384</a></div></div>
452
+ <!-- start footer part -->
453
+ <hr class="footer"/><address class="footer"><small>
454
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
455
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
456
+ </a> 1.8.17
457
+ </small></address>
458
+ </body>
459
+ </html>