svf-tools 1.0.320 → 1.0.324

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