svf-tools 1.0.321 → 1.0.322

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 (319) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  4. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +5 -5
  5. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  14. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/html/MemRegion_8h_source.html +11 -11
  16. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  17. package/SVF-doxygen/html/html/MemSSA_8h_source.html +11 -11
  18. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -4
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +33 -33
  28. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +31 -31
  29. package/SVF-doxygen/html/html/SVFIR_8h_source.html +32 -32
  30. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +14 -14
  31. package/SVF-doxygen/html/html/SVFStatements_8h.html +11 -11
  32. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +72 -72
  33. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +9 -9
  34. package/SVF-doxygen/html/html/SVFVariables_8h.html +9 -9
  35. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +66 -66
  36. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +8 -8
  39. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  40. package/SVF-doxygen/html/html/VFG_8cpp_source.html +16 -16
  41. package/SVF-doxygen/html/html/VFG_8h_source.html +21 -21
  42. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/annotated.html +21 -21
  45. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  46. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +136 -0
  47. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +498 -0
  48. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
  49. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +7 -7
  51. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  52. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  53. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +154 -0
  55. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +754 -0
  56. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.png +0 -0
  57. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +169 -0
  58. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +537 -0
  59. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.png +0 -0
  60. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +169 -0
  61. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +547 -0
  62. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.png +0 -0
  63. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +172 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +556 -0
  65. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +74 -22
  67. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +477 -93
  68. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.png +0 -0
  69. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
  71. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  72. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  73. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  74. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +56 -21
  75. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +251 -89
  76. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
  77. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +7 -7
  79. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +8 -8
  81. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +18 -18
  82. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +167 -0
  83. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +531 -0
  84. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
  85. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +165 -0
  86. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +502 -0
  87. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.png +0 -0
  88. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +167 -0
  89. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +577 -0
  90. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
  91. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  92. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  93. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +3 -3
  95. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +6 -6
  96. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  97. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +23 -22
  98. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  99. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +4 -4
  100. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +37 -37
  101. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.png +0 -0
  102. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +56 -22
  103. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +257 -118
  104. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +7 -7
  107. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +170 -0
  108. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +752 -0
  109. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.png +0 -0
  110. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +3 -3
  111. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +8 -8
  112. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +18 -18
  113. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +8 -8
  114. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +18 -18
  115. package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +3 -3
  116. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +20 -20
  117. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +56 -21
  118. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +251 -89
  119. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
  120. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +7 -7
  122. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +8 -8
  123. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +63 -63
  124. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +8 -8
  125. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +71 -71
  126. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  127. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
  128. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +141 -0
  129. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +647 -0
  130. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
  131. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +165 -0
  132. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +644 -0
  133. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
  134. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +10 -10
  135. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +73 -22
  137. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +445 -98
  138. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.png +0 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +8 -8
  140. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +9 -9
  141. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +32 -32
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +9 -9
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +26 -26
  144. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +14 -14
  145. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +142 -142
  146. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +11 -11
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +137 -137
  148. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +7 -7
  149. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +13 -13
  151. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  152. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +20 -20
  155. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +56 -21
  156. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +258 -89
  157. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
  158. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +7 -7
  160. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +20 -20
  162. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +146 -0
  163. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +792 -0
  164. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.png +0 -0
  165. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
  166. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +69 -69
  167. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +163 -0
  168. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +521 -0
  169. package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +138 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +542 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
  173. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  175. package/SVF-doxygen/html/html/classes.html +18 -18
  176. package/SVF-doxygen/html/html/functions_a.html +39 -39
  177. package/SVF-doxygen/html/html/functions_b.html +2 -2
  178. package/SVF-doxygen/html/html/functions_c.html +34 -34
  179. package/SVF-doxygen/html/html/functions_d.html +4 -4
  180. package/SVF-doxygen/html/html/functions_f.html +3 -3
  181. package/SVF-doxygen/html/html/functions_func.html +38 -38
  182. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  183. package/SVF-doxygen/html/html/functions_func_c.html +30 -30
  184. package/SVF-doxygen/html/html/functions_func_d.html +4 -4
  185. package/SVF-doxygen/html/html/functions_func_f.html +2 -2
  186. package/SVF-doxygen/html/html/functions_func_g.html +49 -49
  187. package/SVF-doxygen/html/html/functions_func_l.html +3 -3
  188. package/SVF-doxygen/html/html/functions_func_n.html +2 -2
  189. package/SVF-doxygen/html/html/functions_func_o.html +15 -15
  190. package/SVF-doxygen/html/html/functions_func_p.html +2 -2
  191. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  192. package/SVF-doxygen/html/html/functions_func_t.html +20 -20
  193. package/SVF-doxygen/html/html/functions_func_u.html +2 -2
  194. package/SVF-doxygen/html/html/functions_func_v.html +5 -5
  195. package/SVF-doxygen/html/html/functions_g.html +52 -52
  196. package/SVF-doxygen/html/html/functions_i.html +2 -2
  197. package/SVF-doxygen/html/html/functions_l.html +9 -9
  198. package/SVF-doxygen/html/html/functions_m.html +1 -1
  199. package/SVF-doxygen/html/html/functions_n.html +2 -2
  200. package/SVF-doxygen/html/html/functions_o.html +17 -17
  201. package/SVF-doxygen/html/html/functions_p.html +4 -4
  202. package/SVF-doxygen/html/html/functions_s.html +7 -7
  203. package/SVF-doxygen/html/html/functions_t.html +20 -20
  204. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  205. package/SVF-doxygen/html/html/functions_type_l.html +3 -3
  206. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  207. package/SVF-doxygen/html/html/functions_type_s.html +3 -3
  208. package/SVF-doxygen/html/html/functions_u.html +2 -2
  209. package/SVF-doxygen/html/html/functions_v.html +5 -5
  210. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  211. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  212. package/SVF-doxygen/html/html/functions_vars_i.html +2 -2
  213. package/SVF-doxygen/html/html/functions_vars_l.html +2 -2
  214. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  215. package/SVF-doxygen/html/html/functions_vars_o.html +3 -3
  216. package/SVF-doxygen/html/html/functions_w.html +5 -9
  217. package/SVF-doxygen/html/html/hierarchy.html +65 -65
  218. package/SVF-doxygen/html/html/namespaceSVF.html +23 -23
  219. package/SVF-doxygen/html/html/search/all_1.js +37 -37
  220. package/SVF-doxygen/html/html/search/all_10.js +2 -2
  221. package/SVF-doxygen/html/html/search/all_13.js +6 -6
  222. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  223. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  224. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  225. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  226. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  227. package/SVF-doxygen/html/html/search/all_3.js +8 -8
  228. package/SVF-doxygen/html/html/search/all_4.js +2 -2
  229. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  230. package/SVF-doxygen/html/html/search/all_7.js +26 -26
  231. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  232. package/SVF-doxygen/html/html/search/all_c.js +7 -7
  233. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  234. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  235. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  236. package/SVF-doxygen/html/html/search/classes_0.js +1 -1
  237. package/SVF-doxygen/html/html/search/classes_1.js +1 -1
  238. package/SVF-doxygen/html/html/search/classes_11.js +1 -1
  239. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  240. package/SVF-doxygen/html/html/search/classes_2.js +5 -5
  241. package/SVF-doxygen/html/html/search/classes_3.js +2 -2
  242. package/SVF-doxygen/html/html/search/classes_5.js +1 -1
  243. package/SVF-doxygen/html/html/search/classes_6.js +2 -2
  244. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  245. package/SVF-doxygen/html/html/search/classes_b.js +1 -1
  246. package/SVF-doxygen/html/html/search/classes_c.js +1 -1
  247. package/SVF-doxygen/html/html/search/classes_d.js +1 -1
  248. package/SVF-doxygen/html/html/search/classes_f.js +1 -1
  249. package/SVF-doxygen/html/html/search/functions_0.js +37 -37
  250. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  251. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  252. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  253. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  254. package/SVF-doxygen/html/html/search/functions_13.js +2 -2
  255. package/SVF-doxygen/html/html/search/functions_2.js +7 -7
  256. package/SVF-doxygen/html/html/search/functions_3.js +2 -2
  257. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  258. package/SVF-doxygen/html/html/search/functions_6.js +25 -25
  259. package/SVF-doxygen/html/html/search/functions_a.js +3 -3
  260. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  261. package/SVF-doxygen/html/html/search/functions_d.js +2 -2
  262. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  263. package/SVF-doxygen/html/html/search/typedefs_11.js +3 -3
  264. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  265. package/SVF-doxygen/html/html/search/typedefs_b.js +3 -3
  266. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  267. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  268. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  269. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  270. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  271. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  272. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  273. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
  274. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  275. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +2 -2
  276. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
  277. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +1 -1
  278. package/include/Graphs/ICFGNode.h +1 -1
  279. package/include/Graphs/VFG.h +9 -9
  280. package/include/Graphs/VFGNode.h +6 -6
  281. package/include/MSSA/MSSAMuChi.h +6 -6
  282. package/include/MSSA/MemRegion.h +8 -8
  283. package/include/MSSA/MemSSA.h +10 -10
  284. package/include/MemoryModel/PointerAnalysis.h +1 -1
  285. package/include/MemoryModel/PointerAnalysisImpl.h +2 -2
  286. package/include/MemoryModel/SVFIR.h +28 -28
  287. package/include/MemoryModel/SVFStatements.h +68 -68
  288. package/include/MemoryModel/SVFVariables.h +39 -39
  289. package/include/SVF-FE/SVFIRBuilder.h +22 -22
  290. package/lib/DDA/ContextDDA.cpp +4 -4
  291. package/lib/DDA/DDAStat.cpp +1 -1
  292. package/lib/DDA/FlowDDA.cpp +2 -2
  293. package/lib/Graphs/ConsG.cpp +12 -12
  294. package/lib/Graphs/IRGraph.cpp +15 -15
  295. package/lib/Graphs/OfflineConsG.cpp +8 -8
  296. package/lib/Graphs/SVFG.cpp +8 -8
  297. package/lib/Graphs/ThreadCallGraph.cpp +2 -2
  298. package/lib/Graphs/VFG.cpp +15 -15
  299. package/lib/MSSA/MemRegion.cpp +6 -6
  300. package/lib/MSSA/MemSSA.cpp +6 -6
  301. package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -3
  302. package/lib/MemoryModel/PointerAnalysis.cpp +9 -9
  303. package/lib/MemoryModel/PointerAnalysisImpl.cpp +2 -2
  304. package/lib/MemoryModel/SVFIR.cpp +44 -44
  305. package/lib/MemoryModel/SVFStatements.cpp +24 -24
  306. package/lib/MemoryModel/SVFVariables.cpp +19 -19
  307. package/lib/SABER/SaberSVFGBuilder.cpp +2 -2
  308. package/lib/SVF-FE/Graph2Json.cpp +1 -1
  309. package/lib/SVF-FE/SVFIRBuilder.cpp +5 -5
  310. package/lib/Util/PTAStat.cpp +1 -1
  311. package/lib/Util/TypeBasedHeapCloning.cpp +19 -19
  312. package/lib/WPA/AndersenSFR.cpp +1 -1
  313. package/lib/WPA/AndersenStat.cpp +3 -3
  314. package/lib/WPA/FlowSensitive.cpp +2 -2
  315. package/lib/WPA/FlowSensitiveStat.cpp +2 -2
  316. package/lib/WPA/FlowSensitiveTBHC.cpp +4 -4
  317. package/lib/WPA/VersionedFlowSensitive.cpp +1 -1
  318. package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
  319. package/package.json +1 -1
