svf-tools 1.0.875 → 1.0.877

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 (303) hide show
  1. package/README.md +1 -1
  2. package/SVF-doxygen/html/AbstractExecution_8cpp.html +218 -0
  3. package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +2124 -0
  4. package/SVF-doxygen/html/AbstractExecution_8h.html +118 -0
  5. package/SVF-doxygen/html/AbstractExecution_8h_source.html +512 -0
  6. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +81 -81
  7. package/SVF-doxygen/html/BufOverflowChecker_8h.html +1 -1
  8. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +20 -20
  9. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +3 -3
  10. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +1 -1
  11. package/SVF-doxygen/html/CFBasicBlockGWTO_8h_source.html +2 -2
  12. package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +318 -367
  13. package/SVF-doxygen/html/ae_8cpp.html +7 -7
  14. package/SVF-doxygen/html/ae_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/annotated.html +12 -12
  16. package/SVF-doxygen/html/classSVF_1_1AEAPI-members.html +2 -2
  17. package/SVF-doxygen/html/classSVF_1_1AEAPI.html +145 -145
  18. package/SVF-doxygen/html/classSVF_1_1AEStat-members.html +2 -2
  19. package/SVF-doxygen/html/classSVF_1_1AEStat.html +53 -53
  20. package/SVF-doxygen/html/classSVF_1_1AbstractExecution-members.html +137 -0
  21. package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +2884 -0
  22. package/SVF-doxygen/html/classSVF_1_1AbstractExecution.png +0 -0
  23. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +50 -50
  24. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +117 -117
  25. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.png +0 -0
  26. package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI-members.html +3 -3
  27. package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +38 -38
  28. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +2 -2
  29. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
  30. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +92 -92
  31. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +8 -8
  32. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +51 -309
  33. package/SVF-doxygen/html/classSVF_1_1GenericNode.html +8 -8
  34. package/SVF-doxygen/html/classes.html +16 -16
  35. package/SVF-doxygen/html/dir_81caa96ab1d3de93b353e2bbe80e6067.html +1 -1
  36. package/SVF-doxygen/html/dir_fbec400583b4bd6c5f2e89c86c5943a6.html +1 -1
  37. package/SVF-doxygen/html/files.html +2 -2
  38. package/SVF-doxygen/html/functions.html +21 -21
  39. package/SVF-doxygen/html/functions_a.html +17 -17
  40. package/SVF-doxygen/html/functions_b.html +1 -1
  41. package/SVF-doxygen/html/functions_c.html +16 -16
  42. package/SVF-doxygen/html/functions_d.html +7 -11
  43. package/SVF-doxygen/html/functions_e.html +1 -1
  44. package/SVF-doxygen/html/functions_func.html +13 -13
  45. package/SVF-doxygen/html/functions_func_c.html +11 -11
  46. package/SVF-doxygen/html/functions_func_d.html +7 -11
  47. package/SVF-doxygen/html/functions_func_e.html +1 -1
  48. package/SVF-doxygen/html/functions_func_g.html +1 -1
  49. package/SVF-doxygen/html/functions_func_h.html +11 -11
  50. package/SVF-doxygen/html/functions_func_i.html +8 -8
  51. package/SVF-doxygen/html/functions_func_m.html +1 -1
  52. package/SVF-doxygen/html/functions_func_n.html +1 -1
  53. package/SVF-doxygen/html/functions_func_r.html +2 -2
  54. package/SVF-doxygen/html/functions_func_s.html +2 -2
  55. package/SVF-doxygen/html/functions_func_w.html +1 -1
  56. package/SVF-doxygen/html/functions_func_~.html +3 -3
  57. package/SVF-doxygen/html/functions_g.html +1 -1
  58. package/SVF-doxygen/html/functions_h.html +11 -11
  59. package/SVF-doxygen/html/functions_i.html +8 -8
  60. package/SVF-doxygen/html/functions_m.html +1 -1
  61. package/SVF-doxygen/html/functions_n.html +1 -1
  62. package/SVF-doxygen/html/functions_p.html +7 -7
  63. package/SVF-doxygen/html/functions_r.html +6 -8
  64. package/SVF-doxygen/html/functions_rela.html +2 -2
  65. package/SVF-doxygen/html/functions_s.html +10 -8
  66. package/SVF-doxygen/html/functions_t.html +7 -7
  67. package/SVF-doxygen/html/functions_type_c.html +1 -1
  68. package/SVF-doxygen/html/functions_v.html +1 -3
  69. package/SVF-doxygen/html/functions_vars.html +21 -21
  70. package/SVF-doxygen/html/functions_w.html +1 -1
  71. package/SVF-doxygen/html/functions_~.html +3 -3
  72. package/SVF-doxygen/html/globals.html +2 -2
  73. package/SVF-doxygen/html/globals_defs.html +1 -1
  74. package/SVF-doxygen/html/globals_s.html +1 -1
  75. package/SVF-doxygen/html/globals_vars.html +2 -2
  76. package/SVF-doxygen/html/hierarchy.html +12 -12
  77. package/SVF-doxygen/html/namespaceSVF.html +9 -9
  78. package/SVF-doxygen/html/search/all_0.js +21 -21
  79. package/SVF-doxygen/html/search/all_1.js +503 -502
  80. package/SVF-doxygen/html/search/all_10.js +325 -325
  81. package/SVF-doxygen/html/search/all_11.js +228 -228
  82. package/SVF-doxygen/html/search/all_12.js +569 -569
  83. package/SVF-doxygen/html/search/all_13.js +208 -208
  84. package/SVF-doxygen/html/search/all_14.js +69 -69
  85. package/SVF-doxygen/html/search/all_15.js +176 -176
  86. package/SVF-doxygen/html/search/all_16.js +78 -78
  87. package/SVF-doxygen/html/search/all_17.js +1 -1
  88. package/SVF-doxygen/html/search/all_18.js +1 -1
  89. package/SVF-doxygen/html/search/all_19.js +26 -26
  90. package/SVF-doxygen/html/search/all_1a.js +182 -182
  91. package/SVF-doxygen/html/search/all_2.js +182 -182
  92. package/SVF-doxygen/html/search/all_3.js +654 -654
  93. package/SVF-doxygen/html/search/all_4.js +237 -237
  94. package/SVF-doxygen/html/search/all_5.js +128 -128
  95. package/SVF-doxygen/html/search/all_6.js +232 -232
  96. package/SVF-doxygen/html/search/all_7.js +1060 -1060
  97. package/SVF-doxygen/html/search/all_8.js +217 -217
  98. package/SVF-doxygen/html/search/all_9.js +628 -628
  99. package/SVF-doxygen/html/search/all_a.js +46 -46
  100. package/SVF-doxygen/html/search/all_b.js +26 -26
  101. package/SVF-doxygen/html/search/all_c.js +115 -115
  102. package/SVF-doxygen/html/search/all_d.js +203 -203
  103. package/SVF-doxygen/html/search/all_e.js +209 -209
  104. package/SVF-doxygen/html/search/all_f.js +121 -121
  105. package/SVF-doxygen/html/search/classes_0.js +29 -29
  106. package/SVF-doxygen/html/search/classes_1.js +12 -12
  107. package/SVF-doxygen/html/search/classes_10.js +74 -74
  108. package/SVF-doxygen/html/search/classes_11.js +14 -14
  109. package/SVF-doxygen/html/search/classes_12.js +2 -2
  110. package/SVF-doxygen/html/search/classes_13.js +10 -10
  111. package/SVF-doxygen/html/search/classes_14.js +20 -20
  112. package/SVF-doxygen/html/search/classes_15.js +1 -1
  113. package/SVF-doxygen/html/search/classes_2.js +78 -78
  114. package/SVF-doxygen/html/search/classes_3.js +37 -37
  115. package/SVF-doxygen/html/search/classes_4.js +9 -9
  116. package/SVF-doxygen/html/search/classes_5.js +28 -28
  117. package/SVF-doxygen/html/search/classes_6.js +104 -104
  118. package/SVF-doxygen/html/search/classes_7.js +38 -38
  119. package/SVF-doxygen/html/search/classes_8.js +58 -58
  120. package/SVF-doxygen/html/search/classes_9.js +1 -1
  121. package/SVF-doxygen/html/search/classes_a.js +12 -12
  122. package/SVF-doxygen/html/search/classes_b.js +29 -29
  123. package/SVF-doxygen/html/search/classes_c.js +6 -6
  124. package/SVF-doxygen/html/search/classes_d.js +19 -19
  125. package/SVF-doxygen/html/search/classes_e.js +36 -36
  126. package/SVF-doxygen/html/search/classes_f.js +25 -25
  127. package/SVF-doxygen/html/search/defines_0.js +3 -3
  128. package/SVF-doxygen/html/search/defines_1.js +3 -3
  129. package/SVF-doxygen/html/search/defines_10.js +2 -2
  130. package/SVF-doxygen/html/search/defines_2.js +30 -30
  131. package/SVF-doxygen/html/search/defines_3.js +20 -20
  132. package/SVF-doxygen/html/search/defines_4.js +3 -3
  133. package/SVF-doxygen/html/search/defines_5.js +4 -4
  134. package/SVF-doxygen/html/search/defines_6.js +2 -2
  135. package/SVF-doxygen/html/search/defines_7.js +5 -5
  136. package/SVF-doxygen/html/search/defines_8.js +11 -11
  137. package/SVF-doxygen/html/search/defines_9.js +9 -9
  138. package/SVF-doxygen/html/search/defines_a.js +2 -2
  139. package/SVF-doxygen/html/search/defines_b.js +1 -1
  140. package/SVF-doxygen/html/search/defines_c.js +4 -4
  141. package/SVF-doxygen/html/search/defines_d.js +2 -2
  142. package/SVF-doxygen/html/search/defines_e.js +8 -8
  143. package/SVF-doxygen/html/search/defines_f.js +4 -4
  144. package/SVF-doxygen/html/search/enums_0.js +4 -4
  145. package/SVF-doxygen/html/search/enums_1.js +2 -2
  146. package/SVF-doxygen/html/search/enums_10.js +1 -1
  147. package/SVF-doxygen/html/search/enums_11.js +1 -1
  148. package/SVF-doxygen/html/search/enums_2.js +8 -8
  149. package/SVF-doxygen/html/search/enums_3.js +1 -1
  150. package/SVF-doxygen/html/search/enums_4.js +4 -4
  151. package/SVF-doxygen/html/search/enums_5.js +1 -1
  152. package/SVF-doxygen/html/search/enums_6.js +2 -2
  153. package/SVF-doxygen/html/search/enums_7.js +2 -2
  154. package/SVF-doxygen/html/search/enums_8.js +4 -4
  155. package/SVF-doxygen/html/search/enums_9.js +1 -1
  156. package/SVF-doxygen/html/search/enums_a.js +1 -1
  157. package/SVF-doxygen/html/search/enums_b.js +7 -7
  158. package/SVF-doxygen/html/search/enums_c.js +1 -1
  159. package/SVF-doxygen/html/search/enums_d.js +4 -4
  160. package/SVF-doxygen/html/search/enums_e.js +2 -2
  161. package/SVF-doxygen/html/search/enums_f.js +4 -4
  162. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  163. package/SVF-doxygen/html/search/enumvalues_1.js +15 -15
  164. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  165. package/SVF-doxygen/html/search/enumvalues_11.js +4 -4
  166. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  167. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  168. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  169. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  170. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  171. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  172. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  173. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  174. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  175. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  176. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  177. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  178. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  179. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  180. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  181. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  182. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  183. package/SVF-doxygen/html/search/enumvalues_f.js +47 -47
  184. package/SVF-doxygen/html/search/files_0.js +16 -15
  185. package/SVF-doxygen/html/search/files_1.js +9 -9
  186. package/SVF-doxygen/html/search/files_10.js +8 -8
  187. package/SVF-doxygen/html/search/files_11.js +8 -8
  188. package/SVF-doxygen/html/search/files_12.js +2 -2
  189. package/SVF-doxygen/html/search/files_2.js +58 -58
  190. package/SVF-doxygen/html/search/files_3.js +14 -14
  191. package/SVF-doxygen/html/search/files_4.js +5 -5
  192. package/SVF-doxygen/html/search/files_5.js +13 -13
  193. package/SVF-doxygen/html/search/files_6.js +10 -10
  194. package/SVF-doxygen/html/search/files_7.js +15 -15
  195. package/SVF-doxygen/html/search/files_8.js +13 -13
  196. package/SVF-doxygen/html/search/files_9.js +18 -18
  197. package/SVF-doxygen/html/search/files_a.js +3 -3
  198. package/SVF-doxygen/html/search/files_b.js +4 -4
  199. package/SVF-doxygen/html/search/files_c.js +20 -20
  200. package/SVF-doxygen/html/search/files_d.js +4 -4
  201. package/SVF-doxygen/html/search/files_e.js +62 -62
  202. package/SVF-doxygen/html/search/files_f.js +8 -8
  203. package/SVF-doxygen/html/search/functions_0.js +13 -13
  204. package/SVF-doxygen/html/search/functions_1.js +374 -374
  205. package/SVF-doxygen/html/search/functions_10.js +140 -140
  206. package/SVF-doxygen/html/search/functions_11.js +142 -142
  207. package/SVF-doxygen/html/search/functions_12.js +298 -298
  208. package/SVF-doxygen/html/search/functions_13.js +74 -74
  209. package/SVF-doxygen/html/search/functions_14.js +40 -40
  210. package/SVF-doxygen/html/search/functions_15.js +72 -72
  211. package/SVF-doxygen/html/search/functions_16.js +38 -38
  212. package/SVF-doxygen/html/search/functions_17.js +3 -3
  213. package/SVF-doxygen/html/search/functions_18.js +182 -182
  214. package/SVF-doxygen/html/search/functions_2.js +95 -95
  215. package/SVF-doxygen/html/search/functions_3.js +266 -266
  216. package/SVF-doxygen/html/search/functions_4.js +84 -84
  217. package/SVF-doxygen/html/search/functions_5.js +57 -57
  218. package/SVF-doxygen/html/search/functions_6.js +65 -65
  219. package/SVF-doxygen/html/search/functions_7.js +867 -867
  220. package/SVF-doxygen/html/search/functions_8.js +164 -164
  221. package/SVF-doxygen/html/search/functions_9.js +440 -440
  222. package/SVF-doxygen/html/search/functions_a.js +30 -30
  223. package/SVF-doxygen/html/search/functions_b.js +2 -2
  224. package/SVF-doxygen/html/search/functions_c.js +25 -25
  225. package/SVF-doxygen/html/search/functions_d.js +81 -81
  226. package/SVF-doxygen/html/search/functions_e.js +36 -36
  227. package/SVF-doxygen/html/search/functions_f.js +58 -58
  228. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  229. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  230. package/SVF-doxygen/html/search/related_0.js +4 -4
  231. package/SVF-doxygen/html/search/related_1.js +2 -2
  232. package/SVF-doxygen/html/search/related_2.js +3 -3
  233. package/SVF-doxygen/html/search/related_3.js +2 -2
  234. package/SVF-doxygen/html/search/related_4.js +2 -2
  235. package/SVF-doxygen/html/search/related_5.js +1 -1
  236. package/SVF-doxygen/html/search/related_6.js +2 -2
  237. package/SVF-doxygen/html/search/related_7.js +4 -4
  238. package/SVF-doxygen/html/search/related_8.js +2 -2
  239. package/SVF-doxygen/html/search/related_9.js +4 -4
  240. package/SVF-doxygen/html/search/related_a.js +19 -19
  241. package/SVF-doxygen/html/search/related_b.js +4 -4
  242. package/SVF-doxygen/html/search/related_c.js +2 -2
  243. package/SVF-doxygen/html/search/related_d.js +12 -12
  244. package/SVF-doxygen/html/search/related_e.js +2 -2
  245. package/SVF-doxygen/html/search/related_f.js +2 -2
  246. package/SVF-doxygen/html/search/typedefs_0.js +20 -20
  247. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  248. package/SVF-doxygen/html/search/typedefs_10.js +63 -63
  249. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  250. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  251. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  252. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  253. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  254. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  255. package/SVF-doxygen/html/search/typedefs_4.js +18 -18
  256. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  257. package/SVF-doxygen/html/search/typedefs_6.js +57 -57
  258. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  259. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  260. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  261. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  262. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  263. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  264. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  265. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  266. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  267. package/SVF-doxygen/html/search/variables_0.js +182 -182
  268. package/SVF-doxygen/html/search/variables_1.js +76 -76
  269. package/SVF-doxygen/html/search/variables_10.js +98 -98
  270. package/SVF-doxygen/html/search/variables_11.js +46 -46
  271. package/SVF-doxygen/html/search/variables_12.js +93 -93
  272. package/SVF-doxygen/html/search/variables_13.js +76 -76
  273. package/SVF-doxygen/html/search/variables_14.js +14 -14
  274. package/SVF-doxygen/html/search/variables_15.js +49 -49
  275. package/SVF-doxygen/html/search/variables_16.js +11 -11
  276. package/SVF-doxygen/html/search/variables_17.js +1 -1
  277. package/SVF-doxygen/html/search/variables_18.js +17 -17
  278. package/SVF-doxygen/html/search/variables_2.js +41 -41
  279. package/SVF-doxygen/html/search/variables_3.js +142 -142
  280. package/SVF-doxygen/html/search/variables_4.js +51 -51
  281. package/SVF-doxygen/html/search/variables_5.js +39 -39
  282. package/SVF-doxygen/html/search/variables_6.js +66 -66
  283. package/SVF-doxygen/html/search/variables_7.js +34 -34
  284. package/SVF-doxygen/html/search/variables_8.js +8 -8
  285. package/SVF-doxygen/html/search/variables_9.js +78 -78
  286. package/SVF-doxygen/html/search/variables_a.js +4 -4
  287. package/SVF-doxygen/html/search/variables_b.js +10 -10
  288. package/SVF-doxygen/html/search/variables_c.js +45 -45
  289. package/SVF-doxygen/html/search/variables_d.js +57 -57
  290. package/SVF-doxygen/html/search/variables_e.js +123 -123
  291. package/SVF-doxygen/html/search/variables_f.js +31 -31
  292. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +102 -102
  293. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
  294. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
  295. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
  296. package/build.sh +1 -1
  297. package/package.json +1 -1
  298. package/svf/include/AE/Svfexe/{AE.h → AbstractExecution.h} +13 -14
  299. package/svf/include/AE/Svfexe/BufOverflowChecker.h +5 -5
  300. package/svf/include/Graphs/CFBasicBlockG.h +0 -43
  301. package/svf/lib/AE/Svfexe/{AE.cpp → AbstractExecution.cpp} +33 -33
  302. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +2 -2
  303. package/svf-llvm/tools/AE/ae.cpp +1 -1
@@ -175,7 +175,7 @@ Additional Inherited Members</h2></td></tr>
175
175
  </table>
176
176
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
177
177
  <div class="textblock">
178
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00509">509</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
178
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00466">466</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
179
179
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
180
180
  <a id="a10af45bcbdbb34263454107c0e5184d4"></a>
181
181
  <h2 class="memtitle"><span class="permalink"><a href="#a10af45bcbdbb34263454107c0e5184d4">&#9670;&nbsp;</a></span>NodeType</h2>
@@ -189,7 +189,7 @@ Additional Inherited Members</h2></td></tr>
189
189
  </table>
190
190
  </div><div class="memdoc">
191
191
 
192
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00512">512</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
192
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00469">469</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
193
193
 
194
194
  </div>
195
195
  </div>
@@ -218,11 +218,11 @@ Additional Inherited Members</h2></td></tr>
218
218
  </table>
219
219
  </div><div class="memdoc">
220
220
 
221
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00514">514</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
222
- <div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; :</div>
223
- <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; DOTGraphTraits&lt;SVF::SVFIR *&gt;(<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">isSimple</a>)</div>
224
- <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; {</div>
225
- <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; }</div>
221
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00471">471</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
222
+ <div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; :</div>
223
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; DOTGraphTraits&lt;SVF::SVFIR *&gt;(<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">isSimple</a>)</div>
224
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; {</div>
225
+ <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }</div>
226
226
  </div><!-- fragment -->
227
227
  </div>
228
228
  </div>
@@ -269,26 +269,26 @@ template&lt;class EdgeIter &gt; </div>
269
269
  </table>
270
270
  </div><div class="memdoc">
271
271
 
272
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00584">584</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
273
- <div class="fragment"><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; {</div>
274
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; CFBasicBlockEdge* edge = *(EI.getCurrent());</div>
275
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div>
276
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getICFGEdge())</div>
277
- <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; {</div>
278
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
279
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; {</div>
280
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=red&quot;</span>;</div>
281
- <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div>
282
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
283
- <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=blue&quot;</span>;</div>
284
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">else</span></div>
285
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div>
286
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; }</div>
287
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">else</span></div>
288
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; {</div>
289
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div>
290
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div>
291
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; }</div>
272
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00541">541</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
273
+ <div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; {</div>
274
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; CFBasicBlockEdge* edge = *(EI.getCurrent());</div>
275
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div>
276
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getICFGEdge())</div>
277
+ <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; {</div>
278
+ <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
279
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; {</div>
280
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=red&quot;</span>;</div>
281
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; }</div>
282
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
283
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=blue&quot;</span>;</div>
284
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">else</span></div>
285
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div>
286
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; }</div>
287
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">else</span></div>
288
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div>
289
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div>
290
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div>
291
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; }</div>
292
292
  </div><!-- fragment -->
293
293
  </div>
294
294
  </div>
@@ -328,22 +328,22 @@ template&lt;class EdgeIter &gt; </div>
328
328
  </table>
329
329
  </div><div class="memdoc">
330
330
 
331
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00606">606</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
332
- <div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div>
333
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; CFBasicBlockEdge* edge = *(EI.getCurrent());</div>
334
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div>
335
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; </div>
336
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
337
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; std::stringstream rawstr(str);</div>
338
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getICFGEdge())</div>
339
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; {</div>
340
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> CallCFGEdge* dirCall = SVFUtil::dyn_cast&lt;CallCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
341
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; rawstr &lt;&lt; dirCall-&gt;getCallSite();</div>
342
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> RetCFGEdge* dirRet = SVFUtil::dyn_cast&lt;RetCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
343
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; rawstr &lt;&lt; dirRet-&gt;getCallSite();</div>
344
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; }</div>
345
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
346
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; }</div>
331
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00563">563</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
332
+ <div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div>
333
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; CFBasicBlockEdge* edge = *(EI.getCurrent());</div>
334
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div>
335
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; </div>
336
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
337
+ <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; std::stringstream rawstr(str);</div>
338
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getICFGEdge())</div>
339
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div>
340
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> CallCFGEdge* dirCall = SVFUtil::dyn_cast&lt;CallCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
341
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; rawstr &lt;&lt; dirCall-&gt;getCallSite();</div>
342
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> RetCFGEdge* dirRet = SVFUtil::dyn_cast&lt;RetCFGEdge&gt;(edge-&gt;getICFGEdge()))</div>
343
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; rawstr &lt;&lt; dirRet-&gt;getCallSite();</div>
344
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; }</div>
345
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
346
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div>
347
347
  </div><!-- fragment -->
348
348
  </div>
349
349
  </div>
@@ -373,10 +373,10 @@ template&lt;class EdgeIter &gt; </div>
373
373
 
374
374
  <p>Return name of the graph. </p>
375
375
 
376
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00520">520</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
377
- <div class="fragment"><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; {</div>
378
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;CFBasicBlockGraph&quot;</span>;</div>
379
- <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div>
376
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00477">477</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
377
+ <div class="fragment"><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; {</div>
378
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;CFBasicBlockGraph&quot;</span>;</div>
379
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div>
380
380
  </div><!-- fragment -->
381
381
  </div>
382
382
  </div>
@@ -414,47 +414,47 @@ template&lt;class EdgeIter &gt; </div>
414
414
  </table>
415
415
  </div><div class="memdoc">
416
416
 
417
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00541">541</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
418
- <div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; {</div>
419
- <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
420
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; std::stringstream rawstr(str);</div>
421
- <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">if</span>(node-&gt;getICFGNodes().size() == 1)</div>
422
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; {</div>
423
- <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keyword">const</span> ICFGNode* <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a> = node-&gt;getICFGNodes()[0];</div>
424
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;IntraICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
425
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; {</div>
426
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div>
427
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; }</div>
428
- <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FunEntryICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
429
- <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; {</div>
430
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow&quot;</span>;</div>
431
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; }</div>
432
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FunExitICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
433
- <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div>
434
- <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=green&quot;</span>;</div>
435
- <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div>
436
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;CallICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
437
- <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; {</div>
438
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=red&quot;</span>;</div>
439
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div>
440
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;RetICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
441
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; {</div>
442
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=blue&quot;</span>;</div>
443
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div>
444
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;GlobalICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
445
- <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div>
446
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=purple&quot;</span>;</div>
447
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div>
448
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">else</span></div>
449
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;no such kind of node!!&quot;</span>);</div>
450
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; }</div>
451
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">else</span></div>
452
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; {</div>
453
- <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div>
454
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div>
455
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;&quot;</span>;</div>
456
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
457
- <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; }</div>
417
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00498">498</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
418
+ <div class="fragment"><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div>
419
+ <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
420
+ <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; std::stringstream rawstr(str);</div>
421
+ <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">if</span>(node-&gt;getICFGNodes().size() == 1)</div>
422
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div>
423
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keyword">const</span> ICFGNode* <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a> = node-&gt;getICFGNodes()[0];</div>
424
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;IntraICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
425
+ <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div>
426
+ <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div>
427
+ <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; }</div>
428
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FunEntryICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
429
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; {</div>
430
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow&quot;</span>;</div>
431
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div>
432
+ <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FunExitICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
433
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div>
434
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=green&quot;</span>;</div>
435
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div>
436
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;CallICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
437
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; {</div>
438
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=red&quot;</span>;</div>
439
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; }</div>
440
+ <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;RetICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
441
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div>
442
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=blue&quot;</span>;</div>
443
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div>
444
+ <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;GlobalICFGNode&gt;(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
445
+ <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; {</div>
446
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=purple&quot;</span>;</div>
447
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div>
448
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">else</span></div>
449
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;no such kind of node!!&quot;</span>);</div>
450
+ <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; }</div>
451
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">else</span></div>
452
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; {</div>
453
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div>
454
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; }</div>
455
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;&quot;</span>;</div>
456
+ <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
457
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div>
458
458
  </div><!-- fragment -->
459
459
  </div>
460
460
  </div>
@@ -492,10 +492,10 @@ template&lt;class EdgeIter &gt; </div>
492
492
  </table>
493
493
  </div><div class="memdoc">
494
494
 
495
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00525">525</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
496
- <div class="fragment"><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; {</div>
497
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">getSimpleNodeLabel</a>(node, graph);</div>
498
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div>
495
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00482">482</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
496
+ <div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
497
+ <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">getSimpleNodeLabel</a>(node, graph);</div>
498
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; }</div>
499
499
  </div><!-- fragment -->
500
500
  </div>
501
501
  </div>
@@ -535,15 +535,15 @@ template&lt;class EdgeIter &gt; </div>
535
535
 
536
536
  <p>Return the label of an <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> node. </p>
537
537
 
538
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00531">531</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
539
- <div class="fragment"><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; {</div>
540
- <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
541
- <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; std::stringstream rawstr(str);</div>
542
- <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;NodeID: &quot;</span> &lt;&lt; node-&gt;getId() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
543
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; rawstr &lt;&lt; node-&gt;toString();</div>
544
- <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; </div>
545
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
546
- <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; }</div>
538
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00488">488</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
539
+ <div class="fragment"><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; {</div>
540
+ <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
541
+ <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; std::stringstream rawstr(str);</div>
542
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;NodeID: &quot;</span> &lt;&lt; node-&gt;getId() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
543
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; rawstr &lt;&lt; node-&gt;toString();</div>
544
+ <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; </div>
545
+ <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
546
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; }</div>
547
547
  </div><!-- fragment -->
548
548
  </div>
549
549
  </div>
@@ -553,7 +553,7 @@ template&lt;class EdgeIter &gt; </div>
553
553
  </div><!-- contents -->
554
554
  <div class="ttc" id="acJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
555
555
  <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>
556
- <div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a66e6c63670681d78c6bd42f828b274c0"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">SVF::DOTGraphTraits&lt; SVF::CFBasicBlockGraph * &gt;::getSimpleNodeLabel</a></div><div class="ttdeci">static std::string getSimpleNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return the label of an ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00531">CFBasicBlockG.h:531</a></div></div>
556
+ <div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a66e6c63670681d78c6bd42f828b274c0"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">SVF::DOTGraphTraits&lt; SVF::CFBasicBlockGraph * &gt;::getSimpleNodeLabel</a></div><div class="ttdeci">static std::string getSimpleNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return the label of an ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00488">CFBasicBlockG.h:488</a></div></div>
557
557
  <div class="ttc" id="astructSVF_1_1DefaultDOTGraphTraits_html_acc82bc6228128e5bb98a6b00d6dc5f77"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">SVF::DefaultDOTGraphTraits::isSimple</a></div><div class="ttdeci">bool isSimple()</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00035">DOTGraphTraits.h:35</a></div></div>
558
558
  <!-- start footer part -->
559
559
  <hr class="footer"/><address class="footer"><small>
@@ -95,7 +95,7 @@ Additional Inherited Members</h2></td></tr>
95
95
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
96
96
  <div class="textblock"><p><a class="el" href="structSVF_1_1Inverse.html">Inverse</a> <a class="el" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a> specializations for call graph node, it is used for inverse ICFGTraversal. </p>
97
97
 
98
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00492">492</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
98
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00449">449</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
99
99
  </div><hr/>The documentation for this struct was generated from the following file:<ul>
100
100
  <li>/home/runner/work/SVF/SVF/svf/include/Graphs/<a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a></li>
101
101
  </ul>
@@ -94,7 +94,7 @@ Public Types</h2></td></tr>
94
94
  </table>
95
95
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
96
96
  <div class="textblock">
97
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00498">498</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
97
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00455">455</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
98
98
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
99
99
  <a id="a0d7eb2f1c00f0499d99f5508ce5055f5"></a>
100
100
  <h2 class="memtitle"><span class="permalink"><a href="#a0d7eb2f1c00f0499d99f5508ce5055f5">&#9670;&nbsp;</a></span>NodeRef</h2>
@@ -108,7 +108,7 @@ Public Types</h2></td></tr>
108
108
  </table>
109
109
  </div><div class="memdoc">
110
110
 
111
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00501">501</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
111
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00458">458</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
112
112
 
113
113
  </div>
114
114
  </div>
@@ -91,7 +91,7 @@ Additional Inherited Members</h2></td></tr>
91
91
  </table>
92
92
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
93
93
  <div class="textblock">
94
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00485">485</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
94
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00442">442</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
95
95
  </div><hr/>The documentation for this struct was generated from the following file:<ul>
96
96
  <li>/home/runner/work/SVF/SVF/svf/include/Graphs/<a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a></li>
97
97
  </ul>
package/build.sh CHANGED
@@ -196,8 +196,8 @@ if [[ ! -d "$LLVM_DIR" ]]; then
196
196
  mkdir -p "./$LLVMHome" && tar -xf llvm.tar.xz -C "./$LLVMHome" --strip-components 1
197
197
  rm llvm.tar.xz
198
198
  fi
199
- export LLVM_DIR="$SVFHOME/$LLVMHome"
200
199
  fi
200
+ export LLVM_DIR="$SVFHOME/$LLVMHome"
201
201
  fi
202
202
 
203
203
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.875",
3
+ "version": "1.0.877",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -35,14 +35,14 @@
35
35
 
36
36
  namespace SVF
37
37
  {
38
- class AE;
38
+ class AbstractExecution;
39
39
  class AEStat;
40
40
  class AEAPI;
41
41
 
42
42
 
43
43
  enum class AEKind
44
44
  {
45
- AE,
45
+ AbstractExecution,
46
46
  BufOverflowChecker
47
47
  };
48
48
 
@@ -51,7 +51,7 @@ class AEStat : public SVFStat
51
51
  {
52
52
  public:
53
53
  void countStateSize();
54
- AEStat(AE *ae): _ae(ae)
54
+ AEStat(AbstractExecution *ae): _ae(ae)
55
55
  {
56
56
  startTime = getClk(true);
57
57
  }
@@ -69,7 +69,7 @@ public:
69
69
  void reportBug();
70
70
 
71
71
  public:
72
- AE *_ae;
72
+ AbstractExecution *_ae;
73
73
  s32_t count{0};
74
74
  std::string memory_usage;
75
75
  std::string memUsage;
@@ -103,8 +103,7 @@ public:
103
103
 
104
104
  };
105
105
 
106
- // AE: Abstract Execution
107
- class AE
106
+ class AbstractExecution
108
107
  {
109
108
  friend class AEStat;
110
109
  friend class AEAPI;
@@ -112,7 +111,7 @@ class AE
112
111
  public:
113
112
  typedef SCCDetection<PTACallGraph *> CallGraphSCC;
114
113
  /// Constructor
115
- AE();
114
+ AbstractExecution();
116
115
 
117
116
  virtual void initExtAPI();
118
117
 
@@ -120,14 +119,14 @@ public:
120
119
 
121
120
 
122
121
  /// Destructor
123
- virtual ~AE();
122
+ virtual ~AbstractExecution();
124
123
 
125
124
  /// Program entry
126
125
  void analyse();
127
126
 
128
- static bool classof(const AE* ae)
127
+ static bool classof(const AbstractExecution* ae)
129
128
  {
130
- return ae->getKind() == AEKind::AE;
129
+ return ae->getKind() == AEKind::AbstractExecution;
131
130
  }
132
131
 
133
132
  AEKind getKind() const
@@ -286,7 +285,7 @@ public:
286
285
  enum ExtAPIType { UNCLASSIFIED, MEMCPY, MEMSET, STRCPY, STRCAT };
287
286
  static bool classof(const AEAPI* api)
288
287
  {
289
- return api->getKind() == AEKind::AE;
288
+ return api->getKind() == AEKind::AbstractExecution;
290
289
  }
291
290
 
292
291
  /**
@@ -295,10 +294,10 @@ public:
295
294
  * @param ae Abstract Execution or its subclass
296
295
  * @param stat AEStat
297
296
  */
298
- AEAPI(AE* ae, AEStat* stat): _ae(ae), _stat(stat)
297
+ AEAPI(AbstractExecution* ae, AEStat* stat): _ae(ae), _stat(stat)
299
298
  {
300
299
  initExtFunMap();
301
- _kind = AEKind::AE;
300
+ _kind = AEKind::AbstractExecution;
302
301
  }
303
302
 
304
303
  virtual ~AEAPI() {}
@@ -421,7 +420,7 @@ protected:
421
420
 
422
421
 
423
422
  protected:
424
- AE* _ae;
423
+ AbstractExecution* _ae;
425
424
  AEStat* _stat;
426
425
  SVFIR* _svfir;
427
426
  AEKind _kind;
@@ -25,7 +25,7 @@
25
25
  // Created by Jiawei Wang on 2024/1/12.
26
26
  //
27
27
 
28
- #include "AE.h"
28
+ #include "AE/Svfexe/AbstractExecution.h"
29
29
 
30
30
  namespace SVF
31
31
  {
@@ -101,7 +101,7 @@ class BufOverflowCheckerAPI: public AEAPI
101
101
  {
102
102
  public:
103
103
  BufOverflowCheckerAPI() = delete;
104
- BufOverflowCheckerAPI(AE * ae, AEStat * stat): AEAPI(ae, stat)
104
+ BufOverflowCheckerAPI(AbstractExecution * ae, AEStat * stat): AEAPI(ae, stat)
105
105
  {
106
106
  initExtFunMap();
107
107
  initExtAPIBufOverflowCheckRules();
@@ -167,17 +167,17 @@ public:
167
167
  Map<std::string, std::vector<std::pair<u32_t, u32_t>>> _extAPIBufOverflowCheckRules;
168
168
  };
169
169
 
170
- class BufOverflowChecker: public AE
170
+ class BufOverflowChecker: public AbstractExecution
171
171
  {
172
172
  friend BufOverflowCheckerAPI;
173
173
 
174
174
  public:
175
- BufOverflowChecker() : AE()
175
+ BufOverflowChecker() : AbstractExecution()
176
176
  {
177
177
  _kind = AEKind::BufOverflowChecker;
178
178
  }
179
179
 
180
- static bool classof(const AE* ae)
180
+ static bool classof(const AbstractExecution* ae)
181
181
  {
182
182
  return ae->getKind() == AEKind::BufOverflowChecker;
183
183
  }
@@ -258,49 +258,6 @@ public:
258
258
  }
259
259
  //@}
260
260
 
261
- /// Iterators used for SCC detection, overwrite it in child class if necessory
262
- //@{
263
- virtual inline iterator directOutEdgeBegin()
264
- {
265
- return OutEdges.begin();
266
- }
267
-
268
- virtual inline iterator directOutEdgeEnd()
269
- {
270
- return OutEdges.end();
271
- }
272
-
273
- virtual inline iterator directInEdgeBegin()
274
- {
275
- return InEdges.begin();
276
- }
277
-
278
- virtual inline iterator directInEdgeEnd()
279
- {
280
- return InEdges.end();
281
- }
282
-
283
- virtual inline const_iterator directOutEdgeBegin() const
284
- {
285
- return OutEdges.begin();
286
- }
287
-
288
- virtual inline const_iterator directOutEdgeEnd() const
289
- {
290
- return OutEdges.end();
291
- }
292
-
293
- virtual inline const_iterator directInEdgeBegin() const
294
- {
295
- return InEdges.begin();
296
- }
297
-
298
- virtual inline const_iterator directInEdgeEnd() const
299
- {
300
- return InEdges.end();
301
- }
302
- //@}
303
-
304
261
  /// Add incoming and outgoing edges
305
262
  //@{
306
263
  inline bool addIncomingEdge(CFBasicBlockEdge *inEdge)