svf-tools 1.0.747 → 1.0.749

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 (270) hide show
  1. package/SVF-doxygen/html/html/SVFBugReport_8cpp_source.html +168 -144
  2. package/SVF-doxygen/html/html/SVFBugReport_8h.html +4 -0
  3. package/SVF-doxygen/html/html/SVFBugReport_8h_source.html +167 -125
  4. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +5 -4
  6. package/SVF-doxygen/html/html/annotated.html +292 -290
  7. package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug-members.html +11 -9
  8. package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug.html +4 -1
  9. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug-members.html +11 -9
  10. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug.html +4 -1
  11. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  12. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +1 -1
  13. package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug-members.html +11 -9
  14. package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug.html +4 -1
  15. package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug-members.html +11 -9
  16. package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug.html +4 -1
  17. package/SVF-doxygen/html/html/classSVF_1_1FullBufferOverflowBug-members.html +11 -9
  18. package/SVF-doxygen/html/html/classSVF_1_1FullBufferOverflowBug.html +4 -1
  19. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug-members.html +107 -0
  20. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.html +302 -0
  21. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.png +0 -0
  22. package/SVF-doxygen/html/html/classSVF_1_1GenericBug-members.html +11 -9
  23. package/SVF-doxygen/html/html/classSVF_1_1GenericBug.html +21 -14
  24. package/SVF-doxygen/html/html/classSVF_1_1GenericBug.png +0 -0
  25. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  26. package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug-members.html +12 -10
  27. package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug.html +4 -1
  28. package/SVF-doxygen/html/html/classSVF_1_1PartialBufferOverflowBug-members.html +12 -10
  29. package/SVF-doxygen/html/html/classSVF_1_1PartialBufferOverflowBug.html +4 -1
  30. package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug-members.html +12 -10
  31. package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug.html +4 -1
  32. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug-members.html +107 -0
  33. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.html +302 -0
  34. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.png +0 -0
  35. package/SVF-doxygen/html/html/classSVF_1_1SVFBugEvent.html +49 -49
  36. package/SVF-doxygen/html/html/classSVF_1_1SVFBugReport.html +169 -169
  37. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
  38. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
  39. package/SVF-doxygen/html/html/classes.html +334 -332
  40. package/SVF-doxygen/html/html/functions_c.html +21 -17
  41. package/SVF-doxygen/html/html/functions_eval_f.html +3 -0
  42. package/SVF-doxygen/html/html/functions_eval_p.html +3 -0
  43. package/SVF-doxygen/html/html/functions_f.html +21 -15
  44. package/SVF-doxygen/html/html/functions_func_c.html +23 -21
  45. package/SVF-doxygen/html/html/functions_func_f.html +3 -0
  46. package/SVF-doxygen/html/html/functions_func_g.html +19 -17
  47. package/SVF-doxygen/html/html/functions_func_p.html +8 -3
  48. package/SVF-doxygen/html/html/functions_g.html +21 -19
  49. package/SVF-doxygen/html/html/functions_i.html +2 -2
  50. package/SVF-doxygen/html/html/functions_l.html +5 -5
  51. package/SVF-doxygen/html/html/functions_o.html +17 -17
  52. package/SVF-doxygen/html/html/functions_p.html +34 -28
  53. package/SVF-doxygen/html/html/functions_r.html +2 -2
  54. package/SVF-doxygen/html/html/functions_s.html +11 -11
  55. package/SVF-doxygen/html/html/functions_t.html +4 -4
  56. package/SVF-doxygen/html/html/functions_type_g.html +1 -1
  57. package/SVF-doxygen/html/html/functions_type_i.html +1 -1
  58. package/SVF-doxygen/html/html/functions_w.html +9 -9
  59. package/SVF-doxygen/html/html/hierarchy.html +4 -2
  60. package/SVF-doxygen/html/html/namespaceSVF.html +4 -0
  61. package/SVF-doxygen/html/html/search/all_10.js +325 -323
  62. package/SVF-doxygen/html/html/search/all_11.js +208 -208
  63. package/SVF-doxygen/html/html/search/all_12.js +546 -546
  64. package/SVF-doxygen/html/html/search/all_13.js +189 -189
  65. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  66. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  67. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  68. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  69. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  70. package/SVF-doxygen/html/html/search/all_19.js +10 -10
  71. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  72. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  73. package/SVF-doxygen/html/html/search/all_6.js +70 -68
  74. package/SVF-doxygen/html/html/search/all_7.js +1012 -1012
  75. package/SVF-doxygen/html/html/search/all_8.js +192 -192
  76. package/SVF-doxygen/html/html/search/all_9.js +597 -597
  77. package/SVF-doxygen/html/html/search/all_a.js +47 -47
  78. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  79. package/SVF-doxygen/html/html/search/all_c.js +113 -113
  80. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  81. package/SVF-doxygen/html/html/search/all_e.js +206 -206
  82. package/SVF-doxygen/html/html/search/all_f.js +122 -122
  83. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  84. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  85. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  86. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  87. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  88. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  89. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  90. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  91. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  92. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  93. package/SVF-doxygen/html/html/search/classes_4.js +10 -10
  94. package/SVF-doxygen/html/html/search/classes_5.js +28 -27
  95. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  96. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  97. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  98. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  99. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  100. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  101. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  102. package/SVF-doxygen/html/html/search/classes_d.js +19 -19
  103. package/SVF-doxygen/html/html/search/classes_e.js +36 -35
  104. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  105. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  106. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  107. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  108. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  109. package/SVF-doxygen/html/html/search/defines_4.js +3 -3
  110. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  111. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  112. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  113. package/SVF-doxygen/html/html/search/defines_8.js +13 -13
  114. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  115. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  116. package/SVF-doxygen/html/html/search/defines_b.js +2 -2
  117. package/SVF-doxygen/html/html/search/defines_c.js +2 -2
  118. package/SVF-doxygen/html/html/search/defines_d.js +6 -6
  119. package/SVF-doxygen/html/html/search/defines_e.js +3 -3
  120. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  121. package/SVF-doxygen/html/html/search/enums_1.js +1 -1
  122. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  123. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  124. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  125. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  126. package/SVF-doxygen/html/html/search/enums_4.js +4 -4
  127. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  128. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  129. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  130. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  131. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  132. package/SVF-doxygen/html/html/search/enums_a.js +2 -2
  133. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  134. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  135. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  136. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  137. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  138. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  139. package/SVF-doxygen/html/html/search/enumvalues_1.js +13 -13
  140. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  141. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  142. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  143. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  144. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  145. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  146. package/SVF-doxygen/html/html/search/enumvalues_2.js +40 -40
  147. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  148. package/SVF-doxygen/html/html/search/enumvalues_4.js +34 -34
  149. package/SVF-doxygen/html/html/search/enumvalues_5.js +48 -47
  150. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  151. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  152. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  153. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  154. package/SVF-doxygen/html/html/search/enumvalues_a.js +17 -17
  155. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  156. package/SVF-doxygen/html/html/search/enumvalues_c.js +6 -6
  157. package/SVF-doxygen/html/html/search/enumvalues_d.js +17 -16
  158. package/SVF-doxygen/html/html/search/enumvalues_e.js +11 -11
  159. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  160. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  161. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  162. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  163. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  164. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  165. package/SVF-doxygen/html/html/search/files_2.js +50 -50
  166. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  167. package/SVF-doxygen/html/html/search/files_4.js +4 -4
  168. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  169. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  170. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  171. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  172. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  173. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  174. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  175. package/SVF-doxygen/html/html/search/files_c.js +19 -19
  176. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  177. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  178. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  179. package/SVF-doxygen/html/html/search/functions_0.js +351 -351
  180. package/SVF-doxygen/html/html/search/functions_1.js +80 -80
  181. package/SVF-doxygen/html/html/search/functions_10.js +121 -121
  182. package/SVF-doxygen/html/html/search/functions_11.js +282 -282
  183. package/SVF-doxygen/html/html/search/functions_12.js +55 -55
  184. package/SVF-doxygen/html/html/search/functions_13.js +38 -38
  185. package/SVF-doxygen/html/html/search/functions_14.js +71 -71
  186. package/SVF-doxygen/html/html/search/functions_15.js +29 -29
  187. package/SVF-doxygen/html/html/search/functions_16.js +2 -2
  188. package/SVF-doxygen/html/html/search/functions_17.js +169 -169
  189. package/SVF-doxygen/html/html/search/functions_2.js +251 -251
  190. package/SVF-doxygen/html/html/search/functions_3.js +72 -72
  191. package/SVF-doxygen/html/html/search/functions_4.js +55 -55
  192. package/SVF-doxygen/html/html/search/functions_5.js +55 -54
  193. package/SVF-doxygen/html/html/search/functions_6.js +832 -832
  194. package/SVF-doxygen/html/html/search/functions_7.js +144 -144
  195. package/SVF-doxygen/html/html/search/functions_8.js +417 -417
  196. package/SVF-doxygen/html/html/search/functions_9.js +29 -29
  197. package/SVF-doxygen/html/html/search/functions_a.js +2 -2
  198. package/SVF-doxygen/html/html/search/functions_b.js +23 -23
  199. package/SVF-doxygen/html/html/search/functions_c.js +75 -75
  200. package/SVF-doxygen/html/html/search/functions_d.js +35 -35
  201. package/SVF-doxygen/html/html/search/functions_e.js +56 -56
  202. package/SVF-doxygen/html/html/search/functions_f.js +143 -142
  203. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  204. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  205. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  206. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  207. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  208. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  209. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  210. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  211. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  212. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  213. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  214. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  215. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  216. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  217. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  218. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  219. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  220. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  221. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  222. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  223. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  224. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  225. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  226. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  227. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  228. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  229. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  230. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  231. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  232. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  233. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  234. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  235. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  236. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  237. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  238. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  239. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  240. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  241. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  242. package/SVF-doxygen/html/html/search/variables_0.js +146 -146
  243. package/SVF-doxygen/html/html/search/variables_1.js +74 -74
  244. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  245. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  246. package/SVF-doxygen/html/html/search/variables_12.js +93 -93
  247. package/SVF-doxygen/html/html/search/variables_13.js +77 -77
  248. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  249. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  250. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  251. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  252. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  253. package/SVF-doxygen/html/html/search/variables_2.js +35 -35
  254. package/SVF-doxygen/html/html/search/variables_3.js +148 -148
  255. package/SVF-doxygen/html/html/search/variables_4.js +56 -56
  256. package/SVF-doxygen/html/html/search/variables_5.js +40 -40
  257. package/SVF-doxygen/html/html/search/variables_6.js +67 -67
  258. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  259. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  260. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  261. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  262. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  263. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  264. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  265. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  266. package/SVF-doxygen/html/html/search/variables_f.js +33 -33
  267. package/package.json +1 -1
  268. package/svf/include/SABER/SrcSnkSolver.h +2 -2
  269. package/svf/include/Util/SVFBugReport.h +33 -1
  270. package/svf/lib/Util/SVFBugReport.cpp +24 -0
