svf-tools 1.0.876 → 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 (302) 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/package.json +1 -1
  297. package/svf/include/AE/Svfexe/{AE.h → AbstractExecution.h} +13 -14
  298. package/svf/include/AE/Svfexe/BufOverflowChecker.h +5 -5
  299. package/svf/include/Graphs/CFBasicBlockG.h +0 -43
  300. package/svf/lib/AE/Svfexe/{AE.cpp → AbstractExecution.cpp} +33 -33
  301. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +2 -2
  302. package/svf-llvm/tools/AE/ae.cpp +1 -1
package/README.md CHANGED
@@ -23,7 +23,7 @@
23
23
  ## Documentation
24
24
 
25
25
  <b>SVF</b> is a static value-flow analysis tool for LLVM-based languages. <b>SVF</b> ([CC'16](https://yuleisui.github.io/publications/cc16.pdf)) is able to perform
26
- * [AbstractExecution](https://github.com/SVF-tools/SVF/tree/master/svf/include/AbstractExecution) (<b>abstract execution</b>): cross-domain execution ([ICSE'24](https://yuleisui.github.io/publications/icse24a.pdf)), typestate analysis ([FSE'24](https://yuleisui.github.io/publications/fse24a.pdf));
26
+ * [AE](https://github.com/SVF-tools/SVF/tree/master/svf/include/AE) (<b>abstract execution</b>): cross-domain execution ([ICSE'24](https://yuleisui.github.io/publications/icse24a.pdf)), typestate analysis ([FSE'24](https://yuleisui.github.io/publications/fse24a.pdf));
27
27
  * [WPA](https://github.com/SVF-tools/SVF/tree/master/svf/include/WPA) (<b>whole program analysis</b>): field-sensitive ([SAS'19](https://yuleisui.github.io/publications/sas2019a.pdf)), flow-sensitive ([CGO'21](https://yuleisui.github.io/publications/cgo21.pdf), [OOPSLA'21](https://yuleisui.github.io/publications/oopsla21.pdf)) analysis;
28
28
  * [DDA](https://github.com/SVF-tools/SVF/tree/master/svf/include/DDA) (<b>demand-driven analysis</b>): flow-sensitive, context-sensitive points-to analysis ([FSE'16](https://yuleisui.github.io/publications/fse16.pdf), [TSE'18](https://yuleisui.github.io/publications/tse18.pdf));
29
29
  * [MSSA](https://github.com/SVF-tools/SVF/tree/master/svf/include/MSSA) (<b>memory SSA form construction</b>): memory regions, side-effects, SSA form ([JSS'18](https://yuleisui.github.io/publications/jss18.pdf));
@@ -0,0 +1,218 @@
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/lib/AE/Svfexe/AbstractExecution.cpp File Reference</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_946e55d8e7afdb1629c1e1d7cdc5486a.html">lib</a></li><li class="navelem"><a class="el" href="dir_7e02b97230e2801c6749b0b00985526f.html">AE</a></li><li class="navelem"><a class="el" href="dir_81caa96ab1d3de93b353e2bbe80e6067.html">Svfexe</a></li> </ul>
65
+ </div>
66
+ </div><!-- top -->
67
+ <div class="header">
68
+ <div class="summary">
69
+ <a href="#define-members">Macros</a> &#124;
70
+ <a href="#var-members">Variables</a> </div>
71
+ <div class="headertitle">
72
+ <div class="title">AbstractExecution.cpp File Reference</div> </div>
73
+ </div><!--header-->
74
+ <div class="contents">
75
+ <div class="textblock"><code>#include &quot;<a class="el" href="Andersen_8h_source.html">WPA/Andersen.h</a>&quot;</code><br />
76
+ <code>#include &quot;<a class="el" href="CFBasicBlockGBuilder_8h_source.html">Util/CFBasicBlockGBuilder.h</a>&quot;</code><br />
77
+ <code>#include &quot;<a class="el" href="SVFIR_8h_source.html">SVFIR/SVFIR.h</a>&quot;</code><br />
78
+ <code>#include &quot;<a class="el" href="AbstractExecution_8h_source.html">AE/Svfexe/AbstractExecution.h</a>&quot;</code><br />
79
+ <code>#include &quot;<a class="el" href="Options_8h_source.html">Util/Options.h</a>&quot;</code><br />
80
+ <code>#include &lt;cmath&gt;</code><br />
81
+ </div>
82
+ <p><a href="AbstractExecution_8cpp_source.html">Go to the source code of this file.</a></p>
83
+ <table class="memberdecls">
84
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
85
+ Macros</h2></td></tr>
86
+ <tr class="memitem:a6ded577f411d8dd34071fba96989f93a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="AbstractExecution_8cpp.html#a6ded577f411d8dd34071fba96989f93a">SSE_FUNC_PROCESS</a>(LLVM_NAME, FUNC_NAME)</td></tr>
87
+ <tr class="separator:a6ded577f411d8dd34071fba96989f93a"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
+ </table><table class="memberdecls">
89
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
90
+ Variables</h2></td></tr>
91
+ <tr class="memitem:a6baa35cec0782ac3179849752a732e5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="AbstractExecution_8cpp.html#a6baa35cec0782ac3179849752a732e5c">_reverse_predicate</a></td></tr>
92
+ <tr class="separator:a6baa35cec0782ac3179849752a732e5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
93
+ <tr class="memitem:a3b70282b79998dcb9f6df78370bc1fe9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="AbstractExecution_8cpp.html#a3b70282b79998dcb9f6df78370bc1fe9">_switch_lhsrhs_predicate</a></td></tr>
94
+ <tr class="separator:a3b70282b79998dcb9f6df78370bc1fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
95
+ </table>
96
+ <h2 class="groupheader">Macro Definition Documentation</h2>
97
+ <a id="a6ded577f411d8dd34071fba96989f93a"></a>
98
+ <h2 class="memtitle"><span class="permalink"><a href="#a6ded577f411d8dd34071fba96989f93a">&#9670;&nbsp;</a></span>SSE_FUNC_PROCESS</h2>
99
+
100
+ <div class="memitem">
101
+ <div class="memproto">
102
+ <table class="memname">
103
+ <tr>
104
+ <td class="memname">#define SSE_FUNC_PROCESS</td>
105
+ <td>(</td>
106
+ <td class="paramtype">&#160;</td>
107
+ <td class="paramname">LLVM_NAME, </td>
108
+ </tr>
109
+ <tr>
110
+ <td class="paramkey"></td>
111
+ <td></td>
112
+ <td class="paramtype">&#160;</td>
113
+ <td class="paramname">FUNC_NAME&#160;</td>
114
+ </tr>
115
+ <tr>
116
+ <td></td>
117
+ <td>)</td>
118
+ <td></td><td></td>
119
+ </tr>
120
+ </table>
121
+ </div><div class="memdoc">
122
+ <b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">auto</span> sse_##FUNC_NAME = [<span class="keyword">this</span>](<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;cs) { \</div>
123
+ <div class="line"> <span class="comment">/* run real ext function */</span> \</div>
124
+ <div class="line"> IntervalExeState &amp;es = _ae-&gt;_svfir2ExeState-&gt;getEs(); \</div>
125
+ <div class="line"> u32_t rhs_id = _svfir-&gt;getValueNode(cs.getArgument(0)); \</div>
126
+ <div class="line"> if (!es.inVarToValTable(rhs_id)) <span class="keywordflow">return</span>; \</div>
127
+ <div class="line"> u32_t rhs = _ae-&gt;_svfir2ExeState-&gt;getEs()[rhs_id].lb().getNumeral(); \</div>
128
+ <div class="line"> s32_t res = FUNC_NAME(rhs); \</div>
129
+ <div class="line"> u32_t lhsId = _svfir-&gt;getValueNode(cs.getInstruction()); \</div>
130
+ <div class="line"> _ae-&gt;_svfir2ExeState-&gt;getEs()[lhsId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(res); \</div>
131
+ <div class="line"> return; \</div>
132
+ <div class="line"> }; \</div>
133
+ <div class="line"> _func_map[#FUNC_NAME] = sse_##FUNC_NAME; \</div>
134
+ </div><!-- fragment -->
135
+ </div>
136
+ </div>
137
+ <h2 class="groupheader">Variable Documentation</h2>
138
+ <a id="a6baa35cec0782ac3179849752a732e5c"></a>
139
+ <h2 class="memtitle"><span class="permalink"><a href="#a6baa35cec0782ac3179849752a732e5c">&#9670;&nbsp;</a></span>_reverse_predicate</h2>
140
+
141
+ <div class="memitem">
142
+ <div class="memproto">
143
+ <table class="memname">
144
+ <tr>
145
+ <td class="memname"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&gt; _reverse_predicate</td>
146
+ </tr>
147
+ </table>
148
+ </div><div class="memdoc">
149
+ <b>Initial value:</b><div class="fragment"><div class="line">=</div>
150
+ <div class="line">{</div>
151
+ <div class="line"> {CmpStmt::Predicate::FCMP_OEQ, CmpStmt::Predicate::FCMP_ONE}, </div>
152
+ <div class="line"> {CmpStmt::Predicate::FCMP_UEQ, CmpStmt::Predicate::FCMP_UNE}, </div>
153
+ <div class="line"> {CmpStmt::Predicate::FCMP_OGT, CmpStmt::Predicate::FCMP_OLE}, </div>
154
+ <div class="line"> {CmpStmt::Predicate::FCMP_OGE, CmpStmt::Predicate::FCMP_OLT}, </div>
155
+ <div class="line"> {CmpStmt::Predicate::FCMP_OLT, CmpStmt::Predicate::FCMP_OGE}, </div>
156
+ <div class="line"> {CmpStmt::Predicate::FCMP_OLE, CmpStmt::Predicate::FCMP_OGT}, </div>
157
+ <div class="line"> {CmpStmt::Predicate::FCMP_ONE, CmpStmt::Predicate::FCMP_OEQ}, </div>
158
+ <div class="line"> {CmpStmt::Predicate::FCMP_UNE, CmpStmt::Predicate::FCMP_UEQ}, </div>
159
+ <div class="line"> {CmpStmt::Predicate::ICMP_EQ, CmpStmt::Predicate::ICMP_NE}, </div>
160
+ <div class="line"> {CmpStmt::Predicate::ICMP_NE, CmpStmt::Predicate::ICMP_EQ}, </div>
161
+ <div class="line"> {CmpStmt::Predicate::ICMP_UGT, CmpStmt::Predicate::ICMP_ULE}, </div>
162
+ <div class="line"> {CmpStmt::Predicate::ICMP_ULT, CmpStmt::Predicate::ICMP_UGE}, </div>
163
+ <div class="line"> {CmpStmt::Predicate::ICMP_UGE, CmpStmt::Predicate::ICMP_ULT}, </div>
164
+ <div class="line"> {CmpStmt::Predicate::ICMP_SGT, CmpStmt::Predicate::ICMP_SLE}, </div>
165
+ <div class="line"> {CmpStmt::Predicate::ICMP_SLT, CmpStmt::Predicate::ICMP_SGE}, </div>
166
+ <div class="line"> {CmpStmt::Predicate::ICMP_SGE, CmpStmt::Predicate::ICMP_SLT}, </div>
167
+ <div class="line">}</div>
168
+ </div><!-- fragment -->
169
+ <p class="definition">Definition at line <a class="el" href="AbstractExecution_8cpp_source.html#l00046">46</a> of file <a class="el" href="AbstractExecution_8cpp_source.html">AbstractExecution.cpp</a>.</p>
170
+
171
+ </div>
172
+ </div>
173
+ <a id="a3b70282b79998dcb9f6df78370bc1fe9"></a>
174
+ <h2 class="memtitle"><span class="permalink"><a href="#a3b70282b79998dcb9f6df78370bc1fe9">&#9670;&nbsp;</a></span>_switch_lhsrhs_predicate</h2>
175
+
176
+ <div class="memitem">
177
+ <div class="memproto">
178
+ <table class="memname">
179
+ <tr>
180
+ <td class="memname"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&gt; _switch_lhsrhs_predicate</td>
181
+ </tr>
182
+ </table>
183
+ </div><div class="memdoc">
184
+ <b>Initial value:</b><div class="fragment"><div class="line">=</div>
185
+ <div class="line">{</div>
186
+ <div class="line"> {CmpStmt::Predicate::FCMP_OEQ, CmpStmt::Predicate::FCMP_OEQ}, </div>
187
+ <div class="line"> {CmpStmt::Predicate::FCMP_UEQ, CmpStmt::Predicate::FCMP_UEQ}, </div>
188
+ <div class="line"> {CmpStmt::Predicate::FCMP_OGT, CmpStmt::Predicate::FCMP_OLT}, </div>
189
+ <div class="line"> {CmpStmt::Predicate::FCMP_OGE, CmpStmt::Predicate::FCMP_OLE}, </div>
190
+ <div class="line"> {CmpStmt::Predicate::FCMP_OLT, CmpStmt::Predicate::FCMP_OGT}, </div>
191
+ <div class="line"> {CmpStmt::Predicate::FCMP_OLE, CmpStmt::Predicate::FCMP_OGE}, </div>
192
+ <div class="line"> {CmpStmt::Predicate::FCMP_ONE, CmpStmt::Predicate::FCMP_ONE}, </div>
193
+ <div class="line"> {CmpStmt::Predicate::FCMP_UNE, CmpStmt::Predicate::FCMP_UNE}, </div>
194
+ <div class="line"> {CmpStmt::Predicate::ICMP_EQ, CmpStmt::Predicate::ICMP_EQ}, </div>
195
+ <div class="line"> {CmpStmt::Predicate::ICMP_NE, CmpStmt::Predicate::ICMP_NE}, </div>
196
+ <div class="line"> {CmpStmt::Predicate::ICMP_UGT, CmpStmt::Predicate::ICMP_ULT}, </div>
197
+ <div class="line"> {CmpStmt::Predicate::ICMP_ULT, CmpStmt::Predicate::ICMP_UGT}, </div>
198
+ <div class="line"> {CmpStmt::Predicate::ICMP_UGE, CmpStmt::Predicate::ICMP_ULE}, </div>
199
+ <div class="line"> {CmpStmt::Predicate::ICMP_SGT, CmpStmt::Predicate::ICMP_SLT}, </div>
200
+ <div class="line"> {CmpStmt::Predicate::ICMP_SLT, CmpStmt::Predicate::ICMP_SGT}, </div>
201
+ <div class="line"> {CmpStmt::Predicate::ICMP_SGE, CmpStmt::Predicate::ICMP_SLE}, </div>
202
+ <div class="line">}</div>
203
+ </div><!-- fragment -->
204
+ <p class="definition">Definition at line <a class="el" href="AbstractExecution_8cpp_source.html#l00067">67</a> of file <a class="el" href="AbstractExecution_8cpp_source.html">AbstractExecution.cpp</a>.</p>
205
+
206
+ </div>
207
+ </div>
208
+ </div><!-- contents -->
209
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
210
+ <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>
211
+ <!-- start footer part -->
212
+ <hr class="footer"/><address class="footer"><small>
213
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
214
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
215
+ </a> 1.8.17
216
+ </small></address>
217
+ </body>
218
+ </html>