svf-tools 1.0.558 → 1.0.561

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 (327) hide show
  1. package/README.md +1 -1
  2. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +43 -43
  3. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +16 -16
  6. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +18 -18
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +56 -56
  9. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +8 -8
  10. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +10 -1
  11. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +3 -1
  12. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +44 -44
  14. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +43 -43
  15. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +12 -12
  16. package/SVF-doxygen/html/html/DDAClient_8h_source.html +36 -36
  17. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +19 -19
  18. package/SVF-doxygen/html/html/DDAPass_8h_source.html +21 -21
  19. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +51 -51
  20. package/SVF-doxygen/html/html/DDAStat_8h_source.html +51 -51
  21. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +111 -111
  22. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -2
  25. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -2
  26. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +40 -40
  27. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +52 -52
  28. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/html/FileChecker_8h_source.html +2 -2
  30. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +42 -42
  32. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
  33. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +6 -6
  34. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
  35. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
  36. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +34 -34
  39. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +114 -114
  40. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +7 -7
  42. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  43. package/SVF-doxygen/html/html/MHP_8cpp_source.html +94 -94
  44. package/SVF-doxygen/html/html/MHP_8h_source.html +135 -135
  45. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +6 -6
  46. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
  48. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +10 -10
  49. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +6 -6
  50. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +33 -33
  51. package/SVF-doxygen/html/html/MTAStat_8h_source.html +14 -14
  52. package/SVF-doxygen/html/html/MTA_8cpp_source.html +28 -28
  53. package/SVF-doxygen/html/html/MTA_8h_source.html +24 -24
  54. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +6 -6
  55. package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
  56. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +50 -50
  57. package/SVF-doxygen/html/html/MemRegion_8h_source.html +93 -93
  58. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +59 -59
  59. package/SVF-doxygen/html/html/MemSSA_8h_source.html +103 -103
  60. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +185 -185
  61. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
  63. package/SVF-doxygen/html/html/PCG_8cpp_source.html +14 -14
  64. package/SVF-doxygen/html/html/PCG_8h_source.html +52 -52
  65. package/SVF-doxygen/html/html/PEGGrammar_8txt.html +14 -32
  66. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +40 -40
  67. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +181 -181
  68. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
  69. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +30 -30
  70. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  73. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +60 -60
  74. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
  75. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  76. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  77. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
  79. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +19 -19
  80. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +1 -1
  81. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +12 -12
  82. package/SVF-doxygen/html/html/SVFG_8h_source.html +5 -5
  83. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +3 -3
  86. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +2 -2
  87. package/SVF-doxygen/html/html/SaberCheckerAPI_8cpp_source.html +1 -1
  88. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +1 -1
  90. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +1 -1
  91. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  92. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +13 -13
  94. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +66 -66
  95. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +1 -1
  96. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +4 -4
  97. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +6 -6
  98. package/SVF-doxygen/html/html/TCT_8cpp_source.html +44 -44
  99. package/SVF-doxygen/html/html/TCT_8h_source.html +93 -93
  100. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  101. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
  102. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -2
  103. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +25 -25
  104. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +38 -38
  105. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  106. package/SVF-doxygen/html/html/WPAStat_8h_source.html +2 -2
  107. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  108. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  109. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder-members.html +13 -10
  110. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +190 -2
  111. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +22 -22
  112. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +102 -102
  113. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +43 -43
  114. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +20 -20
  115. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -6
  116. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +16 -16
  117. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +19 -19
  118. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +39 -39
  119. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
  122. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +100 -100
  124. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +51 -51
  125. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +58 -58
  126. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +165 -165
  127. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +286 -286
  128. package/SVF-doxygen/html/html/classSVF_1_1DFPTData.html +26 -26
  129. package/SVF-doxygen/html/html/classSVF_1_1DiffPTData.html +11 -11
  130. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +4 -4
  131. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +4 -4
  132. package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +5 -4
  134. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +40 -5
  135. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +30 -30
  136. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +3 -3
  137. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +71 -71
  138. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +7 -7
  139. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +218 -218
  141. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  142. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +19 -19
  144. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +7 -7
  146. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +17 -17
  147. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
  148. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +334 -334
  149. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +9 -9
  150. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +246 -246
  151. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +7 -7
  152. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +200 -200
  153. package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
  156. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +53 -53
  159. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  160. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +22 -22
  161. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +181 -181
  162. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +44 -44
  163. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +23 -23
  164. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +267 -267
  165. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +18 -18
  166. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +128 -128
  167. package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData.html +55 -55
  168. package/SVF-doxygen/html/html/classSVF_1_1MutableIncDFPTData.html +88 -88
  169. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +78 -78
  170. package/SVF-doxygen/html/html/classSVF_1_1MutableVersionedPTData.html +77 -77
  171. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +131 -131
  172. package/SVF-doxygen/html/html/classSVF_1_1PTData.html +32 -32
  173. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +107 -107
  174. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +66 -66
  175. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +84 -84
  176. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +77 -77
  177. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +134 -134
  178. package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +77 -77
  179. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +3 -3
  180. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +161 -161
  181. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +7 -7
  182. package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
  183. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +22 -22
  184. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  185. package/SVF-doxygen/html/html/classSVF_1_1SVFGNodeLockSpan.html +23 -23
  186. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +5 -5
  187. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  188. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +157 -157
  189. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +15 -15
  190. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
  191. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +264 -264
  192. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +13 -13
  193. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +20 -20
  194. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +100 -100
  196. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +8 -8
  197. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1VersionedPTData.html +11 -11
  199. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
  200. package/SVF-doxygen/html/html/dda_8cpp.html +2 -2
  201. package/SVF-doxygen/html/html/dda_8cpp_source.html +2 -2
  202. package/SVF-doxygen/html/html/functions_a.html +11 -5
  203. package/SVF-doxygen/html/html/functions_c.html +21 -18
  204. package/SVF-doxygen/html/html/functions_f.html +6 -6
  205. package/SVF-doxygen/html/html/functions_func.html +16 -10
  206. package/SVF-doxygen/html/html/functions_func_c.html +19 -16
  207. package/SVF-doxygen/html/html/functions_func_i.html +11 -8
  208. package/SVF-doxygen/html/html/functions_i.html +11 -8
  209. package/SVF-doxygen/html/html/functions_l.html +5 -5
  210. package/SVF-doxygen/html/html/functions_p.html +6 -6
  211. package/SVF-doxygen/html/html/functions_r.html +3 -7
  212. package/SVF-doxygen/html/html/functions_s.html +16 -14
  213. package/SVF-doxygen/html/html/functions_v.html +6 -6
  214. package/SVF-doxygen/html/html/functions_w.html +11 -11
  215. package/SVF-doxygen/html/html/globals_g.html +3 -3
  216. package/SVF-doxygen/html/html/globals_v.html +1 -2
  217. package/SVF-doxygen/html/html/globals_vars.html +3 -4
  218. package/SVF-doxygen/html/html/mta_8cpp.html +2 -2
  219. package/SVF-doxygen/html/html/mta_8cpp_source.html +2 -2
  220. package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
  221. package/SVF-doxygen/html/html/search/all_1.js +2 -0
  222. package/SVF-doxygen/html/html/search/all_10.js +5 -5
  223. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  224. package/SVF-doxygen/html/html/search/all_12.js +8 -8
  225. package/SVF-doxygen/html/html/search/all_13.js +2 -2
  226. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  227. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  228. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  229. package/SVF-doxygen/html/html/search/all_3.js +1 -0
  230. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  231. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  232. package/SVF-doxygen/html/html/search/all_9.js +2 -1
  233. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  234. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  235. package/SVF-doxygen/html/html/search/functions_0.js +2 -0
  236. package/SVF-doxygen/html/html/search/functions_2.js +1 -0
  237. package/SVF-doxygen/html/html/search/functions_8.js +1 -0
  238. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  239. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  240. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  241. package/SVF-doxygen/html/html/search/variables_7.js +2 -2
  242. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  243. package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
  244. package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +4 -4
  245. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +15 -15
  246. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +1 -1
  247. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +1 -1
  248. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +2 -2
  249. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
  250. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  251. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  252. package/include/CFL/CFLGraphBuilder.h +9 -0
  253. package/include/CFL/PEGGrammar.txt +4 -8
  254. package/include/DDA/ContextDDA.h +29 -0
  255. package/include/DDA/DDAClient.h +23 -0
  256. package/include/DDA/DDAPass.h +22 -0
  257. package/include/DDA/DDAStat.h +22 -0
  258. package/include/DDA/DDAVFSolver.h +22 -0
  259. package/include/DDA/FlowDDA.h +29 -0
  260. package/include/MSSA/MSSAMuChi.h +1 -1
  261. package/include/MSSA/MemPartition.h +1 -1
  262. package/include/MSSA/MemRegion.h +5 -1
  263. package/include/MSSA/MemSSA.h +7 -1
  264. package/include/MSSA/SVFGBuilder.h +1 -1
  265. package/include/MTA/FSMPTA.h +26 -0
  266. package/include/MTA/LockAnalysis.h +22 -0
  267. package/include/MTA/MHP.h +22 -0
  268. package/include/MTA/MTA.h +27 -1
  269. package/include/MTA/MTAStat.h +22 -0
  270. package/include/MTA/PCG.h +22 -0
  271. package/include/MTA/TCT.h +22 -0
  272. package/include/MemoryModel/AbstractPointsToDS.h +34 -0
  273. package/include/MemoryModel/ConditionalPT.h +1 -1
  274. package/include/MemoryModel/LocationSet.h +1 -1
  275. package/include/MemoryModel/MutablePointsToDS.h +32 -0
  276. package/include/MemoryModel/PAGBuilderFromFile.h +2 -2
  277. package/include/MemoryModel/PersistentPointsToCache.h +3 -1
  278. package/include/MemoryModel/PersistentPointsToDS.h +10 -0
  279. package/include/MemoryModel/PointerAnalysis.h +1 -1
  280. package/include/MemoryModel/PointerAnalysisImpl.h +1 -1
  281. package/include/MemoryModel/SVFStatements.h +1 -1
  282. package/include/SABER/DoubleFreeChecker.h +1 -1
  283. package/include/SABER/FileChecker.h +1 -1
  284. package/include/SABER/LeakChecker.h +1 -1
  285. package/include/SABER/ProgSlice.h +8 -1
  286. package/include/SABER/SaberAnnotator.h +1 -1
  287. package/include/SABER/SaberCheckerAPI.h +1 -1
  288. package/include/SABER/SaberCondAllocator.h +1 -1
  289. package/include/SABER/SaberSVFGBuilder.h +1 -1
  290. package/include/SABER/SrcSnkDDA.h +8 -1
  291. package/include/SABER/SrcSnkSolver.h +1 -1
  292. package/include/Util/ExtAPI.h +3 -0
  293. package/include/Util/ExtAPI.json +1456 -44
  294. package/include/WPA/Andersen.h +5 -0
  295. package/include/WPA/TypeAnalysis.h +1 -1
  296. package/include/WPA/VersionedFlowSensitive.h +4 -0
  297. package/lib/CFL/CFLGraphBuilder.cpp +44 -0
  298. package/lib/DDA/ContextDDA.cpp +22 -0
  299. package/lib/DDA/DDAClient.cpp +22 -0
  300. package/lib/DDA/DDAPass.cpp +23 -0
  301. package/lib/DDA/DDAStat.cpp +22 -0
  302. package/lib/DDA/FlowDDA.cpp +22 -0
  303. package/lib/MTA/FSMPTA.cpp +22 -0
  304. package/lib/MTA/LockAnalysis.cpp +22 -0
  305. package/lib/MTA/MHP.cpp +23 -1
  306. package/lib/MTA/MTA.cpp +23 -0
  307. package/lib/MTA/MTAStat.cpp +22 -0
  308. package/lib/MTA/PCG.cpp +22 -0
  309. package/lib/MTA/TCT.cpp +23 -0
  310. package/lib/MemoryModel/LocationSet.cpp +1 -1
  311. package/lib/MemoryModel/PAGBuilderFromFile.cpp +1 -1
  312. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  313. package/lib/MemoryModel/PointerAnalysisImpl.cpp +23 -0
  314. package/lib/SABER/DoubleFreeChecker.cpp +1 -1
  315. package/lib/SABER/FileChecker.cpp +1 -1
  316. package/lib/SABER/LeakChecker.cpp +1 -1
  317. package/lib/SABER/ProgSlice.cpp +1 -1
  318. package/lib/SABER/SaberAnnotator.cpp +1 -1
  319. package/lib/SABER/SaberCheckerAPI.cpp +1 -1
  320. package/lib/SABER/SaberCondAllocator.cpp +1 -1
  321. package/lib/SABER/SaberSVFGBuilder.cpp +1 -1
  322. package/lib/SABER/SrcSnkDDA.cpp +1 -1
  323. package/lib/Util/ExtAPI.cpp +42 -4
  324. package/lib/WPA/Steensgaard.cpp +22 -0
  325. package/lib/WPA/TypeAnalysis.cpp +1 -1
  326. package/lib/WPA/WPAPass.cpp +1 -1
  327. package/package.json +1 -1
@@ -66,102 +66,102 @@ $(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><a class="code" href="namespaceSVFUtil.html">SVFUtil</a>;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361"> 20</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="l00021"></a><span class="lineno"> 21</span>&#160;{</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae7670e6458c62473b0be78004466b9d7"> 24</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="l00025"></a><span class="lineno"> 25</span>&#160;{</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</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"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd"> 29</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="l00030"></a><span class="lineno"> 30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a> = 0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a> = 0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a> = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</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="l00042"></a><span class="lineno"> 42</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="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a> = 0;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a> = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a> = 0;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</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;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</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="l00065"></a><span class="lineno"> 65</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="l00066"></a><span class="lineno"> 66</span>&#160;}</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418"> 68</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="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</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="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</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="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"> 76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6"> 77</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="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</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">return</span> <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>;</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"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11"> 85</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11">DDAStat::performStatPerQuery</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr)</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;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> NumOfDPM = 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> NumOfLoc = 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> maxNumOfDPMPerLoc = 0;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cptsSize = 0;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</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="l00096"></a><span class="lineno"> 96</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="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; maxNumOfDPMPerLoc = num;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</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="l00105"></a><span class="lineno"> 105</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="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</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="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</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="l00110"></a><span class="lineno"> 110</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="l00111"></a><span class="lineno"> 111</span>&#160; {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; maxNumOfDPMPerLoc = num;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1ContextCond.html">ContextCond</a> cxt;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(cxt,ptr);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</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="l00121"></a><span class="lineno"> 121</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="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</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="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">double</span> avgDPMAtLoc = NumOfLoc!=0 ? (double)NumOfDPM/NumOfLoc : 0;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> += avgDPMAtLoc;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</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="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = maxNumOfDPMPerLoc;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a> += cptsSize;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</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="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> = cptsSize;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a> += ptsSize;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</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="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> = ptsSize;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span>(cptsSize == 0)</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</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="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a>++;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</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="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a>++;</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;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>++;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</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="l00152"></a><span class="lineno"> 152</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="l00153"></a><span class="lineno"> 153</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="l00154"></a><span class="lineno"> 154</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="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</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="l00157"></a><span class="lineno"> 157</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="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.clear();</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.clear();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00164"></a><span class="lineno"> 164</span>&#160;</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;CPtsSize&quot;</span>] = cptsSize;</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;PtsSize&quot;</span>] = ptsSize;</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;NumOfStep&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</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;NumOfStepInCycle&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</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;NumOfDPM&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</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;NumOfSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</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;IndEdgeResolved&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>() - <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a>;</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;AvgDPMAtLoc&quot;</span>] = avgDPMAtLoc;</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;MaxDPMAtLoc&quot;</span>] = maxNumOfDPMPerLoc;</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;MaxPathPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a7d89351906ef4dff9adb1196f45bc9be">ContextCond::maximumPath</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;MaxCxtPerQuery&quot;</span>] = <a class="code" href="classSVF_1_1ContextCond.html#a151b9f21eedd4fdd8f46b78bb456582d">ContextCond::maximumCxt</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;NumOfMustAA&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</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="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</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#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>();</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"> 189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11"> 190</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="l00191"></a><span class="lineno"> 191</span>&#160;{</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</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="l00194"></a><span class="lineno"> 194</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="l00195"></a><span class="lineno"> 195</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="l00196"></a><span class="lineno"> 196</span>&#160;}</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c"> 198</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c">DDAStat::performStat</a>()</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;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.clear();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>.clear();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.clear();</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#af2eb88d1563be9e6290a5fc69bec3bbe">callgraphStat</a>();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">getNumOfOOBQuery</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</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="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = nodeIt-&gt;second;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ObjVar&gt;(pagNode))</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</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="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5b4095f427c9c7b9ec0db497ba33baea">localVarInRecursion</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(nodeIt-&gt;first);</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;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00224"></a><span class="lineno"> 224</span>&#160;</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;NumOfQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</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;NumOfOOBQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</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;NumOfDPM&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</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;NumOfSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a>;</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;NumOfStoreSU&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#ad53ad7a958c05b45624d2859a6a9e647">_StrongUpdateStores</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</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;NumOfStep&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</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="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00233"></a><span class="lineno"> 233</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="l00234"></a><span class="lineno"> 234</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="l00235"></a><span class="lineno"> 235</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="l00236"></a><span class="lineno"> 236</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="l00237"></a><span class="lineno"> 237</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="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00240"></a><span class="lineno"> 240</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#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</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;NumOfNullPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</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;PointsToConstPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</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;PointsToBlkPtr&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</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;NumOfMustAA&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</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;NumOfInfePath&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a>;</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;NumOfStore&quot;</span>] = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a65a4af3d6f0bfc11e31f020bb2966576">getPTASVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>).size();</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;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="l00248"></a><span class="lineno"> 248</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="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49">printStat</a>();</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"> 252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff"> 253</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff">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="l00254"></a><span class="lineno"> 254</span>&#160;{</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00257"></a><span class="lineno"> 257</span>&#160; {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flags(std::ios::left);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordtype">unsigned</span> field_width = 20;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;---------------------Stat Per Query--------------------------------\n&quot;</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">for</span> (TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &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="l00265"></a><span class="lineno"> 265</span>&#160; }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</span>&#160; {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &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="l00270"></a><span class="lineno"> 270</span>&#160; }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</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="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"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49"> 276</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49">DDAStat::printStat</a>(<span class="keywordtype">string</span> str)</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;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#aef98e8e9144a69bb7481fef5d2dcb303">FlowDDA::ConstSVFGEdgeSet</a> edgeSet;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</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="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</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="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</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="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n****Demand-Driven Pointer Analysis Statistics****\n&quot;</span>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#aca3e99ad83bddabee1dd565522691c78">PTAStat::printStat</a>(str);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</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
- <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>
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">//===- DDAStat.cpp -- Statistics for demand-driven pass-------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div><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="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></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"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * DDAStat.cpp</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Sep 15, 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></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;<span class="preprocessor">#include &quot;<a class="code" href="DDAStat_8h.html">DDA/DDAStat.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</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="l00032"></a><span class="lineno"> 32</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="l00033"></a><span class="lineno"> 33</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="l00034"></a><span class="lineno"> 34</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="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVFUtil.html">SVFUtil</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361"> 42</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="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae7670e6458c62473b0be78004466b9d7"> 46</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="l00047"></a><span class="lineno"> 47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">initDefault</a>();</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</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"><a class="line" href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd"> 51</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="l00052"></a><span class="lineno"> 52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a> = 0;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">_TotalNumOfOutOfBudgetQuery</a> = 0;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">_TotalNumOfDPM</a> = 0;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">_TotalNumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">_TotalNumOfMustAliases</a> = 0;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">_TotalNumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">_TotalNumOfStep</a> = 0;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">_TotalNumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a> = 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</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="l00064"></a><span class="lineno"> 64</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="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a> = 0;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a> = 0;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a> = 0;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = 0;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</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; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">_AnaTimePerQuery</a> = 0;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">_TotalTimeOfQueries</a> = 0;</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; <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="l00087"></a><span class="lineno"> 87</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="l00088"></a><span class="lineno"> 88</span>&#160;}</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418"> 90</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="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keyword"></span>{</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; <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="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</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="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;}</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6"> 99</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="l00100"></a><span class="lineno"> 100</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">contextDDA</a>;</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;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11"> 107</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11">DDAStat::performStatPerQuery</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr)</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> NumOfDPM = 0;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> NumOfLoc = 0;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxNumOfDPMPerLoc = 0;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cptsSize = 0;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</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; <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="l00118"></a><span class="lineno"> 118</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="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; maxNumOfDPMPerLoc = num;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</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="l00127"></a><span class="lineno"> 127</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="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</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="l00130"></a><span class="lineno"> 130</span>&#160; {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</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="l00132"></a><span class="lineno"> 132</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="l00133"></a><span class="lineno"> 133</span>&#160; {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; NumOfLoc++;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = it-&gt;second.size();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; NumOfDPM += num;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span>(num &gt; maxNumOfDPMPerLoc)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; maxNumOfDPMPerLoc = num;</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; <a class="code" href="classSVF_1_1ContextCond.html">ContextCond</a> cxt;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(cxt,ptr);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</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="l00143"></a><span class="lineno"> 143</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="l00144"></a><span class="lineno"> 144</span>&#160; }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</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="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordtype">double</span> avgDPMAtLoc = NumOfLoc!=0 ? (double)NumOfDPM/NumOfLoc : 0;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">_AvgNumOfDPMAtSVFGNode</a> += avgDPMAtLoc;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</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="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">_MaxNumOfDPMAtSVFGNode</a> = maxNumOfDPMPerLoc;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">_TotalCPtsSize</a> += cptsSize;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</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="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">_MaxCPtsSize</a> = cptsSize;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">_TotalPtsSize</a> += ptsSize;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</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="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">_MaxPtsSize</a> = ptsSize;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span>(cptsSize == 0)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</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="l00164"></a><span class="lineno"> 164</span>&#160; {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">_NumOfConstantPtr</a>++;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</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="l00168"></a><span class="lineno"> 168</span>&#160; {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">_NumOfBlackholePtr</a>++;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>++;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</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="l00174"></a><span class="lineno"> 174</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="l00175"></a><span class="lineno"> 175</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="l00176"></a><span class="lineno"> 176</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="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</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="l00179"></a><span class="lineno"> 179</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="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.clear();</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">NumPerQueryStatMap</a>.clear();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</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="l00188"></a><span class="lineno"> 188</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="l00189"></a><span class="lineno"> 189</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="l00190"></a><span class="lineno"> 190</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="l00191"></a><span class="lineno"> 191</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="l00192"></a><span class="lineno"> 192</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="l00193"></a><span class="lineno"> 193</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#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>() - <a class="code" href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">_NumOfIndCallEdgeSolved</a>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</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="l00195"></a><span class="lineno"> 195</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="l00196"></a><span class="lineno"> 196</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="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</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="l00199"></a><span class="lineno"> 199</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="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">_NumOfStep</a> = 0;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">_NumOfStepInCycle</a> = 0;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">_NumOfDPM</a> = 0;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">_NumOfStrongUpdates</a> = 0;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">_NumOfMustAliases</a> = 0;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">_NumOfInfeasiblePath</a> = 0;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">_AnaTimeCyclePerQuery</a> = 0;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</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#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11"> 212</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="l00213"></a><span class="lineno"> 213</span>&#160;{</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</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="l00216"></a><span class="lineno"> 216</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="l00217"></a><span class="lineno"> 217</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="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"><a class="line" href="classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c"> 220</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c">DDAStat::performStat</a>()</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;{</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.clear();</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>.clear();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.clear();</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#af2eb88d1563be9e6290a5fc69bec3bbe">callgraphStat</a>();</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">getNumOfOOBQuery</a>();</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</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="l00232"></a><span class="lineno"> 232</span>&#160; {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = nodeIt-&gt;second;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ObjVar&gt;(pagNode))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</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="l00237"></a><span class="lineno"> 237</span>&#160; {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5b4095f427c9c7b9ec0db497ba33baea">localVarInRecursion</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(nodeIt-&gt;first);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00246"></a><span class="lineno"> 246</span>&#160;</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;NumOfQuery&quot;</span>] = <a class="code" href="classSVF_1_1DDAStat.html#a89a4b18ce34e6899637ea183e4331ccd">_TotalNumOfQuery</a>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</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="l00249"></a><span class="lineno"> 249</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="l00250"></a><span class="lineno"> 250</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="l00251"></a><span class="lineno"> 251</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>.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</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="l00253"></a><span class="lineno"> 253</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="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00255"></a><span class="lineno"> 255</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="l00256"></a><span class="lineno"> 256</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="l00257"></a><span class="lineno"> 257</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="l00258"></a><span class="lineno"> 258</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="l00259"></a><span class="lineno"> 259</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="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="l00262"></a><span class="lineno"> 262</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#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</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="l00264"></a><span class="lineno"> 264</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="l00265"></a><span class="lineno"> 265</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="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</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="l00268"></a><span class="lineno"> 268</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#a65a4af3d6f0bfc11e31f020bb2966576">getPTASVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>).size();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</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="l00270"></a><span class="lineno"> 270</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="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49">printStat</a>();</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#ae695696e5cd06eb27635887f0de30eff"> 275</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff">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="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_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">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="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="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flags(std::ios::left);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordtype">unsigned</span> field_width = 20;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;---------------------Stat Per Query--------------------------------\n&quot;</span>;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">for</span> (TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.end(); it != eit; ++it)</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; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &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="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</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="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &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="l00292"></a><span class="lineno"> 292</span>&#160; }</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</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="l00295"></a><span class="lineno"> 295</span>&#160;}</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49"> 298</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49">DDAStat::printStat</a>(<span class="keywordtype">string</span> str)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;{</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">flowDDA</a>)</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#aef98e8e9144a69bb7481fef5d2dcb303">FlowDDA::ConstSVFGEdgeSet</a> edgeSet;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</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="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</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="l00307"></a><span class="lineno"> 307</span>&#160; {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</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="l00309"></a><span class="lineno"> 309</span>&#160; }</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n****Demand-Driven Pointer Analysis Statistics****\n&quot;</span>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#aca3e99ad83bddabee1dd565522691c78">PTAStat::printStat</a>(str);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</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#l00116">DDAStat.h:116</a></div></div>
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#l00094">DDAStat.h:94</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#l00292">PointerAnalysis.h:292</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1CondStdSet_html_aa19e82905537f3ae41f64fce070ee555"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#aa19e82905537f3ae41f64fce070ee555">SVF::CondStdSet::count</a></div><div class="ttdeci">unsigned count() const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00177">ConditionalPT.h:177</a></div></div>
73
- <div class="ttc" id="classSVF_1_1DDAStat_html_ac7275c99ddd118696853188154ad6fbd"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">SVF::DDAStat::initDefault</a></div><div class="ttdeci">void initDefault()</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00029">DDAStat.cpp:29</a></div></div>
74
- <div class="ttc" id="classSVF_1_1DDAStat_html_ae695696e5cd06eb27635887f0de30eff"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff">SVF::DDAStat::printStatPerQuery</a></div><div class="ttdeci">void printStatPerQuery(NodeID ptr, const PointsTo &amp;pts) override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00253">DDAStat.cpp:253</a></div></div>
75
- <div class="ttc" id="classSVF_1_1DDAStat_html_ab508281a78749ec5d7b5dc8231a4be11"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">SVF::DDAStat::getNumOfOOBQuery</a></div><div class="ttdeci">void getNumOfOOBQuery()</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00190">DDAStat.cpp:190</a></div></div>
73
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ac7275c99ddd118696853188154ad6fbd"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac7275c99ddd118696853188154ad6fbd">SVF::DDAStat::initDefault</a></div><div class="ttdeci">void initDefault()</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00051">DDAStat.cpp:51</a></div></div>
74
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ae695696e5cd06eb27635887f0de30eff"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff">SVF::DDAStat::printStatPerQuery</a></div><div class="ttdeci">void printStatPerQuery(NodeID ptr, const PointsTo &amp;pts) override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00275">DDAStat.cpp:275</a></div></div>
75
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ab508281a78749ec5d7b5dc8231a4be11"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ab508281a78749ec5d7b5dc8231a4be11">SVF::DDAStat::getNumOfOOBQuery</a></div><div class="ttdeci">void getNumOfOOBQuery()</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00212">DDAStat.cpp:212</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1PTAStat_html_aca3e99ad83bddabee1dd565522691c78"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aca3e99ad83bddabee1dd565522691c78">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(std::string str=&quot;&quot;) override</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00273">PTAStat.cpp:273</a></div></div>
77
- <div class="ttc" id="classSVF_1_1DDAStat_html_ac3189db5d8e17f64fdfcc9b040cf6100"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">SVF::DDAStat::_TotalTimeOfQueries</a></div><div class="ttdeci">double _TotalTimeOfQueries</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00041">DDAStat.h:41</a></div></div>
77
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ac3189db5d8e17f64fdfcc9b040cf6100"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">SVF::DDAStat::_TotalTimeOfQueries</a></div><div class="ttdeci">double _TotalTimeOfQueries</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00063">DDAStat.h:63</a></div></div>
78
78
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
79
- <div class="ttc" id="classSVF_1_1DDAStat_html_a54ac2369d36af7fc5b91e0a07cc3619c"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">SVF::DDAStat::_TotalCPtsSize</a></div><div class="ttdeci">u32_t _TotalCPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00085">DDAStat.h:85</a></div></div>
80
- <div class="ttc" id="classSVF_1_1DDAStat_html_a2197491d64e5cf18f8cfa7bbd19edf86"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">SVF::DDAStat::_MaxPtsSize</a></div><div class="ttdeci">u32_t _MaxPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00084">DDAStat.h:84</a></div></div>
81
- <div class="ttc" id="classSVF_1_1DDAStat_html_a9625c4623acc4f6ccaca1ec8f04f5a54"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a9625c4623acc4f6ccaca1ec8f04f5a54">SVF::DDAStat::_TotalTimeOfBKCondition</a></div><div class="ttdeci">double _TotalTimeOfBKCondition</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00042">DDAStat.h:42</a></div></div>
82
- <div class="ttc" id="classSVF_1_1DDAStat_html_a11dd60d124a8d3433312589ede4e7b11"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11">SVF::DDAStat::performStatPerQuery</a></div><div class="ttdeci">void performStatPerQuery(NodeID ptr) override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00085">DDAStat.cpp:85</a></div></div>
83
- <div class="ttc" id="classSVF_1_1DDAStat_html_a6055573ae1844cfc559ff81b3b9c325c"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c">SVF::DDAStat::performStat</a></div><div class="ttdeci">void performStat() override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00198">DDAStat.cpp:198</a></div></div>
84
- <div class="ttc" id="classSVF_1_1DDAStat_html_aef8db234efc3a5ae58a6d43de97ca361"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361">SVF::DDAStat::DDAStat</a></div><div class="ttdeci">DDAStat(FlowDDA *pta)</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00020">DDAStat.cpp:20</a></div></div>
79
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a54ac2369d36af7fc5b91e0a07cc3619c"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a54ac2369d36af7fc5b91e0a07cc3619c">SVF::DDAStat::_TotalCPtsSize</a></div><div class="ttdeci">u32_t _TotalCPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00107">DDAStat.h:107</a></div></div>
80
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a2197491d64e5cf18f8cfa7bbd19edf86"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a2197491d64e5cf18f8cfa7bbd19edf86">SVF::DDAStat::_MaxPtsSize</a></div><div class="ttdeci">u32_t _MaxPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00106">DDAStat.h:106</a></div></div>
81
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a9625c4623acc4f6ccaca1ec8f04f5a54"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a9625c4623acc4f6ccaca1ec8f04f5a54">SVF::DDAStat::_TotalTimeOfBKCondition</a></div><div class="ttdeci">double _TotalTimeOfBKCondition</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00064">DDAStat.h:64</a></div></div>
82
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a11dd60d124a8d3433312589ede4e7b11"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11">SVF::DDAStat::performStatPerQuery</a></div><div class="ttdeci">void performStatPerQuery(NodeID ptr) override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00107">DDAStat.cpp:107</a></div></div>
83
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a6055573ae1844cfc559ff81b3b9c325c"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c">SVF::DDAStat::performStat</a></div><div class="ttdeci">void performStat() override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00220">DDAStat.cpp:220</a></div></div>
84
+ <div class="ttc" id="classSVF_1_1DDAStat_html_aef8db234efc3a5ae58a6d43de97ca361"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aef8db234efc3a5ae58a6d43de97ca361">SVF::DDAStat::DDAStat</a></div><div class="ttdeci">DDAStat(FlowDDA *pta)</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00042">DDAStat.cpp:42</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1SVFG_html_a8ba934714a7f2caf2e041002fdb66137"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">SVF::SVFG::getStat</a></div><div class="ttdeci">SVFGStat * getStat() const</div><div class="ttdoc">Return statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00125">SVFG.h:125</a></div></div>
86
- <div class="ttc" id="classSVF_1_1DDAStat_html_aae8366a4876154fa66298c7bf0fc47c4"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">SVF::DDAStat::_AnaTimeCyclePerQuery</a></div><div class="ttdeci">double _AnaTimeCyclePerQuery</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00040">DDAStat.h:40</a></div></div>
87
- <div class="ttc" id="classSVF_1_1FlowDDA_html"><div class="ttname"><a href="classSVF_1_1FlowDDA.html">SVF::FlowDDA</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8h_source.html#l00024">FlowDDA.h:24</a></div></div>
88
- <div class="ttc" id="classSVF_1_1DDAStat_html_a674248754300d58fcef8eaf09436249e"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">SVF::DDAStat::_NumOfStep</a></div><div class="ttdeci">u64_t _NumOfStep</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00037">DDAStat.h:37</a></div></div>
89
- <div class="ttc" id="classSVF_1_1DDAStat_html_a7dabcdacf00844415bd23ca241d885e9"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">SVF::DDAStat::NumPerQueryStatMap</a></div><div class="ttdeci">NUMStatMap NumPerQueryStatMap</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00099">DDAStat.h:99</a></div></div>
90
- <div class="ttc" id="classSVF_1_1DDAStat_html_a1388b2d218d5c28eaf3f487950c99730"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">SVF::DDAStat::_TotalNumOfInfeasiblePath</a></div><div class="ttdeci">u32_t _TotalNumOfInfeasiblePath</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00077">DDAStat.h:77</a></div></div>
86
+ <div class="ttc" id="classSVF_1_1DDAStat_html_aae8366a4876154fa66298c7bf0fc47c4"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aae8366a4876154fa66298c7bf0fc47c4">SVF::DDAStat::_AnaTimeCyclePerQuery</a></div><div class="ttdeci">double _AnaTimeCyclePerQuery</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00062">DDAStat.h:62</a></div></div>
87
+ <div class="ttc" id="classSVF_1_1FlowDDA_html"><div class="ttname"><a href="classSVF_1_1FlowDDA.html">SVF::FlowDDA</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8h_source.html#l00053">FlowDDA.h:53</a></div></div>
88
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a674248754300d58fcef8eaf09436249e"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a674248754300d58fcef8eaf09436249e">SVF::DDAStat::_NumOfStep</a></div><div class="ttdeci">u64_t _NumOfStep</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00059">DDAStat.h:59</a></div></div>
89
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a7dabcdacf00844415bd23ca241d885e9"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a7dabcdacf00844415bd23ca241d885e9">SVF::DDAStat::NumPerQueryStatMap</a></div><div class="ttdeci">NUMStatMap NumPerQueryStatMap</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00121">DDAStat.h:121</a></div></div>
90
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a1388b2d218d5c28eaf3f487950c99730"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a1388b2d218d5c28eaf3f487950c99730">SVF::DDAStat::_TotalNumOfInfeasiblePath</a></div><div class="ttdeci">u32_t _TotalNumOfInfeasiblePath</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00099">DDAStat.h:99</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
92
92
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_afa7d9f6209904acd7893ae583e28dafd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">SVF::PointerAnalysis::containConstantNode</a></div><div class="ttdeci">bool containConstantNode(const PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00296">PointerAnalysis.h:296</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1SVFGStat_html_a87d5e8ec0e13416cff36a18644a5b94f"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#a87d5e8ec0e13416cff36a18644a5b94f">SVF::SVFGStat::performSCCStat</a></div><div class="ttdeci">virtual void performSCCStat(SVFGEdgeSet insensitiveCalRetEdges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8cpp_source.html#l00369">SVFGStat.cpp:369</a></div></div>
94
94
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
96
96
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a9f96e6a886fa69e07cda5dbfaed8b7c9"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">SVF::SparseBitVector::count</a></div><div class="ttdeci">unsigned count() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01102">SparseBitVector.h:1102</a></div></div>
97
- <div class="ttc" id="classSVF_1_1DDAStat_html_a1afb47b898f646f71d00c666373281e0"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">SVF::DDAStat::_TotalPtsSize</a></div><div class="ttdeci">u32_t _TotalPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00086">DDAStat.h:86</a></div></div>
97
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a1afb47b898f646f71d00c666373281e0"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">SVF::DDAStat::_TotalPtsSize</a></div><div class="ttdeci">u32_t _TotalPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00108">DDAStat.h:108</a></div></div>
98
98
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a94f3e4d073b8c5bab3c46058ddba3f43"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a94f3e4d073b8c5bab3c46058ddba3f43">SVF::CondPTAImpl::getBVPointsTo</a></div><div class="ttdeci">virtual PointsTo getBVPointsTo(const CPtSet &amp;cpts) const</div><div class="ttdoc">Given a conditional pts return its bit vector points-to. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00480">PointerAnalysisImpl.h:480</a></div></div>
99
99
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00343">GenericGraph.h:343</a></div></div>
100
100
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
101
- <div class="ttc" id="classSVF_1_1DDAStat_html_ad53ad7a958c05b45624d2859a6a9e647"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ad53ad7a958c05b45624d2859a6a9e647">SVF::DDAStat::_StrongUpdateStores</a></div><div class="ttdeci">NodeBS _StrongUpdateStores</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00044">DDAStat.h:44</a></div></div>
101
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ad53ad7a958c05b45624d2859a6a9e647"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ad53ad7a958c05b45624d2859a6a9e647">SVF::DDAStat::_StrongUpdateStores</a></div><div class="ttdeci">NodeBS _StrongUpdateStores</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00066">DDAStat.h:66</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1SVFIR_html_a65a4af3d6f0bfc11e31f020bb2966576"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a65a4af3d6f0bfc11e31f020bb2966576">SVF::SVFIR::getPTASVFStmtSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy &amp; getPTASVFStmtSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get PTA edges set according to its kind. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00167">SVFIR.h:167</a></div></div>
103
- <div class="ttc" id="classSVF_1_1DDAStat_html_a7b83dd2c2719ed3b308c65aa037d446b"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">SVF::DDAStat::_MaxNumOfDPMAtSVFGNode</a></div><div class="ttdeci">u32_t _MaxNumOfDPMAtSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00097">DDAStat.h:97</a></div></div>
104
- <div class="ttc" id="classSVF_1_1DDAStat_html_a5ad94d2109b293d306f67741effc73aa"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">SVF::DDAStat::_NumOfDPM</a></div><div class="ttdeci">u32_t _NumOfDPM</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00032">DDAStat.h:32</a></div></div>
103
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a7b83dd2c2719ed3b308c65aa037d446b"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">SVF::DDAStat::_MaxNumOfDPMAtSVFGNode</a></div><div class="ttdeci">u32_t _MaxNumOfDPMAtSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00119">DDAStat.h:119</a></div></div>
104
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a5ad94d2109b293d306f67741effc73aa"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5ad94d2109b293d306f67741effc73aa">SVF::DDAStat::_NumOfDPM</a></div><div class="ttdeci">u32_t _NumOfDPM</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00054">DDAStat.h:54</a></div></div>
105
105
  <div class="ttc" id="DDAStat_8h_html"><div class="ttname"><a href="DDAStat_8h.html">DDAStat.h</a></div></div>
106
106
  <div class="ttc" id="ContextDDA_8h_html"><div class="ttname"><a href="ContextDDA_8h.html">ContextDDA.h</a></div></div>
107
- <div class="ttc" id="classSVF_1_1DDAVFSolver_html_aad57a954473f3099188cf8c8fba87880"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aad57a954473f3099188cf8c8fba87880">SVF::DDAVFSolver::outOfBudgetDpms</a></div><div class="ttdeci">DPTItemSet outOfBudgetDpms</div><div class="ttdoc">out of budget dpm set </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00766">DDAVFSolver.h:766</a></div></div>
107
+ <div class="ttc" id="classSVF_1_1DDAVFSolver_html_aad57a954473f3099188cf8c8fba87880"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aad57a954473f3099188cf8c8fba87880">SVF::DDAVFSolver::outOfBudgetDpms</a></div><div class="ttdeci">DPTItemSet outOfBudgetDpms</div><div class="ttdoc">out of budget dpm set </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00788">DDAVFSolver.h:788</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1CondVar_html"><div class="ttname"><a href="classSVF_1_1CondVar.html">SVF::CondVar</a></div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00045">ConditionalPT.h:45</a></div></div>
109
109
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1a6cee7e690ccb3e53cdc4c3e67b386d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1a6cee7e690ccb3e53cdc4c3e67b386d">SVF::PointerAnalysis::dumpPts</a></div><div class="ttdeci">virtual void dumpPts(NodeID ptr, const PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00271">PointerAnalysis.cpp:271</a></div></div>
110
110
  <div class="ttc" id="SVFGStat_8h_html"><div class="ttname"><a href="SVFGStat_8h.html">SVFGStat.h</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1ContextCond_html_a151b9f21eedd4fdd8f46b78bb456582d"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a151b9f21eedd4fdd8f46b78bb456582d">SVF::ContextCond::maximumCxt</a></div><div class="ttdeci">static u32_t maximumCxt</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00378">DPItem.h:378</a></div></div>
112
- <div class="ttc" id="classSVF_1_1DDAStat_html_ac3fb8b15c5308c926209a941c7cf62e1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">SVF::DDAStat::contextDDA</a></div><div class="ttdeci">ContextDDA * contextDDA</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00070">DDAStat.h:70</a></div></div>
112
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ac3fb8b15c5308c926209a941c7cf62e1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1">SVF::DDAStat::contextDDA</a></div><div class="ttdeci">ContextDDA * contextDDA</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00092">DDAStat.h:92</a></div></div>
113
113
  <div class="ttc" id="FlowDDA_8h_html"><div class="ttname"><a href="FlowDDA_8h.html">FlowDDA.h</a></div></div>
114
- <div class="ttc" id="classSVF_1_1DDAStat_html_a86e03ef25f150b98bc1f8c89bfd7fc77"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">SVF::DDAStat::flowDDA</a></div><div class="ttdeci">FlowDDA * flowDDA</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00069">DDAStat.h:69</a></div></div>
114
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a86e03ef25f150b98bc1f8c89bfd7fc77"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a86e03ef25f150b98bc1f8c89bfd7fc77">SVF::DDAStat::flowDDA</a></div><div class="ttdeci">FlowDDA * flowDDA</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00091">DDAStat.h:91</a></div></div>
115
115
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet &amp; getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00315">PointerAnalysisImpl.h:315</a></div></div>
116
116
  <div class="ttc" id="classSVF_1_1SVFStat_html_a07b6f8cb424b84b468c4518140fa3a41"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">SVF::SVFStat::generalNumMap</a></div><div class="ttdeci">NUMStatMap generalNumMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00073">SVFStat.h:73</a></div></div>
117
117
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
118
- <div class="ttc" id="classSVF_1_1DDAStat_html_a36eafce8cdbb6492f6dd550606cfbd81"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">SVF::DDAStat::_AvgNumOfDPMAtSVFGNode</a></div><div class="ttdeci">double _AvgNumOfDPMAtSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00096">DDAStat.h:96</a></div></div>
118
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a36eafce8cdbb6492f6dd550606cfbd81"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a36eafce8cdbb6492f6dd550606cfbd81">SVF::DDAStat::_AvgNumOfDPMAtSVFGNode</a></div><div class="ttdeci">double _AvgNumOfDPMAtSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00118">DDAStat.h:118</a></div></div>
119
119
  <div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00107">PointsTo.cpp:107</a></div></div>
120
- <div class="ttc" id="classSVF_1_1DDAStat_html_ad07ab73cc0bc650c692de9983b126348"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">SVF::DDAStat::_MaxCPtsSize</a></div><div class="ttdeci">u32_t _MaxCPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00083">DDAStat.h:83</a></div></div>
121
- <div class="ttc" id="classSVF_1_1ContextDDA_html_a0d407903c4b0d976da30538ff0c5fc41"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a0d407903c4b0d976da30538ff0c5fc41">SVF::ContextDDA::getInsensitiveEdgeSet</a></div><div class="ttdeci">ConstSVFGEdgeSet &amp; getInsensitiveEdgeSet()</div><div class="ttdoc">Return insensitive edge set. </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00178">ContextDDA.h:178</a></div></div>
120
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ad07ab73cc0bc650c692de9983b126348"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ad07ab73cc0bc650c692de9983b126348">SVF::DDAStat::_MaxCPtsSize</a></div><div class="ttdeci">u32_t _MaxCPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00105">DDAStat.h:105</a></div></div>
121
+ <div class="ttc" id="classSVF_1_1ContextDDA_html_a0d407903c4b0d976da30538ff0c5fc41"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a0d407903c4b0d976da30538ff0c5fc41">SVF::ContextDDA::getInsensitiveEdgeSet</a></div><div class="ttdeci">ConstSVFGEdgeSet &amp; getInsensitiveEdgeSet()</div><div class="ttdoc">Return insensitive edge set. </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00207">ContextDDA.h:207</a></div></div>
122
122
  <div class="ttc" id="namespaceSVFUtil_html"><div class="ttname"><a href="namespaceSVFUtil.html">SVFUtil</a></div></div>
123
- <div class="ttc" id="classSVF_1_1DDAStat_html_a65008c43bee55d59fd3975d4ad7f44a1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">SVF::DDAStat::_TotalNumOfStrongUpdates</a></div><div class="ttdeci">u32_t _TotalNumOfStrongUpdates</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00075">DDAStat.h:75</a></div></div>
123
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a65008c43bee55d59fd3975d4ad7f44a1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a65008c43bee55d59fd3975d4ad7f44a1">SVF::DDAStat::_TotalNumOfStrongUpdates</a></div><div class="ttdeci">u32_t _TotalNumOfStrongUpdates</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00097">DDAStat.h:97</a></div></div>
124
124
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
125
- <div class="ttc" id="classSVF_1_1DDAStat_html_aa9daed44e9d2ca2722ea9ab9d4517a21"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">SVF::DDAStat::_NumOfStepInCycle</a></div><div class="ttdeci">u64_t _NumOfStepInCycle</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00038">DDAStat.h:38</a></div></div>
125
+ <div class="ttc" id="classSVF_1_1DDAStat_html_aa9daed44e9d2ca2722ea9ab9d4517a21"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aa9daed44e9d2ca2722ea9ab9d4517a21">SVF::DDAStat::_NumOfStepInCycle</a></div><div class="ttdeci">u64_t _NumOfStepInCycle</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00060">DDAStat.h:60</a></div></div>
126
126
  <div class="ttc" id="PointsTo_8h_html"><div class="ttname"><a href="PointsTo_8h.html">PointsTo.h</a></div></div>
127
- <div class="ttc" id="classSVF_1_1DDAStat_html_a4f8bf2dd8409398ddf5659d0f52bb5e1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">SVF::DDAStat::_TotalNumOfMustAliases</a></div><div class="ttdeci">u32_t _TotalNumOfMustAliases</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00076">DDAStat.h:76</a></div></div>
128
- <div class="ttc" id="classSVF_1_1DDAStat_html_a5ebc592d6bd7ef40aff848fb63e9e166"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">SVF::DDAStat::_NumOfInfeasiblePath</a></div><div class="ttdeci">u32_t _NumOfInfeasiblePath</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00035">DDAStat.h:35</a></div></div>
127
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a4f8bf2dd8409398ddf5659d0f52bb5e1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a4f8bf2dd8409398ddf5659d0f52bb5e1">SVF::DDAStat::_TotalNumOfMustAliases</a></div><div class="ttdeci">u32_t _TotalNumOfMustAliases</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00098">DDAStat.h:98</a></div></div>
128
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a5ebc592d6bd7ef40aff848fb63e9e166"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5ebc592d6bd7ef40aff848fb63e9e166">SVF::DDAStat::_NumOfInfeasiblePath</a></div><div class="ttdeci">u32_t _NumOfInfeasiblePath</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00057">DDAStat.h:57</a></div></div>
129
129
  <div class="ttc" id="classSVF_1_1SVFStat_html_a5383691a34426a1a997b5eed387f1831"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">SVF::SVFStat::timeStatMap</a></div><div class="ttdeci">TIMEStatMap timeStatMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00074">SVFStat.h:74</a></div></div>
130
- <div class="ttc" id="classSVF_1_1DDAStat_html_a5c007645d73bfc5cfefef672f3c1dcf1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">SVF::DDAStat::_NumOfStrongUpdates</a></div><div class="ttdeci">u32_t _NumOfStrongUpdates</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00033">DDAStat.h:33</a></div></div>
131
- <div class="ttc" id="classSVF_1_1DDAStat_html_a057c651a89d1dba04102bfc08ce7d372"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a057c651a89d1dba04102bfc08ce7d372">SVF::DDAStat::_vmrssUsageBefore</a></div><div class="ttdeci">u32_t _vmrssUsageBefore</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00091">DDAStat.h:91</a></div></div>
132
- <div class="ttc" id="classSVF_1_1DDAStat_html_af3f359ca7c620695b124573377bda407"><div class="ttname"><a href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">SVF::DDAStat::_NumOfBlackholePtr</a></div><div class="ttdeci">u32_t _NumOfBlackholePtr</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00089">DDAStat.h:89</a></div></div>
133
- <div class="ttc" id="classSVF_1_1DDAStat_html_a519cde27934fec9bbe28b4110948a418"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418">SVF::DDAStat::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00068">DDAStat.cpp:68</a></div></div>
130
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a5c007645d73bfc5cfefef672f3c1dcf1"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5c007645d73bfc5cfefef672f3c1dcf1">SVF::DDAStat::_NumOfStrongUpdates</a></div><div class="ttdeci">u32_t _NumOfStrongUpdates</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00055">DDAStat.h:55</a></div></div>
131
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a057c651a89d1dba04102bfc08ce7d372"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a057c651a89d1dba04102bfc08ce7d372">SVF::DDAStat::_vmrssUsageBefore</a></div><div class="ttdeci">u32_t _vmrssUsageBefore</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00113">DDAStat.h:113</a></div></div>
132
+ <div class="ttc" id="classSVF_1_1DDAStat_html_af3f359ca7c620695b124573377bda407"><div class="ttname"><a href="classSVF_1_1DDAStat.html#af3f359ca7c620695b124573377bda407">SVF::DDAStat::_NumOfBlackholePtr</a></div><div class="ttdeci">u32_t _NumOfBlackholePtr</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00111">DDAStat.h:111</a></div></div>
133
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a519cde27934fec9bbe28b4110948a418"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a519cde27934fec9bbe28b4110948a418">SVF::DDAStat::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00090">DDAStat.cpp:90</a></div></div>
134
134
  <div class="ttc" id="classSVF_1_1PTAStat_html"><div class="ttname"><a href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00048">PTAStat.h:48</a></div></div>
135
135
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
136
136
  <div class="ttc" id="classSVF_1_1ContextCond_html_a7d89351906ef4dff9adb1196f45bc9be"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a7d89351906ef4dff9adb1196f45bc9be">SVF::ContextCond::maximumPath</a></div><div class="ttdeci">static u32_t maximumPath</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00379">DPItem.h:379</a></div></div>
137
- <div class="ttc" id="classSVF_1_1DDAStat_html_a0aec64ca944ea4f914a6fa799b7a8b38"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">SVF::DDAStat::_NumOfMustAliases</a></div><div class="ttdeci">u32_t _NumOfMustAliases</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00034">DDAStat.h:34</a></div></div>
138
- <div class="ttc" id="classSVF_1_1DDAStat_html_acab872c897c747157bb81f324bbab323"><div class="ttname"><a href="classSVF_1_1DDAStat.html#acab872c897c747157bb81f324bbab323">SVF::DDAStat::_vmsizeUsageBefore</a></div><div class="ttdeci">u32_t _vmsizeUsageBefore</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00093">DDAStat.h:93</a></div></div>
139
- <div class="ttc" id="classSVF_1_1DDAStat_html_a5106639ea8a0d8ca38c2b1e11de9f183"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">SVF::DDAStat::_TotalNumOfDPM</a></div><div class="ttdeci">u32_t _TotalNumOfDPM</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00074">DDAStat.h:74</a></div></div>
137
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a0aec64ca944ea4f914a6fa799b7a8b38"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a0aec64ca944ea4f914a6fa799b7a8b38">SVF::DDAStat::_NumOfMustAliases</a></div><div class="ttdeci">u32_t _NumOfMustAliases</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00056">DDAStat.h:56</a></div></div>
138
+ <div class="ttc" id="classSVF_1_1DDAStat_html_acab872c897c747157bb81f324bbab323"><div class="ttname"><a href="classSVF_1_1DDAStat.html#acab872c897c747157bb81f324bbab323">SVF::DDAStat::_vmsizeUsageBefore</a></div><div class="ttdeci">u32_t _vmsizeUsageBefore</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00115">DDAStat.h:115</a></div></div>
139
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a5106639ea8a0d8ca38c2b1e11de9f183"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a5106639ea8a0d8ca38c2b1e11de9f183">SVF::DDAStat::_TotalNumOfDPM</a></div><div class="ttdeci">u32_t _TotalNumOfDPM</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00096">DDAStat.h:96</a></div></div>
140
140
  <div class="ttc" id="classSVF_1_1ContextCond_html"><div class="ttname"><a href="classSVF_1_1ContextCond.html">SVF::ContextCond</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00206">DPItem.h:206</a></div></div>
141
141
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad2c8654a6672472f9bf17681aa9b60bb"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">SVF::PointerAnalysis::getNumOfResolvedIndCallEdge</a></div><div class="ttdeci">u32_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#l00169">PointerAnalysis.h:169</a></div></div>
142
- <div class="ttc" id="classSVF_1_1DDAVFSolver_html_aef98e8e9144a69bb7481fef5d2dcb303"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aef98e8e9144a69bb7481fef5d2dcb303">SVF::DDAVFSolver&lt; NodeID, PointsTo, LocDPItem &gt;::ConstSVFGEdgeSet</a></div><div class="ttdeci">OrderedSet&lt; const SVFGEdge * &gt; ConstSVFGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00038">DDAVFSolver.h:38</a></div></div>
142
+ <div class="ttc" id="classSVF_1_1DDAVFSolver_html_aef98e8e9144a69bb7481fef5d2dcb303"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aef98e8e9144a69bb7481fef5d2dcb303">SVF::DDAVFSolver&lt; NodeID, PointsTo, LocDPItem &gt;::ConstSVFGEdgeSet</a></div><div class="ttdeci">OrderedSet&lt; const SVFGEdge * &gt; ConstSVFGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00060">DDAVFSolver.h:60</a></div></div>
143
143
  <div class="ttc" id="classSVF_1_1PTAStat_html_af2eb88d1563be9e6290a5fc69bec3bbe"><div class="ttname"><a href="classSVF_1_1PTAStat.html#af2eb88d1563be9e6290a5fc69bec3bbe">SVF::PTAStat::callgraphStat</a></div><div class="ttdeci">void callgraphStat() override</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00217">PTAStat.cpp:217</a></div></div>
144
- <div class="ttc" id="classSVF_1_1DDAStat_html_a2b788792447d4bccceff2426b45a21b2"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">SVF::DDAStat::_AnaTimePerQuery</a></div><div class="ttdeci">double _AnaTimePerQuery</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00039">DDAStat.h:39</a></div></div>
144
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a2b788792447d4bccceff2426b45a21b2"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a2b788792447d4bccceff2426b45a21b2">SVF::DDAStat::_AnaTimePerQuery</a></div><div class="ttdeci">double _AnaTimePerQuery</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00061">DDAStat.h:61</a></div></div>
145
145
  <div class="ttc" id="classSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
146
146
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
147
147
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVF::SVFStmt::Store</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
148
- <div class="ttc" id="classSVF_1_1DDAStat_html_a967b0def2602a596538973703ffaad5d"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">SVF::DDAStat::_NumOfConstantPtr</a></div><div class="ttdeci">u32_t _NumOfConstantPtr</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00088">DDAStat.h:88</a></div></div>
149
- <div class="ttc" id="classSVF_1_1DDAStat_html_a0a5f8453f5347087d0f208101119a172"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">SVF::DDAStat::_TotalNumOfStep</a></div><div class="ttdeci">u32_t _TotalNumOfStep</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00079">DDAStat.h:79</a></div></div>
150
- <div class="ttc" id="classSVF_1_1DDAVFSolver_html_acb7980c7e0d1d8ad6abab0b80831d2a9"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">SVF::DDAVFSolver::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdoc">Return SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00096">DDAVFSolver.h:96</a></div></div>
148
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a967b0def2602a596538973703ffaad5d"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a967b0def2602a596538973703ffaad5d">SVF::DDAStat::_NumOfConstantPtr</a></div><div class="ttdeci">u32_t _NumOfConstantPtr</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00110">DDAStat.h:110</a></div></div>
149
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a0a5f8453f5347087d0f208101119a172"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a0a5f8453f5347087d0f208101119a172">SVF::DDAStat::_TotalNumOfStep</a></div><div class="ttdeci">u32_t _TotalNumOfStep</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00101">DDAStat.h:101</a></div></div>
150
+ <div class="ttc" id="classSVF_1_1DDAVFSolver_html_acb7980c7e0d1d8ad6abab0b80831d2a9"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">SVF::DDAVFSolver::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdoc">Return SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00118">DDAVFSolver.h:118</a></div></div>
151
151
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00745">SparseBitVector.h:745</a></div></div>
152
- <div class="ttc" id="classSVF_1_1ContextDDA_html"><div class="ttname"><a href="classSVF_1_1ContextDDA.html">SVF::ContextDDA</a></div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00025">ContextDDA.h:25</a></div></div>
153
- <div class="ttc" id="classSVF_1_1DDAStat_html_ae9ab20769220af396b72de5ae873f865"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ae9ab20769220af396b72de5ae873f865">SVF::DDAStat::_vmrssUsageAfter</a></div><div class="ttdeci">u32_t _vmrssUsageAfter</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00092">DDAStat.h:92</a></div></div>
154
- <div class="ttc" id="classSVF_1_1DDAStat_html_adfe649818cc19a9cd432ae25aa80018d"><div class="ttname"><a href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">SVF::DDAStat::_NumOfIndCallEdgeSolved</a></div><div class="ttdeci">u32_t _NumOfIndCallEdgeSolved</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00082">DDAStat.h:82</a></div></div>
152
+ <div class="ttc" id="classSVF_1_1ContextDDA_html"><div class="ttname"><a href="classSVF_1_1ContextDDA.html">SVF::ContextDDA</a></div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00054">ContextDDA.h:54</a></div></div>
153
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ae9ab20769220af396b72de5ae873f865"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ae9ab20769220af396b72de5ae873f865">SVF::DDAStat::_vmrssUsageAfter</a></div><div class="ttdeci">u32_t _vmrssUsageAfter</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00114">DDAStat.h:114</a></div></div>
154
+ <div class="ttc" id="classSVF_1_1DDAStat_html_adfe649818cc19a9cd432ae25aa80018d"><div class="ttname"><a href="classSVF_1_1DDAStat.html#adfe649818cc19a9cd432ae25aa80018d">SVF::DDAStat::_NumOfIndCallEdgeSolved</a></div><div class="ttdeci">u32_t _NumOfIndCallEdgeSolved</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00104">DDAStat.h:104</a></div></div>
155
155
  <div class="ttc" id="classSVF_1_1PTAStat_html_a608441b95be0861d8c1b0a035281f4d5"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a608441b95be0861d8c1b0a035281f4d5">SVF::PTAStat::pta</a></div><div class="ttdeci">PointerAnalysis * pta</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00138">PTAStat.h:138</a></div></div>
156
- <div class="ttc" id="classSVF_1_1DDAStat_html_aaa9a3e110cb291530154e733428cd904"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">SVF::DDAStat::_NumOfNullPtr</a></div><div class="ttdeci">u32_t _NumOfNullPtr</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00087">DDAStat.h:87</a></div></div>
156
+ <div class="ttc" id="classSVF_1_1DDAStat_html_aaa9a3e110cb291530154e733428cd904"><div class="ttname"><a href="classSVF_1_1DDAStat.html#aaa9a3e110cb291530154e733428cd904">SVF::DDAStat::_NumOfNullPtr</a></div><div class="ttdeci">u32_t _NumOfNullPtr</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00109">DDAStat.h:109</a></div></div>
157
157
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
158
- <div class="ttc" id="classSVF_1_1DDAStat_html_a1f72d0026a7ab26aa8ac857e658c1015"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">SVF::DDAStat::_TotalNumOfOutOfBudgetQuery</a></div><div class="ttdeci">u32_t _TotalNumOfOutOfBudgetQuery</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00073">DDAStat.h:73</a></div></div>
158
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a1f72d0026a7ab26aa8ac857e658c1015"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a1f72d0026a7ab26aa8ac857e658c1015">SVF::DDAStat::_TotalNumOfOutOfBudgetQuery</a></div><div class="ttdeci">u32_t _TotalNumOfOutOfBudgetQuery</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00095">DDAStat.h:95</a></div></div>
159
159
  <div class="ttc" id="classSVF_1_1PTAStat_html_afdb975520329be0c33cc7bdd51ba7031"><div class="ttname"><a href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">SVF::PTAStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00123">PTAStat.h:123</a></div></div>
160
160
  <div class="ttc" id="classSVF_1_1PTAStat_html_a5b4095f427c9c7b9ec0db497ba33baea"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a5b4095f427c9c7b9ec0db497ba33baea">SVF::PTAStat::localVarInRecursion</a></div><div class="ttdeci">NodeBS localVarInRecursion</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00124">PTAStat.h:124</a></div></div>
161
- <div class="ttc" id="classSVF_1_1DDAStat_html_acca22153ac81b5e37734c9786856e605"><div class="ttname"><a href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">SVF::DDAStat::_TotalNumOfStepInCycle</a></div><div class="ttdeci">u32_t _TotalNumOfStepInCycle</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00080">DDAStat.h:80</a></div></div>
162
- <div class="ttc" id="classSVF_1_1DDAStat_html_a55fa3ce574d128a89c1aa5f6a7dc17c6"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">SVF::DDAStat::getPTA</a></div><div class="ttdeci">PointerAnalysis * getPTA() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00077">DDAStat.cpp:77</a></div></div>
161
+ <div class="ttc" id="classSVF_1_1DDAStat_html_acca22153ac81b5e37734c9786856e605"><div class="ttname"><a href="classSVF_1_1DDAStat.html#acca22153ac81b5e37734c9786856e605">SVF::DDAStat::_TotalNumOfStepInCycle</a></div><div class="ttdeci">u32_t _TotalNumOfStepInCycle</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00102">DDAStat.h:102</a></div></div>
162
+ <div class="ttc" id="classSVF_1_1DDAStat_html_a55fa3ce574d128a89c1aa5f6a7dc17c6"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a55fa3ce574d128a89c1aa5f6a7dc17c6">SVF::DDAStat::getPTA</a></div><div class="ttdeci">PointerAnalysis * getPTA() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00099">DDAStat.cpp:99</a></div></div>
163
163
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00057">PointerAnalysis.h:57</a></div></div>
164
- <div class="ttc" id="classSVF_1_1DDAStat_html_ae6fd32471e0b9bf51233a36676658b49"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49">SVF::DDAStat::printStat</a></div><div class="ttdeci">void printStat(std::string str=&quot;&quot;) override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00276">DDAStat.cpp:276</a></div></div>
164
+ <div class="ttc" id="classSVF_1_1DDAStat_html_ae6fd32471e0b9bf51233a36676658b49"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49">SVF::DDAStat::printStat</a></div><div class="ttdeci">void printStat(std::string str=&quot;&quot;) override</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8cpp_source.html#l00298">DDAStat.cpp:298</a></div></div>
165
165
  </div><!-- fragment --></div><!-- contents -->
166
166
  <!-- start footer part -->
167
167
  <hr class="footer"/><address class="footer"><small>