@@ -104,7 +104,7 @@ Protected Attributes</h2></td></tr>
104
104
  </table>
105
105
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
106
106
  <div class="textblock">
107
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00256">256</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
107
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00288">288</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
108
108
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
109
109
  <a id="a357fa4ad635d2c53693ab147f255f7ac"></a>
110
110
  <h2 class="memtitle"><span class="permalink"><a href="#a357fa4ad635d2c53693ab147f255f7ac">&#9670;&nbsp;</a></span>BugSet</h2>
@@ -118,7 +118,7 @@ Protected Attributes</h2></td></tr>
118
118
  </table>
119
119
  </div><div class="memdoc">
120
120
 
121
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00261">261</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
121
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00293">293</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
122
122
 
123
123
  </div>
124
124
  </div>
@@ -163,13 +163,13 @@ Protected Attributes</h2></td></tr>
163
163
  </table>
164
164
  </div><div class="memdoc">
165
165
 
166
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00306">306</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
167
- <div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;{</div>
168
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugIt: <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>)</div>
169
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div>
170
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keyword">delete</span> bugIt;</div>
171
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
172
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;}</div>
166
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00330">330</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
167
+ <div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div>
168
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugIt: <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>)</div>
169
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
170
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">delete</span> bugIt;</div>
171
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
172
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;}</div>
173
173
  </div><!-- fragment -->