@@ -66,7 +66,7 @@ $(function() {
66
66
  <div class="title">DDAStat.cpp</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="DDAStat_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DDAStat.cpp</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Created on: Sep 15, 2014</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DDAStat_8h.html">DDA/DDAStat.h</a>&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FlowDDA_8h.html">DDA/FlowDDA.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ContextDDA_8h.html">DDA/ContextDDA.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGStat_8h.html">Graphs/SVFGStat.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361"> 19</a></span>&#160;<a class="code" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361">DDAStat::DDAStat</a>(<a class="code" href="classSVF_1_1FlowDDA.html">FlowDDA</a>* pta) : <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta), flowDDA(pta), contextDDA(nullptr)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;{</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;}</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae7670e6458c62473b0be78004466b9d7"> 23</a></span>&#160;<a class="code" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361">DDAStat::DDAStat</a>(<a class="code" href="classSVF_1_1ContextDDA.html">ContextDDA</a>* <a class="code" href="classSVF_1_1PTAStat.html#a608441b95be0861d8c1b0a035281f4d5">pta</a>) : <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta), <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>(nullptr), <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>(pta)</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;{</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;}</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd"> 28</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">DDAStat::initDefault</a>()</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a> = 0;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = 0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a> = 0;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a> = 0;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> = <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a> = <a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a> = 0;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a> = 0;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a> = 0;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a> = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a057c651a89d1dba04102bfc08ce7d372">_vmrssUsageBefore</a> = <a class="code" href="classSVF_1_1DDAStat.html#ae9ab20769220af396b72de5ae873f865">_vmrssUsageAfter</a> = 0;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acab872c897c747157bb81f324bbab323">_vmsizeUsageBefore</a> = <a class="code" href="classSVF_1_1DDAStat.html#a4410e9704211836a96936a7c400562a3">_vmsizeUsageAfter</a> = 0;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418"> 67</a></span>&#160;<a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* <a class="code" href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418">DDAStat::getSVFG</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6"> 76</a></span>&#160;<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">DDAStat::getPTA</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae433f1ffc87ed506c7ca7ee1d43d24ac"> 84</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ae433f1ffc87ed506c7ca7ee1d43d24ac">DDAStat::performStatPerQuery</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> NumOfDPM = 0;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> NumOfLoc = 0;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxNumOfDPMPerLoc = 0;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cptsSize = 0;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">for</span>(FlowDDA::LocToDPMVecMap::const_iterator it = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;getLocToDPMVecMap().begin(),</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; eit = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;getLocToDPMVecMap().end(); it!=eit; ++it)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; maxNumOfDPMPerLoc = num;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; cptsSize = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ptr).<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; pts = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ptr);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>)</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">for</span>(ContextDDA::LocToDPMVecMap::const_iterator it = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;getLocToDPMVecMap().begin(),</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; eit = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;getLocToDPMVecMap().end(); it!=eit; ++it)</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; maxNumOfDPMPerLoc = num;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1ContextCond.html">ContextCond</a> cxt;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(cxt,ptr);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; cptsSize = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var).<a class="code" href="classSVF_1_1CondStdSet.html#aa19e82905537f3ae41f64fce070ee555">count</a>();</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; pts = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1CondPTAImpl.html#a94f3e4d073b8c5bab3c46058ddba3f43">getBVPointsTo</a>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var));</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> ptsSize = pts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">double</span> avgDPMAtLoc = NumOfLoc!=0 ? (double)NumOfDPM/NumOfLoc : 0;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> += avgDPMAtLoc;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">if</span>(maxNumOfDPMPerLoc &gt; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a>)</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = maxNumOfDPMPerLoc;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a> += cptsSize;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> &lt; cptsSize)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> = cptsSize;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a> += ptsSize;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> &lt; ptsSize)</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> = ptsSize;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span>(cptsSize == 0)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">containBlackHoleNode</a>(pts))</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a>++;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">containConstantNode</a>(pts))</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a>++;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>++;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a> += <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a> += <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a> += <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a> += <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a> += <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a> += <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.clear();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.clear();</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;TimePerQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;CyleTimePerQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;CPtsSize&quot;</span>] = cptsSize;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;PtsSize&quot;</span>] = ptsSize;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfStep&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfStepInCycle&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfDPM&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;IndEdgeResolved&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac522df904e702381222a4d9b205c775b">getNumOfResolvedIndCallEdge</a>() - <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;AvgDPMAtLoc&quot;</span>] = avgDPMAtLoc;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;MaxDPMAtLoc&quot;</span>] = maxNumOfDPMPerLoc;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;MaxPathPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a7d89351906ef4dff9adb1196f45bc9be">ContextCond::maximumPath</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;MaxCxtPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a151b9f21eedd4fdd8f46b78bb456582d">ContextCond::maximumCxt</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfMustAA&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfInfePath&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a> = <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac522df904e702381222a4d9b205c775b">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11"> 189</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">DDAStat::getNumOfOOBQuery</a>()</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#aad57a954473f3099188cf8c8fba87880">outOfBudgetDpms</a>.size();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>)</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#aad57a954473f3099188cf8c8fba87880">outOfBudgetDpms</a>.size();</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a99f31f412577a7998521250fb5004713"> 197</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a99f31f412577a7998521250fb5004713">DDAStat::performStat</a>()</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afa718535839a939e51afc0f8c1fbdac6">generalNumMap</a>.clear();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>.clear();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.clear();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a1772bc87370b5625f71edd4476277064">callgraphStat</a>();</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">getNumOfOOBQuery</a>();</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVFIR::const_iterator</a> nodeIt = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;begin(), nodeEit = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;end(); nodeIt != nodeEit; nodeIt++)</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = nodeIt-&gt;second;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ObjPN&gt;(pagNode))</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;isLocalVarInRecursiveFun(nodeIt-&gt;first))</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5b4095f427c9c7b9ec0db497ba33baea">localVarInRecursion</a>.set(nodeIt-&gt;first);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;TotalQueryTime&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgTimePerQuery&quot;</span>] = (<a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>)/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;TotalBKCondTime&quot;</span>] = (<a class="code" href="classSVF_1_1DDAStat.html#a9625c4623acc4f6ccaca1ec8f04f5a54">_TotalTimeOfBKCondition</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfOOBQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a>;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfDPM&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStoreSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ad53ad7a958c05b45624d2859a6a9e647">_StrongUpdateStores</a>.count();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStep&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStepInCycle&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgDPMAtLoc&quot;</span>] = (double)<a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a>/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxDPMAtLoc&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxPathPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a7d89351906ef4dff9adb1196f45bc9be">ContextCond::maximumPath</a>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxCxtPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a151b9f21eedd4fdd8f46b78bb456582d">ContextCond::maximumCxt</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxCPtsSize&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxPtsSize&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgCPtsSize&quot;</span>] = (double)<a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a>/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgPtsSize&quot;</span>] = (double)<a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a>/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;IndEdgeSolved&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac522df904e702381222a4d9b205c775b">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfNullPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToConstPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToBlkPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfMustAA&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfInfePath&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStore&quot;</span>] = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a9c33009dc1aa3e16adfd34effd4471f6">getPTAEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">PAGEdge::Store</a>).size();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MemoryUsageVmrss&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ae9ab20769220af396b72de5ae873f865">_vmrssUsageAfter</a> - <a class="code" href="classSVF_1_1DDAStat.html#a057c651a89d1dba04102bfc08ce7d372">_vmrssUsageBefore</a>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MemoryUsageVmsize&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a4410e9704211836a96936a7c400562a3">_vmsizeUsageAfter</a> - <a class="code" href="classSVF_1_1DDAStat.html#acab872c897c747157bb81f324bbab323">_vmsizeUsageBefore</a>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a845ddc7725f4ebc011789a548a0aa377">printStat</a>();</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;}</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#acacabea1b7b875e2f60f931fe0e6f625"> 252</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#acacabea1b7b875e2f60f931fe0e6f625">DDAStat::printStatPerQuery</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts)</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;{</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.empty() == <span class="keyword">false</span> &amp;&amp; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; std::cout.flags(std::ios::left);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordtype">unsigned</span> field_width = 20;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;---------------------Stat Per Query--------------------------------\n&quot;</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">for</span> (TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">for</span> (NUMStatMap::iterator it = <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1a6cee7e690ccb3e53cdc4c3e67b386d">dumpPts</a>(ptr, pts);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a845ddc7725f4ebc011789a548a0aa377"> 275</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a845ddc7725f4ebc011789a548a0aa377">DDAStat::printStat</a>()</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;{</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#aef98e8e9144a69bb7481fef5d2dcb303">FlowDDA::ConstSVFGEdgeSet</a> edgeSet;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a87d5e8ec0e13416cff36a18644a5b94f">performSCCStat</a>(edgeSet);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a87d5e8ec0e13416cff36a18644a5b94f">performSCCStat</a>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1ContextDDA.html#a0d407903c4b0d976da30538ff0c5fc41">getInsensitiveEdgeSet</a>());</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\n****Demand-Driven Pointer Analysis Statistics****\n&quot;</span>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">PTAStat::printStat</a>();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;}</div><div class="ttc" id="classSVF_1_1DDAStat_html_a4410e9704211836a96936a7c400562a3"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a4410e9704211836a96936a7c400562a3">SVF::DDAStat::_vmsizeUsageAfter</a></div><div class="ttdeci">u32_t _vmsizeUsageAfter</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00094">DDAStat.h:94</a></div></div>
69
+ <a href="DDAStat_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DDAStat.cpp</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Created on: Sep 15, 2014</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DDAStat_8h.html">DDA/DDAStat.h</a>&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FlowDDA_8h.html">DDA/FlowDDA.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ContextDDA_8h.html">DDA/ContextDDA.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGStat_8h.html">Graphs/SVFGStat.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361"> 19</a></span>&#160;<a class="code" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361">DDAStat::DDAStat</a>(<a class="code" href="classSVF_1_1FlowDDA.html">FlowDDA</a>* pta) : <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta), flowDDA(pta), contextDDA(nullptr)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;{</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;}</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae7670e6458c62473b0be78004466b9d7"> 23</a></span>&#160;<a class="code" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361">DDAStat::DDAStat</a>(<a class="code" href="classSVF_1_1ContextDDA.html">ContextDDA</a>* <a class="code" href="classSVF_1_1PTAStat.html#a608441b95be0861d8c1b0a035281f4d5">pta</a>) : <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta), <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>(nullptr), <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>(pta)</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;{</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;}</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd"> 28</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">DDAStat::initDefault</a>()</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a> = 0;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = 0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a> = 0;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a> = 0;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> = <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a> = <a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a> = 0;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a> = 0;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a> = 0;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a> = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a057c651a89d1dba04102bfc08ce7d372">_vmrssUsageBefore</a> = <a class="code" href="classSVF_1_1DDAStat.html#ae9ab20769220af396b72de5ae873f865">_vmrssUsageAfter</a> = 0;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acab872c897c747157bb81f324bbab323">_vmsizeUsageBefore</a> = <a class="code" href="classSVF_1_1DDAStat.html#a4410e9704211836a96936a7c400562a3">_vmsizeUsageAfter</a> = 0;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418"> 67</a></span>&#160;<a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* <a class="code" href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418">DDAStat::getSVFG</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6"> 76</a></span>&#160;<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">DDAStat::getPTA</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae433f1ffc87ed506c7ca7ee1d43d24ac"> 84</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ae433f1ffc87ed506c7ca7ee1d43d24ac">DDAStat::performStatPerQuery</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> NumOfDPM = 0;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> NumOfLoc = 0;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxNumOfDPMPerLoc = 0;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cptsSize = 0;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">for</span>(FlowDDA::LocToDPMVecMap::const_iterator it = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;getLocToDPMVecMap().begin(),</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; eit = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;getLocToDPMVecMap().end(); it!=eit; ++it)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; maxNumOfDPMPerLoc = num;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; cptsSize = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ptr).<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; pts = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ptr);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>)</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">for</span>(ContextDDA::LocToDPMVecMap::const_iterator it = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;getLocToDPMVecMap().begin(),</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; eit = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;getLocToDPMVecMap().end(); it!=eit; ++it)</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; maxNumOfDPMPerLoc = num;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1ContextCond.html">ContextCond</a> cxt;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(cxt,ptr);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; cptsSize = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var).<a class="code" href="classSVF_1_1CondStdSet.html#aa19e82905537f3ae41f64fce070ee555">count</a>();</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; pts = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1CondPTAImpl.html#a94f3e4d073b8c5bab3c46058ddba3f43">getBVPointsTo</a>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var));</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> ptsSize = pts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">double</span> avgDPMAtLoc = NumOfLoc!=0 ? (double)NumOfDPM/NumOfLoc : 0;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> += avgDPMAtLoc;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">if</span>(maxNumOfDPMPerLoc &gt; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a>)</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = maxNumOfDPMPerLoc;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a> += cptsSize;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> &lt; cptsSize)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> = cptsSize;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a> += ptsSize;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> &lt; ptsSize)</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> = ptsSize;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span>(cptsSize == 0)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">containBlackHoleNode</a>(pts))</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a>++;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">containConstantNode</a>(pts))</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a>++;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>++;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a> += <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a> += <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a> += <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a> += <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a> += <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a> += <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.clear();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.clear();</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;TimePerQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;CyleTimePerQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;CPtsSize&quot;</span>] = cptsSize;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;PtsSize&quot;</span>] = ptsSize;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfStep&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfStepInCycle&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfDPM&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;IndEdgeResolved&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac522df904e702381222a4d9b205c775b">getNumOfResolvedIndCallEdge</a>() - <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;AvgDPMAtLoc&quot;</span>] = avgDPMAtLoc;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;MaxDPMAtLoc&quot;</span>] = maxNumOfDPMPerLoc;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;MaxPathPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a7d89351906ef4dff9adb1196f45bc9be">ContextCond::maximumPath</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;MaxCxtPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a151b9f21eedd4fdd8f46b78bb456582d">ContextCond::maximumCxt</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfMustAA&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>[<span class="stringliteral">&quot;NumOfInfePath&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a> = <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac522df904e702381222a4d9b205c775b">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11"> 189</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">DDAStat::getNumOfOOBQuery</a>()</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#aad57a954473f3099188cf8c8fba87880">outOfBudgetDpms</a>.size();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>)</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#aad57a954473f3099188cf8c8fba87880">outOfBudgetDpms</a>.size();</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a99f31f412577a7998521250fb5004713"> 197</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a99f31f412577a7998521250fb5004713">DDAStat::performStat</a>()</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afa718535839a939e51afc0f8c1fbdac6">generalNumMap</a>.clear();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>.clear();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.clear();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a1772bc87370b5625f71edd4476277064">callgraphStat</a>();</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">getNumOfOOBQuery</a>();</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVFIR::const_iterator</a> nodeIt = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;begin(), nodeEit = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;end(); nodeIt != nodeEit; nodeIt++)</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = nodeIt-&gt;second;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ObjVar&gt;(pagNode))</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;isLocalVarInRecursiveFun(nodeIt-&gt;first))</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5b4095f427c9c7b9ec0db497ba33baea">localVarInRecursion</a>.set(nodeIt-&gt;first);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;TotalQueryTime&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgTimePerQuery&quot;</span>] = (<a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>)/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;TotalBKCondTime&quot;</span>] = (<a class="code" href="classSVF_1_1DDAStat.html#a9625c4623acc4f6ccaca1ec8f04f5a54">_TotalTimeOfBKCondition</a>/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfOOBQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a>;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfDPM&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStoreSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ad53ad7a958c05b45624d2859a6a9e647">_StrongUpdateStores</a>.count();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStep&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStepInCycle&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgDPMAtLoc&quot;</span>] = (double)<a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a>/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxDPMAtLoc&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxPathPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a7d89351906ef4dff9adb1196f45bc9be">ContextCond::maximumPath</a>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxCxtPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a151b9f21eedd4fdd8f46b78bb456582d">ContextCond::maximumCxt</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxCPtsSize&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxPtsSize&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgCPtsSize&quot;</span>] = (double)<a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a>/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">&quot;AvgPtsSize&quot;</span>] = (double)<a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a>/<a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;IndEdgeSolved&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac522df904e702381222a4d9b205c775b">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfNullPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToConstPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToBlkPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfMustAA&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfInfePath&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStore&quot;</span>] = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a9c33009dc1aa3e16adfd34effd4471f6">getPTAEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">PAGEdge::Store</a>).size();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MemoryUsageVmrss&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ae9ab20769220af396b72de5ae873f865">_vmrssUsageAfter</a> - <a class="code" href="classSVF_1_1DDAStat.html#a057c651a89d1dba04102bfc08ce7d372">_vmrssUsageBefore</a>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">&quot;MemoryUsageVmsize&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a4410e9704211836a96936a7c400562a3">_vmsizeUsageAfter</a> - <a class="code" href="classSVF_1_1DDAStat.html#acab872c897c747157bb81f324bbab323">_vmsizeUsageBefore</a>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a845ddc7725f4ebc011789a548a0aa377">printStat</a>();</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;}</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#acacabea1b7b875e2f60f931fe0e6f625"> 252</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#acacabea1b7b875e2f60f931fe0e6f625">DDAStat::printStatPerQuery</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts)</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;{</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.empty() == <span class="keyword">false</span> &amp;&amp; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; std::cout.flags(std::ios::left);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordtype">unsigned</span> field_width = 20;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;---------------------Stat Per Query--------------------------------\n&quot;</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">for</span> (TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">for</span> (NUMStatMap::iterator it = <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1a6cee7e690ccb3e53cdc4c3e67b386d">dumpPts</a>(ptr, pts);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a845ddc7725f4ebc011789a548a0aa377"> 275</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a845ddc7725f4ebc011789a548a0aa377">DDAStat::printStat</a>()</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;{</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#aef98e8e9144a69bb7481fef5d2dcb303">FlowDDA::ConstSVFGEdgeSet</a> edgeSet;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a87d5e8ec0e13416cff36a18644a5b94f">performSCCStat</a>(edgeSet);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a87d5e8ec0e13416cff36a18644a5b94f">performSCCStat</a>(<a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>-&gt;<a class="code" href="classSVF_1_1ContextDDA.html#a0d407903c4b0d976da30538ff0c5fc41">getInsensitiveEdgeSet</a>());</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\n****Demand-Driven Pointer Analysis Statistics****\n&quot;</span>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">PTAStat::printStat</a>();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;}</div><div class="ttc" id="classSVF_1_1DDAStat_html_a4410e9704211836a96936a7c400562a3"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a4410e9704211836a96936a7c400562a3">SVF::DDAStat::_vmsizeUsageAfter</a></div><div class="ttdeci">u32_t _vmsizeUsageAfter</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00094">DDAStat.h:94</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1DDAStat_html_a89a4b18ce34e6899637ea183e4331ccd"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">SVF::DDAStat::_TotalNumOfQuery</a></div><div class="ttdeci">u32_t _TotalNumOfQuery</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00072">DDAStat.h:72</a></div></div>
71
71
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a56368369bc37e37b13f19e5eb1890063"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">SVF::PointerAnalysis::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const PointsTo &amp;pts)</div><div class="ttdoc">Determine whether a points-to contains a black hole or constant node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00308">PointerAnalysis.h:308</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac522df904e702381222a4d9b205c775b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac522df904e702381222a4d9b205c775b">SVF::PointerAnalysis::getNumOfResolvedIndCallEdge</a></div><div class="ttdeci">Size_t getNumOfResolvedIndCallEdge() const</div><div class="ttdoc">Return number of resolved indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00173">PointerAnalysis.h:173</a></div></div>