svf-tools 1.0.283 → 1.0.287

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 (483) hide show
  1. package/Dockerfile +8 -5
  2. package/LICENSE.TXT +6 -4
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  7. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
  8. package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
  9. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/ConditionalPT_8h.html +2 -0
  11. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +57 -54
  12. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  15. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
  16. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  19. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
  20. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -3
  21. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +15 -15
  24. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +51 -51
  25. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  26. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
  28. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  29. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +7 -7
  30. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +5 -5
  31. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +3 -3
  32. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +5 -5
  34. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
  37. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  38. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +4 -4
  39. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +7 -7
  41. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/LocationSet_8h_source.html +3 -3
  43. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  44. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -7
  45. package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -3
  46. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
  47. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  49. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
  50. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +5 -5
  51. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
  52. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
  54. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +15 -15
  55. package/SVF-doxygen/html/html/MemPartition_8h_source.html +11 -11
  56. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +103 -34
  57. package/SVF-doxygen/html/html/MemRegion_8h.html +3 -3
  58. package/SVF-doxygen/html/html/MemRegion_8h_source.html +97 -109
  59. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +43 -42
  60. package/SVF-doxygen/html/html/MemSSA_8h_source.html +46 -47
  61. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +3 -3
  62. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +5 -5
  63. package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
  64. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  65. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  66. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +29 -29
  68. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
  69. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +2 -2
  70. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +19 -21
  71. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +81 -81
  72. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
  73. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  74. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +8 -8
  75. package/SVF-doxygen/html/html/SVFGBuilder_8h.html +2 -1
  76. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +20 -19
  77. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +7 -7
  78. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +6 -6
  79. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +8 -8
  80. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +4 -5
  81. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +22 -23
  82. package/SVF-doxygen/html/html/SVFG_8cpp.html +1 -0
  83. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +49 -48
  84. package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -14
  85. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  86. package/SVF-doxygen/html/html/SVFUtil_8cpp.html +9 -8
  87. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +34 -33
  88. package/SVF-doxygen/html/html/SVFUtil_8h.html +14 -2
  89. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +43 -36
  90. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  91. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp.html +1 -0
  92. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +13 -13
  93. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +13 -13
  94. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  95. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
  96. package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
  97. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
  98. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +4 -4
  99. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  100. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
  101. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
  102. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +5 -5
  104. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  105. package/SVF-doxygen/html/html/annotated.html +30 -29
  106. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +2 -2
  107. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +12 -12
  108. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +2 -2
  109. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +11 -11
  110. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +58 -59
  114. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +19 -22
  115. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +48 -49
  116. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -12
  117. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +60 -61
  118. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +2 -5
  119. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +63 -64
  120. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +2 -5
  121. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +59 -60
  122. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -5
  123. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +63 -64
  124. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -8
  125. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +67 -68
  126. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -5
  127. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  128. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +58 -59
  129. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -5
  130. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +64 -65
  131. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +4 -7
  132. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +135 -138
  135. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  137. package/SVF-doxygen/html/html/classSVF_1_1BranchCondManager.html +2 -2
  138. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  139. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
  141. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  142. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +7 -7
  144. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
  145. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  148. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
  149. package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet.html +116 -116
  150. package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet_1_1CondPtsSetIterator.html +35 -35
  151. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet-members.html +27 -26
  152. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +56 -21
  153. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +10 -10
  154. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  161. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +63 -62
  163. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +94 -92
  164. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  165. package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
  166. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +65 -66
  169. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +27 -30
  170. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +4 -4
  171. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +51 -52
  172. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -13
  173. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +62 -63
  174. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +38 -43
  175. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +7 -7
  176. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +74 -75
  177. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +19 -22
  178. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +2 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +10 -10
  180. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +2 -2
  181. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +11 -11
  182. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
  185. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  188. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +7 -7
  189. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +7 -7
  190. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
  192. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +3 -3
  193. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +22 -22
  194. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +71 -70
  195. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +88 -86
  196. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
  197. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +8 -8
  198. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +71 -70
  201. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +126 -124
  202. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +2 -2
  203. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +7 -7
  204. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +2 -2
  205. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +8 -8
  206. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +13 -13
  208. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
  209. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +11 -11
  213. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +3 -3
  214. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
  215. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +5 -5
  216. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +76 -75
  217. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +515 -506
  218. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode-members.html +2 -2
  219. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +14 -14
  220. package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
  221. package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode-members.html +2 -2
  225. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +12 -12
  226. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  227. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  228. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -14
  229. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +120 -118
  230. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +3 -3
  232. package/SVF-doxygen/html/html/classSVF_1_1MemRegion-members.html +9 -10
  233. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +38 -56
  234. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +132 -132
  236. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +5 -5
  237. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +21 -21
  238. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +6 -6
  243. package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +1 -1
  244. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  245. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  246. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  248. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
  250. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +4 -4
  251. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  252. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +9 -9
  253. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +28 -27
  254. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +144 -111
  255. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +22 -22
  256. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +1 -1
  257. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +5 -5
  258. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +2 -2
  260. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +7 -7
  261. package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  264. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +4 -4
  265. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +70 -70
  266. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +37 -37
  267. package/SVF-doxygen/html/html/classSVF_1_1SVFGNodeLockSpan.html +23 -23
  268. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +6 -6
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +52 -52
  270. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +2 -2
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  273. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +3 -3
  274. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +58 -58
  275. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  276. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +52 -53
  277. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +6 -9
  278. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
  279. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
  280. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  282. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  283. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
  286. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
  287. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +2 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +7 -7
  289. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +51 -52
  290. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -6
  291. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +10 -10
  292. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  293. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  294. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +2 -2
  295. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +82 -83
  298. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +14 -17
  299. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  300. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +7 -7
  301. package/SVF-doxygen/html/html/classes.html +93 -92
  302. package/SVF-doxygen/html/html/dir_63dba4c559aa5986900c35e27974bafc.html +83 -0
  303. package/SVF-doxygen/html/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html +2 -0
  304. package/SVF-doxygen/html/html/dir_d1b325ac671111a54e189ae033ba710d.html +87 -0
  305. package/SVF-doxygen/html/html/dir_d44c64559bbebec7f509842c48db8b23.html +2 -0
  306. package/SVF-doxygen/html/html/fastcluster_8cpp.html +263 -0
  307. package/SVF-doxygen/html/html/fastcluster_8cpp_source.html +88 -0
  308. package/SVF-doxygen/html/html/fastcluster_8h.html +278 -0
  309. package/SVF-doxygen/html/html/fastcluster_8h_source.html +86 -0
  310. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc.html +79 -0
  311. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +77 -0
  312. package/SVF-doxygen/html/html/fastcluster__dm_8cpp_8inc.html +89 -0
  313. package/SVF-doxygen/html/html/fastcluster__dm_8cpp_8inc_source.html +80 -0
  314. package/SVF-doxygen/html/html/files.html +220 -214
  315. package/SVF-doxygen/html/html/functions_a.html +11 -11
  316. package/SVF-doxygen/html/html/functions_c.html +35 -30
  317. package/SVF-doxygen/html/html/functions_e.html +4 -7
  318. package/SVF-doxygen/html/html/functions_f.html +17 -14
  319. package/SVF-doxygen/html/html/functions_func.html +11 -11
  320. package/SVF-doxygen/html/html/functions_func_c.html +25 -22
  321. package/SVF-doxygen/html/html/functions_func_g.html +35 -32
  322. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  323. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  324. package/SVF-doxygen/html/html/functions_func_m.html +2 -2
  325. package/SVF-doxygen/html/html/functions_func_o.html +5 -4
  326. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  327. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  328. package/SVF-doxygen/html/html/functions_g.html +33 -30
  329. package/SVF-doxygen/html/html/functions_h.html +1 -1
  330. package/SVF-doxygen/html/html/functions_i.html +5 -5
  331. package/SVF-doxygen/html/html/functions_l.html +1 -1
  332. package/SVF-doxygen/html/html/functions_m.html +2 -2
  333. package/SVF-doxygen/html/html/functions_n.html +1 -1
  334. package/SVF-doxygen/html/html/functions_o.html +12 -13
  335. package/SVF-doxygen/html/html/functions_p.html +17 -15
  336. package/SVF-doxygen/html/html/functions_r.html +1 -1
  337. package/SVF-doxygen/html/html/functions_s.html +10 -12
  338. package/SVF-doxygen/html/html/functions_t.html +3 -3
  339. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  340. package/SVF-doxygen/html/html/functions_type_e.html +0 -3
  341. package/SVF-doxygen/html/html/functions_type_f.html +4 -1
  342. package/SVF-doxygen/html/html/functions_type_l.html +1 -1
  343. package/SVF-doxygen/html/html/functions_type_n.html +1 -1
  344. package/SVF-doxygen/html/html/functions_type_p.html +3 -3
  345. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  346. package/SVF-doxygen/html/html/functions_u.html +3 -3
  347. package/SVF-doxygen/html/html/functions_v.html +3 -3
  348. package/SVF-doxygen/html/html/functions_vars_c.html +7 -7
  349. package/SVF-doxygen/html/html/functions_vars_f.html +3 -3
  350. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  351. package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
  352. package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
  353. package/SVF-doxygen/html/html/globals_c.html +82 -74
  354. package/SVF-doxygen/html/html/globals_enum.html +3 -0
  355. package/SVF-doxygen/html/html/globals_eval.html +19 -0
  356. package/SVF-doxygen/html/html/globals_f.html +6 -3
  357. package/SVF-doxygen/html/html/globals_func_c.html +46 -38
  358. package/SVF-doxygen/html/html/globals_func_f.html +3 -0
  359. package/SVF-doxygen/html/html/globals_func_h.html +4 -0
  360. package/SVF-doxygen/html/html/globals_h.html +22 -0
  361. package/SVF-doxygen/html/html/globals_r.html +3 -3
  362. package/SVF-doxygen/html/html/globals_s.html +4 -6
  363. package/SVF-doxygen/html/html/hierarchy.html +167 -166
  364. package/SVF-doxygen/html/html/menudata.js +2 -0
  365. package/SVF-doxygen/html/html/namespaceSVF.html +3 -3
  366. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +250 -122
  367. package/SVF-doxygen/html/html/namespacemembers_c.html +3 -0
  368. package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
  369. package/SVF-doxygen/html/html/namespacemembers_func.html +23 -10
  370. package/SVF-doxygen/html/html/namespacemembers_m.html +3 -0
  371. package/SVF-doxygen/html/html/namespacemembers_p.html +4 -1
  372. package/SVF-doxygen/html/html/namespacemembers_type_e.html +3 -0
  373. package/SVF-doxygen/html/html/namespacemembers_type_p.html +1 -1
  374. package/SVF-doxygen/html/html/search/all_1.js +11 -11
  375. package/SVF-doxygen/html/html/search/all_10.js +12 -11
  376. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  377. package/SVF-doxygen/html/html/search/all_13.js +12 -12
  378. package/SVF-doxygen/html/html/search/all_14.js +3 -3
  379. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  380. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  381. package/SVF-doxygen/html/html/search/all_3.js +17 -13
  382. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  383. package/SVF-doxygen/html/html/search/all_6.js +11 -5
  384. package/SVF-doxygen/html/html/search/all_7.js +15 -14
  385. package/SVF-doxygen/html/html/search/all_8.js +9 -1
  386. package/SVF-doxygen/html/html/search/all_9.js +3 -3
  387. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  388. package/SVF-doxygen/html/html/search/all_d.js +6 -5
  389. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  390. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  391. package/SVF-doxygen/html/html/search/classes_4.js +2 -1
  392. package/SVF-doxygen/html/html/search/classes_7.js +1 -0
  393. package/SVF-doxygen/html/html/search/enums_4.js +1 -2
  394. package/SVF-doxygen/html/html/search/enums_5.js +2 -2
  395. package/SVF-doxygen/html/html/search/enums_6.js +2 -3
  396. package/SVF-doxygen/html/html/search/enums_7.js +3 -6
  397. package/SVF-doxygen/html/html/search/enums_8.js +6 -1
  398. package/SVF-doxygen/html/html/search/enums_9.js +1 -5
  399. package/SVF-doxygen/html/html/search/enums_a.js +5 -1
  400. package/SVF-doxygen/html/html/search/enums_b.js +1 -4
  401. package/SVF-doxygen/html/html/search/enums_c.html +26 -0
  402. package/SVF-doxygen/html/html/search/enums_c.js +7 -0
  403. package/SVF-doxygen/html/html/search/enumvalues_7.js +5 -0
  404. package/SVF-doxygen/html/html/search/files_5.js +4 -0
  405. package/SVF-doxygen/html/html/search/functions_0.js +11 -11
  406. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  407. package/SVF-doxygen/html/html/search/functions_2.js +10 -6
  408. package/SVF-doxygen/html/html/search/functions_5.js +1 -0
  409. package/SVF-doxygen/html/html/search/functions_6.js +14 -13
  410. package/SVF-doxygen/html/html/search/functions_7.js +2 -1
  411. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  412. package/SVF-doxygen/html/html/search/functions_b.js +3 -2
  413. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  414. package/SVF-doxygen/html/html/search/functions_e.js +2 -1
  415. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  416. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  417. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  418. package/SVF-doxygen/html/html/search/typedefs_4.js +2 -1
  419. package/SVF-doxygen/html/html/search/typedefs_5.js +2 -1
  420. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
  421. package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
  422. package/SVF-doxygen/html/html/search/typedefs_f.js +3 -3
  423. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  424. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  425. package/SVF-doxygen/html/html/search/variables_3.js +6 -6
  426. package/SVF-doxygen/html/html/search/variables_6.js +3 -3
  427. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  428. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  429. package/SVF-doxygen/html/html/search/variables_d.js +2 -2
  430. package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
  431. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS-members.html +81 -0
  432. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS.html +134 -0
  433. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalPointsTo.html +3 -3
  434. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  435. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  436. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +1 -1
  437. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4-members.html +81 -0
  438. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +131 -0
  439. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondVar_3_01Cond_01_4_01_4.html +3 -3
  440. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
  441. package/SVF-doxygen/html/html/structstd_1_1hash_3_01const_01SVF_1_1CondVar_3_01Cond_01_4_01_4.html +3 -3
  442. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  443. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  444. package/include/DDA/DDAVFSolver.h +1 -1
  445. package/include/FastCluster/LICENSE.TXT +13 -0
  446. package/include/FastCluster/fastcluster.h +79 -0
  447. package/include/Graphs/SVFG.h +4 -4
  448. package/include/Graphs/SVFGEdge.h +3 -3
  449. package/include/Graphs/SVFGNode.h +2 -2
  450. package/include/Graphs/SVFGOPT.h +4 -4
  451. package/include/MSSA/MemPartition.h +10 -10
  452. package/include/MSSA/MemRegion.h +40 -64
  453. package/include/MSSA/MemSSA.h +1 -4
  454. package/include/MSSA/SVFGBuilder.h +1 -0
  455. package/include/MTA/FSMPTA.h +1 -0
  456. package/include/MemoryModel/ConditionalPT.h +21 -5
  457. package/include/MemoryModel/LocationSet.h +3 -3
  458. package/include/MemoryModel/PersistentPointsToCache.h +19 -8
  459. package/include/MemoryModel/PointerAnalysisImpl.h +3 -4
  460. package/include/SABER/SaberSVFGBuilder.h +3 -3
  461. package/include/Util/SVFUtil.h +44 -1
  462. package/lib/CMakeLists.txt +4 -1
  463. package/lib/FastCluster/LICENSE.TXT +13 -0
  464. package/lib/FastCluster/fastcluster.cpp +170 -0
  465. package/lib/FastCluster/fastcluster_R_dm.cpp.inc +115 -0
  466. package/lib/FastCluster/fastcluster_dm.cpp.inc +1795 -0
  467. package/lib/Graphs/SVFG.cpp +12 -12
  468. package/lib/Graphs/SVFGOPT.cpp +6 -6
  469. package/lib/Graphs/SVFGStat.cpp +1 -1
  470. package/lib/Graphs/ThreadCallGraph.cpp +4 -4
  471. package/lib/MSSA/MemPartition.cpp +31 -31
  472. package/lib/MSSA/MemRegion.cpp +59 -35
  473. package/lib/MSSA/MemSSA.cpp +5 -0
  474. package/lib/MTA/FSMPTA.cpp +7 -7
  475. package/lib/MemoryModel/LocationSet.cpp +2 -2
  476. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  477. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -4
  478. package/lib/SABER/SaberSVFGBuilder.cpp +2 -1
  479. package/lib/Util/SVFUtil.cpp +3 -2
  480. package/lib/WPA/FlowSensitive.cpp +2 -2
  481. package/lib/WPA/FlowSensitiveTBHC.cpp +2 -2
  482. package/lib/WPA/VersionedFlowSensitive.cpp +1 -1
  483. package/package.json +1 -1