174
174
  </div>
175
175
  </div>
@@ -233,33 +233,33 @@ Protected Attributes</h2></td></tr>
233
233
  </div><div class="memdoc">
234
234
  <p>add bugs</p>
235
235
 
236
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00325">325</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
237
- <div class="fragment"><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; {</div>
238
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; GenericBug *newBug = <span class="keyword">nullptr</span>;</div>
239
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">switch</span>(bugType)</div>
240
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div>
241
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacac88ddac03bb8ae09a72058e4ad7af747">GenericBug::FULLBUFOVERFLOW</a>:</div>
242
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
243
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; newBug = <span class="keyword">new</span> FullBufferOverflowBug(eventStack, allocLowerBound, allocUpperBound, accessLowerBound, accessUpperBound);</div>
244
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
245
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">break</span>;</div>
246
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div>
247
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacadb1a72cee4debc5821c1e209b5c85cf2">GenericBug::PARTIALBUFOVERFLOW</a>:</div>
248
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
249
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; newBug = <span class="keyword">new</span> PartialBufferOverflowBug(eventStack, allocLowerBound, allocUpperBound, accessLowerBound, accessUpperBound);</div>
250
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
251
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">break</span>;</div>
252
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div>
253
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">default</span>:</div>
254
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
255
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;Abstract Execution does NOT hava his bug type!&quot;</span>);</div>
256
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">break</span>;</div>
257
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; }</div>
258
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div>
259
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; </div>
260
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="comment">// when add a bug, also print it to terminal</span></div>
261
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; newBug-&gt;printBugToTerminal();</div>
262
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div>
236
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00357">357</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
237
+ <div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
238
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; GenericBug *newBug = <span class="keyword">nullptr</span>;</div>
239
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">switch</span>(bugType)</div>
240
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
241
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacac88ddac03bb8ae09a72058e4ad7af747">GenericBug::FULLBUFOVERFLOW</a>:</div>
242
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div>
243
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; newBug = <span class="keyword">new</span> FullBufferOverflowBug(eventStack, allocLowerBound, allocUpperBound, accessLowerBound, accessUpperBound);</div>
244
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
245
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">break</span>;</div>
246
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div>
247
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacadb1a72cee4debc5821c1e209b5c85cf2">GenericBug::PARTIALBUFOVERFLOW</a>:</div>
248
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
249
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; newBug = <span class="keyword">new</span> PartialBufferOverflowBug(eventStack, allocLowerBound, allocUpperBound, accessLowerBound, accessUpperBound);</div>
250
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
251
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">break</span>;</div>
252
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div>
253
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">default</span>:</div>
254
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
255
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;Abstract Execution does NOT hava his bug type!&quot;</span>);</div>
256
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">break</span>;</div>
257
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div>
258
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div>
259
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; </div>
260
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="comment">// when add a bug, also print it to terminal</span></div>
261
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; newBug-&gt;printBugToTerminal();</div>
262
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div>
263
263
  </div><!-- fragment -->
264
264
  </div>
265
265
  </div>
@@ -298,51 +298,51 @@ Protected Attributes</h2></td></tr>
298
298
  </div><div class="memdoc">
299
299
  <p>create and add the bug</p>
300
300
 
301
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00273">273</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
302
- <div class="fragment"><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
303
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; GenericBug *newBug = <span class="keyword">nullptr</span>;</div>
304
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">switch</span>(bugType)</div>
305
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div>
306
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacae560c578e7f159ed8e1020fb33a7e5a1">GenericBug::NEVERFREE</a>:</div>
307
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div>
308
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; newBug = <span class="keyword">new</span> NeverFreeBug(eventStack);</div>
309
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
310
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">break</span>;</div>
311
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div>
312
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca1e3de2fab4338b61ce2ebdb9456f5402">GenericBug::PARTIALLEAK</a>:</div>
313
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div>
314
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; newBug = <span class="keyword">new</span> PartialLeakBug(eventStack);</div>
315
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
316
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">break</span>;</div>
317
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
318
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca1f91a40ca53eb077cc947fae828554b4">GenericBug::DOUBLEFREE</a>:</div>
319
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
320
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; newBug = <span class="keyword">new</span> DoubleFreeBug(eventStack);</div>
321
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
322
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">break</span>;</div>
323
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
324
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacadceda5dc123578fa5a4a7cad96011cbc">GenericBug::FILENEVERCLOSE</a>:</div>
325
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
326
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; newBug = <span class="keyword">new</span> FileNeverCloseBug(eventStack);</div>
327
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
328
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">break</span>;</div>
329
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
330
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca70f4fb1e58058129013de1fd04ed0bd4">GenericBug::FILEPARTIALCLOSE</a>:</div>
331
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
332
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; newBug = <span class="keyword">new</span> FilePartialCloseBug(eventStack);</div>
333
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
334
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">break</span>;</div>
335
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div>
336
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">default</span>:</div>
301
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00305">305</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
302
+ <div class="fragment"><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div>
303
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; GenericBug *newBug = <span class="keyword">nullptr</span>;</div>
304
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">switch</span>(bugType)</div>
337
305
  <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
338
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;saber does NOT have this bug type!&quot;</span>);</div>
339
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">break</span>;</div>
340
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div>
341
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
342
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; </div>
343
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="comment">// when add a bug, also print it to terminal</span></div>
344
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; newBug-&gt;printBugToTerminal();</div>
345
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; }</div>
306
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacae560c578e7f159ed8e1020fb33a7e5a1">GenericBug::NEVERFREE</a>:</div>
307
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; {</div>
308
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; newBug = <span class="keyword">new</span> NeverFreeBug(eventStack);</div>
309
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
310
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">break</span>;</div>
311
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div>
312
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca1e3de2fab4338b61ce2ebdb9456f5402">GenericBug::PARTIALLEAK</a>:</div>
313
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
314
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; newBug = <span class="keyword">new</span> PartialLeakBug(eventStack);</div>
315
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
316
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">break</span>;</div>
317
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div>
318
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca1f91a40ca53eb077cc947fae828554b4">GenericBug::DOUBLEFREE</a>:</div>
319
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; {</div>
320
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; newBug = <span class="keyword">new</span> DoubleFreeBug(eventStack);</div>
321
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
322
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">break</span>;</div>
323
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
324
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacadceda5dc123578fa5a4a7cad96011cbc">GenericBug::FILENEVERCLOSE</a>:</div>
325
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div>
326
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; newBug = <span class="keyword">new</span> FileNeverCloseBug(eventStack);</div>
327
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
328
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">break</span>;</div>
329
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; }</div>
330
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca70f4fb1e58058129013de1fd04ed0bd4">GenericBug::FILEPARTIALCLOSE</a>:</div>
331
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div>
332
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; newBug = <span class="keyword">new</span> FilePartialCloseBug(eventStack);</div>
333
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.insert(newBug);</div>
334
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">break</span>;</div>
335
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
336
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">default</span>:</div>
337
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
338
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;saber does NOT have this bug type!&quot;</span>);</div>
339
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">break</span>;</div>
340
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div>
341
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; }</div>
342
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
343
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">// when add a bug, also print it to terminal</span></div>
344
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; newBug-&gt;printBugToTerminal();</div>
345
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div>
346
346
  </div><!-- fragment -->
347
347
  </div>
348
348
  </div>
@@ -366,89 +366,89 @@ Protected Attributes</h2></td></tr>
366
366
  <p>dump single bug to json str and write to file</p>
367
367
  <p>destroy the <a class="el" href="structcJSON.html">cJSON</a> object</p>
368
368
 
369
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00314">314</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
370
- <div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;{</div>
371
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; std::map&lt;u32_t, std::string&gt; eventType2Str =</div>
372
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
373
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3aa16d1c3d5b68a356288ba49f4aee1629">SVFBugEvent::CallSite</a>, <span class="stringliteral">&quot;call site&quot;</span>},</div>
374
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3af8ef890358aa9e45bc09407fc8cd36b6">SVFBugEvent::Caller</a>, <span class="stringliteral">&quot;caller&quot;</span>},</div>
375
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3aa6d697ba9fc671288636733b8f4678a7">SVFBugEvent::Loop</a>, <span class="stringliteral">&quot;loop&quot;</span>},</div>
376
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3a070acf2c72c74cba55b5acea3db9c854">SVFBugEvent::Branch</a>, <span class="stringliteral">&quot;branch&quot;</span>}</div>
377
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; };</div>
378
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; </div>
379
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; ofstream jsonFile(filePath, ios::out);</div>
380
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; </div>
381
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
382
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
383
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">size_t</span> commaCounter = <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.size() - 1; <span class="comment">// comma num needed</span></div>
384
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugPtr : <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>)</div>
385
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div>
386
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleBug = cJSON_CreateObject();</div>
387
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
388
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(<a class="code" href="classSVF_1_1GenericBug.html#a5cfadd60fc90ea6cb7b51aa1f292b6a3">GenericBug::BugType2Str</a>.at(bugPtr-&gt;getBugType()).c_str());</div>
389
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;DefectType&quot;</span>, bugType);</div>
390
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; </div>
391
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr-&gt;getLoc().c_str());</div>
392
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">if</span>(bugLoc == <span class="keyword">nullptr</span>)</div>
393
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
394
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; bugLoc = cJSON_CreateObject();</div>
395
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
396
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Location&quot;</span>, bugLoc);</div>
397
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
398
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr-&gt;getFuncName().c_str());</div>
399
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Function&quot;</span>, bugFunction);</div>
400
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; </div>
401
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Description&quot;</span>, bugPtr-&gt;getBugDescription());</div>
402
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; </div>
403
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventList = cJSON_CreateArray();</div>
404
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &amp;bugEventStack = bugPtr-&gt;getEventStack();</div>
405
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a236e3cf3e81ec4248547b3011323e45f">BufferOverflowBug::classof</a>(bugPtr))</div>
406
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; {</div>
407
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// add only when bug is context sensitive</span></div>
408
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;event : bugEventStack)</div>
409
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
410
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (event.getEventType() == <a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3ace4540f37504bfbfab8451b8823fe999">SVFBugEvent::SourceInst</a>)</div>
411
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; {</div>
412
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">continue</span>;</div>
413
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; }</div>
414
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; </div>
415
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleEvent = cJSON_CreateObject();</div>
416
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="comment">//event type</span></div>
417
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventType = cJSON_CreateString(eventType2Str[event.getEventType()].c_str());</div>
418
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;EventType&quot;</span>, eventType);</div>
419
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="comment">//function name</span></div>
420
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventFunc = cJSON_CreateString(event.getFuncName().c_str());</div>
421
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Function&quot;</span>, eventFunc);</div>
422
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="comment">//event loc</span></div>
423
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventLoc = cJSON_Parse(event.getEventLoc().c_str());</div>
424
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">if</span>(eventLoc == <span class="keyword">nullptr</span>)</div>
425
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div>
426
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; eventLoc = cJSON_CreateObject();</div>
427
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
428
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Location&quot;</span>, eventLoc);</div>
429
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="comment">//event description</span></div>
430
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventDescription = cJSON_CreateString(event.getEventDescription().c_str());</div>
431
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Description&quot;</span>, eventDescription);</div>
432
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; </div>
433
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; cJSON_AddItemToArray(eventList, singleEvent);</div>
434
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div>
435
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; }</div>
436
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Events&quot;</span>, eventList);</div>
437
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
438
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
439
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; jsonFile &lt;&lt; singleBugStr;</div>
440
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (commaCounter != 0)</div>
441
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; {</div>
442
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;,\n&quot;</span>;</div>
443
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
444
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; commaCounter --;</div>
445
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; </div>
446
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a>(singleBug);</div>
447
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
448
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; </div>
449
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
450
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; jsonFile.close();</div>
451
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;}</div>
369
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00338">338</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
370
+ <div class="fragment"><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;{</div>
371
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; std::map&lt;u32_t, std::string&gt; eventType2Str =</div>
372
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div>
373
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3aa16d1c3d5b68a356288ba49f4aee1629">SVFBugEvent::CallSite</a>, <span class="stringliteral">&quot;call site&quot;</span>},</div>
374
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3af8ef890358aa9e45bc09407fc8cd36b6">SVFBugEvent::Caller</a>, <span class="stringliteral">&quot;caller&quot;</span>},</div>
375
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3aa6d697ba9fc671288636733b8f4678a7">SVFBugEvent::Loop</a>, <span class="stringliteral">&quot;loop&quot;</span>},</div>
376
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {<a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3a070acf2c72c74cba55b5acea3db9c854">SVFBugEvent::Branch</a>, <span class="stringliteral">&quot;branch&quot;</span>}</div>
377
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; };</div>
378
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
379
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; ofstream jsonFile(filePath, ios::out);</div>
380
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; </div>
381
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
382
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
383
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordtype">size_t</span> commaCounter = <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>.size() - 1; <span class="comment">// comma num needed</span></div>
384
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugPtr : <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>)</div>
385
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div>
386
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleBug = cJSON_CreateObject();</div>
387
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; </div>
388
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(<a class="code" href="classSVF_1_1GenericBug.html#a5cfadd60fc90ea6cb7b51aa1f292b6a3">GenericBug::BugType2Str</a>.at(bugPtr-&gt;getBugType()).c_str());</div>
389
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;DefectType&quot;</span>, bugType);</div>
390
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
391
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr-&gt;getLoc().c_str());</div>
392
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(bugLoc == <span class="keyword">nullptr</span>)</div>
393
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
394
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; bugLoc = cJSON_CreateObject();</div>
395
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
396
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Location&quot;</span>, bugLoc);</div>
397
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; </div>
398
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr-&gt;getFuncName().c_str());</div>
399
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Function&quot;</span>, bugFunction);</div>
400
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; </div>
401
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Description&quot;</span>, bugPtr-&gt;getBugDescription());</div>
402
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div>
403
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventList = cJSON_CreateArray();</div>
404
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &amp;bugEventStack = bugPtr-&gt;getEventStack();</div>
405
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a236e3cf3e81ec4248547b3011323e45f">BufferOverflowBug::classof</a>(bugPtr))</div>
406
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
407
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="comment">// add only when bug is context sensitive</span></div>
408
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;event : bugEventStack)</div>
409
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div>
410
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">if</span> (event.getEventType() == <a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3ace4540f37504bfbfab8451b8823fe999">SVFBugEvent::SourceInst</a>)</div>
411
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
412
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">continue</span>;</div>
413
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
414
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; </div>
415
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleEvent = cJSON_CreateObject();</div>
416
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="comment">//event type</span></div>
417
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventType = cJSON_CreateString(eventType2Str[event.getEventType()].c_str());</div>
418
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;EventType&quot;</span>, eventType);</div>
419
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="comment">//function name</span></div>
420
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventFunc = cJSON_CreateString(event.getFuncName().c_str());</div>
421
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Function&quot;</span>, eventFunc);</div>
422
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">//event loc</span></div>
423
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventLoc = cJSON_Parse(event.getEventLoc().c_str());</div>
424
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">if</span>(eventLoc == <span class="keyword">nullptr</span>)</div>
425
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
426
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; eventLoc = cJSON_CreateObject();</div>
427
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
428
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Location&quot;</span>, eventLoc);</div>
429
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">//event description</span></div>
430
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventDescription = cJSON_CreateString(event.getEventDescription().c_str());</div>
431
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Description&quot;</span>, eventDescription);</div>
432
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; </div>
433
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; cJSON_AddItemToArray(eventList, singleEvent);</div>
434
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div>
435
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div>
436
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Events&quot;</span>, eventList);</div>
437
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
438
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
439
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; jsonFile &lt;&lt; singleBugStr;</div>
440
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (commaCounter != 0)</div>
441
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div>
442
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;,\n&quot;</span>;</div>
443
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
444
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; commaCounter --;</div>
445
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; </div>
446
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <a class="code" href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a>(singleBug);</div>
447
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div>
448
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
449
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
450
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; jsonFile.close();</div>
451
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;}</div>
452
452
  </div><!-- fragment -->
453
453
  </div>
454
454
  </div>
@@ -475,10 +475,10 @@ Protected Attributes</h2></td></tr>
475
475
  </table>
476
476
  </div><div class="memdoc">
477
477
 
478
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00365">365</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
479
- <div class="fragment"><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div>
480
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>;</div>
481
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; }</div>
478
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00397">397</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
479
+ <div class="fragment"><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
480
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">bugSet</a>;</div>
481
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
482
482
  </div><!-- fragment -->
483
483
  </div>
484
484
  </div>
@@ -503,7 +503,7 @@ Protected Attributes</h2></td></tr>
503
503
  </table>
504
504
  </div><div class="memdoc">
505
505
 
506
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00264">264</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
506
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8h_source.html#l00296">296</a> of file <a class="el" href="SVFBugReport_8h_source.html">SVFBugReport.h</a>.</p>
507
507
 
508
508
  </div>
509
509
  </div>
@@ -512,7 +512,7 @@ Protected Attributes</h2></td></tr>
512
512
  <li>/home/runner/work/SVF/SVF/svf/lib/Util/<a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a></li>
513
513
  </ul>
514
514
  </div><!-- contents -->
515
- <div class="ttc" id="aclassSVF_1_1SVFBugReport_html_acacf8d5aa4aab95be34a5a1cb21838b3"><div class="ttname"><a href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">SVF::SVFBugReport::bugSet</a></div><div class="ttdeci">BugSet bugSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00264">SVFBugReport.h:264</a></div></div>
515
+ <div class="ttc" id="aclassSVF_1_1SVFBugReport_html_acacf8d5aa4aab95be34a5a1cb21838b3"><div class="ttname"><a href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">SVF::SVFBugReport::bugSet</a></div><div class="ttdeci">BugSet bugSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00296">SVFBugReport.h:296</a></div></div>
516
516
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a7aeeb33097bca5f7fe6747f90f5cecaca70f4fb1e58058129013de1fd04ed0bd4"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca70f4fb1e58058129013de1fd04ed0bd4">SVF::GenericBug::FILEPARTIALCLOSE</a></div><div class="ttdeci">@ FILEPARTIALCLOSE</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00086">SVFBugReport.h:86</a></div></div>
517
517
  <div class="ttc" id="acJSON_8cpp_html_afde5c619f31577b3d821b56b23953c85"><div class="ttname"><a href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a></div><div class="ttdeci">cJSON_Delete(null)</div></div>
518
518
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a7aeeb33097bca5f7fe6747f90f5cecaca1e3de2fab4338b61ce2ebdb9456f5402"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca1e3de2fab4338b61ce2ebdb9456f5402">SVF::GenericBug::PARTIALLEAK</a></div><div class="ttdeci">@ PARTIALLEAK</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00086">SVFBugReport.h:86</a></div></div>
@@ -85,9 +85,9 @@ $(function() {
85
85
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ab37d80b1c7a1ebfa0e19c70792c5129e">getNodeIDFromItem</a>(const DPIm &amp;item) const</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
86
86
  <tr><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"></td></tr>
87
87
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ae66ed69eb3412c2eef14ef2f86a34c6c">graph</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
88
- <tr><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a23cdacd5c5825844d3e28fc79cc924d3">GTraits</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"></td></tr>
88
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aa786e629a4f1f64291a1de168e597ff6">GTraits</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"></td></tr>
89
89
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#acb3b73c60427a78ad8dd12d651202d78">inv_child_iterator</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"></td></tr>
90
- <tr><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a19a5395fbfdb95d9328337925496d5eb">InvGTraits</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"></td></tr>
90
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a7920becf918d7b7a0e67063b19c147a6">InvGTraits</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"></td></tr>
91
91
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a1d9e1f15c9670758b9598e848ce5eeed">isInWorklist</a>(DPIm &amp;item)</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
92
92
  <tr><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a8cf98a877e4190f3886b4020006f6383">isWorklistEmpty</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
93
93
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a14a76b28f06e167bf66e15b336570cd3">node_iterator</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td><td class="entry"></td></tr>