@@ -141,12 +141,12 @@ void MTASVFGBuilder::performRemovingMHPEdges()
141
141
  if (edge->isIndirectVFGEdge() && (edge->getDstNode()==n2))
142
142
  {
143
143
  IndirectSVFGEdge* e = SVFUtil::cast<IndirectSVFGEdge>(edge);
144
- const PointsTo& pts = e->getPointsTo();
145
- for (NodeBS::iterator o = remove_pts.begin(), eo = remove_pts.end(); o != eo; ++o)
144
+ const NodeBS& pts = e->getPointsTo();
145
+ for (PointsTo::iterator o = remove_pts.begin(), eo = remove_pts.end(); o != eo; ++o)
146
146
  {
147
- if (const_cast<PointsTo&>(pts).test(*o))
147
+ if (const_cast<NodeBS&>(pts).test(*o))
148
148
  {
149
- const_cast<PointsTo&>(pts).reset(*o);
149
+ const_cast<NodeBS&>(pts).reset(*o);
150
150
  MTASVFGBuilder::numOfRemovedPTS ++;
151
151
  }
152
152
  }
@@ -406,7 +406,7 @@ MTASVFGBuilder::SVFGNodeIDSet MTASVFGBuilder::getSuccNodes(const StmtSVFGNode* n
406
406
  if (edge->isIndirectVFGEdge())
407
407
  {
408
408
  IndirectSVFGEdge* e = SVFUtil::cast<IndirectSVFGEdge>(edge);
409
- PointsTo pts = e->getPointsTo();
409
+ NodeBS pts = e->getPointsTo();
410
410
  if(pts.test(o))
411
411
  worklist.insert(edge->getDstNode());
412
412
  }
@@ -427,7 +427,7 @@ MTASVFGBuilder::SVFGNodeIDSet MTASVFGBuilder::getSuccNodes(const StmtSVFGNode* n
427
427
  if (edge->isIndirectVFGEdge() && visited.find(edge->getDstNode()) == visited.end())
428
428
  {
429
429
  IndirectSVFGEdge* e = SVFUtil::cast<IndirectSVFGEdge>(edge);
430
- PointsTo pts = e->getPointsTo();
430
+ NodeBS pts = e->getPointsTo();
431
431
  if(pts.test(o))
432
432
  worklist.insert(edge->getDstNode());
433
433
  }
@@ -649,7 +649,7 @@ void MTASVFGBuilder::readPrecision()
649
649
  const StmtSVFGNode* n2 = SVFUtil::cast<StmtSVFGNode>(edge->getSrcNode());
650
650
 
651
651
  IndirectSVFGEdge* e = SVFUtil::cast<IndirectSVFGEdge>(edge);
652
- PointsTo pts = e->getPointsTo();
652
+ NodeBS pts = e->getPointsTo();
653
653
  PointsTo remove_pts;
654
654
 
655
655
  for (NodeBS::iterator o = pts.begin(), eo = pts.end(); o != eo; ++o)
@@ -113,10 +113,10 @@ bool LocationSet::increaseIfNotReachUpperBound(std::vector<NodeID>& indices,
113
113
  /*!
114
114
  * Compute all possible locations according to offset and number-stride pairs.
115
115
  */
116
- PointsTo LocationSet::computeAllLocations() const
116
+ NodeBS LocationSet::computeAllLocations() const
117
117
  {
118
118
 
119
- PointsTo result;
119
+ NodeBS result;
120
120
  result.set(getOffset());
121
121
 
122
122
  if (isConstantOffset() == false)
@@ -345,7 +345,7 @@ void PointerAnalysis::dumpPts(NodeID ptr, const PointsTo& pts)
345
345
 
346
346
  outs() << "";
347
347
 
348
- for (NodeBS::iterator it = pts.begin(), eit = pts.end(); it != eit; ++it)
348
+ for (PointsTo::iterator it = pts.begin(), eit = pts.end(); it != eit; ++it)
349
349
  {
350
350
  const PAGNode* node = pag->getPAGNode(*it);
351
351
  if(SVFUtil::isa<ObjPN>(node) == false)
@@ -6,7 +6,6 @@
6
6
  */
7
7
 
8
8
 
9
- #include "Util/Options.h"
10
9
  #include "MemoryModel/PointerAnalysisImpl.h"
11
10
  #include "SVF-FE/CPPUtil.h"
12
11
  #include "SVF-FE/DCHG.h"
@@ -20,13 +19,11 @@ using namespace SVFUtil;
20
19
  using namespace cppUtil;
21
20
  using namespace std;
22
21
 
23
- PersistentPointsToCache<PointsTo> BVDataPTAImpl::ptCache = PersistentPointsToCache<PointsTo>(PointsTo());
24
-
25
22
  /*!
26
23
  * Constructor
27
24
  */
28
25
  BVDataPTAImpl::BVDataPTAImpl(PAG* p, PointerAnalysis::PTATY type, bool alias_check) :
29
- PointerAnalysis(p, type, alias_check)
26
+ PointerAnalysis(p, type, alias_check), ptCache()
30
27
  {
31
28
  if (type == Andersen_BASE || type == Andersen_WPA || type == AndersenWaveDiff_WPA || type == AndersenHCD_WPA || type == AndersenHLCD_WPA
32
29
  || type == AndersenLCD_WPA || type == TypeCPP_WPA || type == FlowS_DDA || type == AndersenWaveDiffWithType_WPA
@@ -29,6 +29,7 @@
29
29
 
30
30
  #include "SABER/SaberSVFGBuilder.h"
31
31
  #include "SABER/SaberCheckerAPI.h"
32
+ #include "MemoryModel/PointerAnalysisImpl.h"
32
33
  #include "Graphs/SVFG.h"
33
34
 
34
35
  using namespace SVF;
@@ -97,7 +98,7 @@ void SaberSVFGBuilder::collectGlobals(BVDataPTAImpl* pta)
97
98
  }
98
99
  }
99
100
 
100
- NodeBS& SaberSVFGBuilder::CollectPtsChain(BVDataPTAImpl* pta,NodeID id, NodeToPTSSMap& cachedPtsMap)
101
+ PointsTo& SaberSVFGBuilder::CollectPtsChain(BVDataPTAImpl* pta,NodeID id, NodeToPTSSMap& cachedPtsMap)
101
102
  {
102
103
  PAG* pag = svfg->getPAG();
103
104
 
@@ -31,6 +31,8 @@
31
31
  #include "Util/SVFUtil.h"
32
32
  #include "SVF-FE/LLVMUtil.h"
33
33
 
34
+ #include "Util/Conditions.h"
35
+
34
36
  #include <sys/resource.h> /// increase stack size
35
37
 
36
38
  using namespace SVF;
@@ -125,7 +127,7 @@ void SVFUtil::dumpPointsToList(const PointsToList& ptl)
125
127
  ii != ie; ii++)
126
128
  {
127
129
  auto bs = *ii;
128
- dumpSparseSet(bs);
130
+ dumpSet(bs);
129
131
  }
130
132
  outs() << "}\n";
131
133
  }
@@ -351,7 +353,6 @@ std::string SVFUtil::getSourceLoc(const Value* val)
351
353
  return rawstr.str();
352
354
  }
353
355
 
354
-
355
356
  /*!
356
357
  * return string of an LLVM Value
357
358
  */
@@ -326,7 +326,7 @@ bool FlowSensitive::propAlongIndirectEdge(const IndirectSVFGEdge* edge)
326
326
 
327
327
  // Get points-to targets may be used by next SVFG node.
328
328
  // Propagate points-to set for node used in dst.
329
- const PointsTo& pts = edge->getPointsTo();
329
+ const NodeBS& pts = edge->getPointsTo();
330
330
  for (PointsTo::iterator ptdIt = pts.begin(), ptdEit = pts.end(); ptdIt != ptdEit; ++ptdIt)
331
331
  {
332
332
  NodeID ptd = *ptdIt;
@@ -703,7 +703,7 @@ void FlowSensitive::updateConnectedNodes(const SVFGEdgeSetTy& edges)
703
703
 
704
704
  SVFGNode* srcNode = edge->getSrcNode();
705
705
 
706
- const PointsTo& pts = SVFUtil::cast<IndirectSVFGEdge>(edge)->getPointsTo();
706
+ const NodeBS& pts = SVFUtil::cast<IndirectSVFGEdge>(edge)->getPointsTo();
707
707
  for (PointsTo::iterator ptdIt = pts.begin(), ptdEit = pts.end(); ptdIt != ptdEit; ++ptdIt)
708
708
  {
709
709
  NodeID ptd = *ptdIt;
@@ -96,11 +96,11 @@ bool FlowSensitiveTBHC::propAlongIndirectEdge(const IndirectSVFGEdge* edge)
96
96
 
97
97
  // Get points-to targets may be used by next SVFG node.
98
98
  // Propagate points-to set for node used in dst.
99
- const PointsTo& pts = edge->getPointsTo();
99
+ const NodeBS & pts = edge->getPointsTo();
100
100
 
101
101
  // Since the base Andersen's analysis does NOT perform type-based heap cloning,
102
102
  // it uses only the base objects; we want to account for clones too.
103
- PointsTo edgePtsAndClones;
103
+ NodeBS edgePtsAndClones;
104
104
 
105
105
  // TODO: the conditional bool may be unnecessary.
106
106
  // Adding all clones is redundant, and introduces too many calls to propVarPts...
@@ -391,7 +391,7 @@ void VersionedFlowSensitive::updateConnectedNodes(const SVFGEdgeSetTy& newEdges)
391
391
  const IndirectSVFGEdge *ie = SVFUtil::dyn_cast<IndirectSVFGEdge>(e);
392
392
  assert(ie != nullptr && "VFS::updateConnectedNodes: given direct edge?");
393
393
 
394
- const PointsTo &ept = ie->getPointsTo();
394
+ const NodeBS &ept = ie->getPointsTo();
395
395
  // For every o, such that src --o--> dst, we need to set up reliance (and propagate).
396
396
  for (const NodeID o : ept)
397
397
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.283",
3
+ "version": "1.0.287",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {