svf-tools 1.0.331 → 1.0.335

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 (293) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +4 -4
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
  4. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  6. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +17 -8
  7. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  8. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/DCHG_8h_source.html +5 -4
  11. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  14. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +3 -3
  15. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  17. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
  19. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +5 -5
  20. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/LocationSet_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -6
  25. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  27. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  28. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  30. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  32. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +7 -7
  36. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +18 -18
  37. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +37 -37
  38. package/SVF-doxygen/html/html/SVFIR_8h_source.html +27 -27
  39. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  40. package/SVF-doxygen/html/html/SVFStatements_8h.html +14 -12
  41. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +131 -123
  42. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +18 -18
  43. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +132 -129
  44. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  45. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -2
  46. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +10 -10
  48. package/SVF-doxygen/html/html/VFGNode_8h_source.html +13 -13
  49. package/SVF-doxygen/html/html/VFG_8cpp_source.html +25 -25
  50. package/SVF-doxygen/html/html/VFG_8h_source.html +18 -17
  51. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  52. package/SVF-doxygen/html/html/annotated.html +271 -270
  53. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +16 -10
  54. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +36 -14
  55. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
  56. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  57. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  58. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  59. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
  60. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +4 -4
  61. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  62. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +145 -0
  63. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +770 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.png +0 -0
  65. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +4 -4
  66. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +7 -11
  67. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +19 -138
  68. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  69. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +2 -2
  70. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +39 -39
  71. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  72. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
  73. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode-members.html +4 -4
  74. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +4 -4
  75. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +19 -13
  76. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +43 -21
  77. package/SVF-doxygen/html/html/classSVF_1_1CallPE.png +0 -0
  78. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +37 -40
  79. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +14 -22
  80. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +37 -40
  81. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +15 -23
  82. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +48 -51
  83. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +18 -26
  84. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +7 -11
  85. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +20 -139
  86. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  87. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +18 -11
  88. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
  89. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +16 -10
  90. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +36 -14
  91. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
  92. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +3 -3
  93. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +19 -19
  94. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +2 -2
  95. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +37 -40
  96. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +16 -24
  97. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +36 -39
  98. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +15 -23
  99. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +37 -40
  100. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +21 -29
  101. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
  104. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +5 -5
  105. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode-members.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +4 -4
  107. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode-members.html +2 -2
  108. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +4 -4
  109. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +3 -9
  110. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  111. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +49 -52
  112. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +53 -61
  113. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +23 -15
  114. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +166 -69
  115. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  116. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +45 -48
  117. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +40 -48
  118. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode-members.html +2 -2
  119. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +4 -4
  120. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +10 -10
  122. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +12 -12
  123. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +2 -2
  125. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode-members.html +2 -2
  126. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode.html +4 -4
  127. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode-members.html +2 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  131. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +16 -10
  133. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +36 -14
  134. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
  135. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +12 -12
  137. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +10 -10
  138. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +6 -6
  139. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +36 -29
  140. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +250 -31
  141. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +2 -2
  142. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +14 -14
  143. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +51 -46
  144. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +53 -93
  145. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
  146. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +37 -40
  149. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +34 -42
  150. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  151. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  152. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +5 -9
  154. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +18 -137
  155. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +7 -7
  156. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode-members.html +2 -2
  157. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +4 -4
  158. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +16 -10
  159. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +43 -21
  160. package/SVF-doxygen/html/html/classSVF_1_1RetPE.png +0 -0
  161. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +36 -39
  162. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +16 -24
  163. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +61 -53
  166. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +24 -18
  168. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +12 -8
  169. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +28 -25
  171. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +185 -107
  172. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
  173. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +16 -10
  174. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +36 -14
  175. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
  176. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +18 -12
  178. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +35 -13
  179. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.png +0 -0
  180. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +17 -11
  181. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +35 -13
  182. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.png +0 -0
  183. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +17 -17
  185. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +32 -32
  187. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  188. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +34 -34
  189. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +36 -39
  190. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +19 -27
  191. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +36 -39
  192. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +16 -24
  193. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +52 -45
  194. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +56 -25
  195. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
  196. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  197. package/SVF-doxygen/html/html/classes.html +91 -93
  198. package/SVF-doxygen/html/html/functions_a.html +18 -15
  199. package/SVF-doxygen/html/html/functions_c.html +16 -15
  200. package/SVF-doxygen/html/html/functions_func.html +18 -15
  201. package/SVF-doxygen/html/html/functions_func_c.html +24 -23
  202. package/SVF-doxygen/html/html/functions_func_g.html +45 -37
  203. package/SVF-doxygen/html/html/functions_func_o.html +5 -3
  204. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  205. package/SVF-doxygen/html/html/functions_func_t.html +1 -0
  206. package/SVF-doxygen/html/html/functions_g.html +46 -38
  207. package/SVF-doxygen/html/html/functions_i.html +7 -6
  208. package/SVF-doxygen/html/html/functions_l.html +4 -4
  209. package/SVF-doxygen/html/html/functions_m.html +1 -1
  210. package/SVF-doxygen/html/html/functions_o.html +12 -10
  211. package/SVF-doxygen/html/html/functions_p.html +12 -8
  212. package/SVF-doxygen/html/html/functions_rela.html +56 -1
  213. package/SVF-doxygen/html/html/functions_s.html +14 -15
  214. package/SVF-doxygen/html/html/functions_t.html +9 -10
  215. package/SVF-doxygen/html/html/functions_v.html +8 -7
  216. package/SVF-doxygen/html/html/functions_vars_l.html +1 -1
  217. package/SVF-doxygen/html/html/functions_vars_o.html +1 -1
  218. package/SVF-doxygen/html/html/hierarchy.html +17 -16
  219. package/SVF-doxygen/html/html/menudata.js +13 -1
  220. package/SVF-doxygen/html/html/namespaceSVF.html +2 -0
  221. package/SVF-doxygen/html/html/search/all_1.js +5 -4
  222. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  223. package/SVF-doxygen/html/html/search/all_13.js +12 -12
  224. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  225. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  226. package/SVF-doxygen/html/html/search/all_16.js +4 -4
  227. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  228. package/SVF-doxygen/html/html/search/all_7.js +12 -8
  229. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  230. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  231. package/SVF-doxygen/html/html/search/all_d.js +3 -3
  232. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  233. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  234. package/SVF-doxygen/html/html/search/classes_0.js +2 -1
  235. package/SVF-doxygen/html/html/search/functions_0.js +5 -4
  236. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  237. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  238. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  239. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  240. package/SVF-doxygen/html/html/search/functions_6.js +12 -8
  241. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  242. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  243. package/SVF-doxygen/html/html/search/related_4.js +1 -2
  244. package/SVF-doxygen/html/html/search/related_5.js +2 -1
  245. package/SVF-doxygen/html/html/search/related_6.js +1 -4
  246. package/SVF-doxygen/html/html/search/related_7.js +4 -1
  247. package/SVF-doxygen/html/html/search/related_8.js +1 -5
  248. package/SVF-doxygen/html/html/search/related_9.js +6 -2
  249. package/SVF-doxygen/html/html/search/related_a.js +2 -1
  250. package/SVF-doxygen/html/html/search/related_b.html +26 -0
  251. package/SVF-doxygen/html/html/search/related_b.js +5 -0
  252. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  253. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  254. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  255. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  256. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  257. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  258. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  259. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  260. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  261. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +2 -2
  262. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  263. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  264. package/images/svf-stat.pdf +0 -0
  265. package/include/Graphs/ConsG.h +1 -1
  266. package/include/Graphs/ConsGEdge.h +2 -2
  267. package/include/Graphs/ICFGNode.h +2 -2
  268. package/include/Graphs/VFG.h +4 -4
  269. package/include/MemoryModel/LocationSet.h +3 -3
  270. package/include/MemoryModel/SVFIR.h +1 -1
  271. package/include/MemoryModel/SVFStatements.h +378 -308
  272. package/include/MemoryModel/SVFVariables.h +31 -30
  273. package/include/SVF-FE/DCHG.h +3 -3
  274. package/include/SVF-FE/SVFIRBuilder.h +2 -2
  275. package/include/Util/IRAnnotator.h +1 -1
  276. package/lib/Graphs/ConsG.cpp +25 -25
  277. package/lib/Graphs/VFG.cpp +10 -10
  278. package/lib/MSSA/MemRegion.cpp +5 -5
  279. package/lib/MemoryModel/LocationSet.cpp +2 -2
  280. package/lib/MemoryModel/PAGBuilderFromFile.cpp +1 -1
  281. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  282. package/lib/MemoryModel/SVFIR.cpp +9 -9
  283. package/lib/MemoryModel/SVFStatements.cpp +11 -11
  284. package/lib/MemoryModel/SVFVariables.cpp +2 -2
  285. package/lib/MemoryModel/SymbolTableInfo.cpp +2 -2
  286. package/lib/SVF-FE/DCHG.cpp +1 -1
  287. package/lib/SVF-FE/Graph2Json.cpp +1 -1
  288. package/lib/SVF-FE/SVFIRBuilder.cpp +4 -4
  289. package/lib/Util/TypeBasedHeapCloning.cpp +5 -5
  290. package/lib/WPA/AndersenSFR.cpp +2 -2
  291. package/lib/WPA/CSC.cpp +2 -2
  292. package/lib/WPA/FlowSensitiveTBHC.cpp +3 -3
  293. package/package.json +1 -1
@@ -195,7 +195,7 @@ LocationSet SymbolTableInfo::getModulusOffset(const MemObj* obj, const LocationS
195
195
  /// of current struct. Make the offset positive so we can still get a node within current
196
196
  /// struct to represent this obj.
197
197
 
198
- Size_t offset = ls.accumulateConstantOffset();
198
+ Size_t offset = ls.accumulateConstantFieldIdx();
199
199
  if(offset < 0)
200
200
  {
201
201
  writeWrnMsg("try to create a gep node with negative offset.");
@@ -582,7 +582,7 @@ bool ObjTypeInfo::isNonPtrFieldObj(const LocationSet& ls)
582
582
  // as we simply return new offset by mod operation without checking its
583
583
  // correctness in LocSymTableInfo::getModulusOffset(). So the following
584
584
  // assertion may fail. Try to refine the new memory model.
585
- //assert(ls.getOffset() == 0 && "cannot get a field from a non-struct type");
585
+ //assert(ls.getFieldOffset() == 0 && "cannot get a field from a non-struct type");
586
586
  return (hasPtrObj() == false);
587
587
  }
588
588
  }
@@ -103,7 +103,7 @@ void DCHGraph::handleDIDerivedType(const DIDerivedType *derivedType)
103
103
  assert(SVFUtil::isa<DIType>(derivedType->getScope()) && "inheriting from non-type?");
104
104
  DCHEdge *edge = addEdge(SVFUtil::dyn_cast<DIType>(derivedType->getScope()),
105
105
  derivedType->getBaseType(), DCHEdge::INHERITANCE);
106
- // If the offset does not exist (for primary base), getOffset should return 0.
106
+ // If the offset does not exist (for primary base), getFieldOffset should return 0.
107
107
  edge->setOffset(derivedType->getOffsetInBits());
108
108
  break;
109
109
  }
@@ -53,7 +53,7 @@ void ICFGPrinter::printICFGToJson(const std::string& filename)
53
53
  if(edge->getEdgeKind()==PAGEdge::NormalGep)
54
54
  {
55
55
  const NormalGepStmt* gepEdge = SVFUtil::cast<NormalGepStmt>(edge);
56
- edge_obj["offset"] = gepEdge->getOffset();
56
+ edge_obj["offset"] = gepEdge->getFieldOffset();
57
57
  }
58
58
  llvm::json::Value edge_value = llvm::json::Object{edge_obj};
59
59
  PAGEdge_array.push_back(edge_value);
@@ -263,7 +263,7 @@ bool SVFIRBuilder::computeGepOffset(const User *V, LocationSet& ls)
263
263
  assert(0);
264
264
  }
265
265
  //add the translated offset
266
- ls.setFldIdx(ls.accumulateConstantOffset() + so[idx]);
266
+ ls.setFldIdx(ls.accumulateConstantFieldIdx() + so[idx]);
267
267
  }
268
268
  }
269
269
  return true;
@@ -1289,7 +1289,7 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1289
1289
  // We have vArg3 points to the entry of _Rb_tree_node_base { color; parent; left; right; }.
1290
1290
  // Now we calculate the offset from base to vArg3
1291
1291
  NodeID vnArg3 = pag->getValueNode(vArg3);
1292
- Size_t offset = pag->getLocationSetFromBaseNode(vnArg3).accumulateConstantOffset();
1292
+ Size_t offset = pag->getLocationSetFromBaseNode(vnArg3).accumulateConstantFieldIdx();
1293
1293
 
1294
1294
  // We get all flattened fields of base
1295
1295
  vector<LocationSet> fields;
@@ -1313,7 +1313,7 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1313
1313
 
1314
1314
  Value *vArg = cs.getArgument(0);
1315
1315
  NodeID vnArg = pag->getValueNode(vArg);
1316
- Size_t offset = pag->getLocationSetFromBaseNode(vnArg).accumulateConstantOffset();
1316
+ Size_t offset = pag->getLocationSetFromBaseNode(vnArg).accumulateConstantFieldIdx();
1317
1317
 
1318
1318
  // We get all fields
1319
1319
  vector<LocationSet> fields;
@@ -1613,7 +1613,7 @@ void SVFIRBuilder::setCurrentBBAndValueForPAGEdge(PAGEdge* edge)
1613
1613
  }
1614
1614
 
1615
1615
  pag->addToSVFStmtList(icfgNode,edge);
1616
- icfgNode->addPAGEdge(edge);
1616
+ icfgNode->addSVFStmt(edge);
1617
1617
  }
1618
1618
 
1619
1619
 
@@ -155,7 +155,7 @@ const NodeBS TypeBasedHeapCloning::getGepObjClones(NodeID base, unsigned offset)
155
155
  unsigned totalOffset = offset;
156
156
  if (const GepObjVar *baseGep = SVFUtil::dyn_cast<GepObjVar>(baseNode))
157
157
  {
158
- totalOffset += baseGep->getOffset();
158
+ totalOffset += baseGep->getFieldOffset();
159
159
  }
160
160
 
161
161
  const DIType *baseType = getType(base);
@@ -189,7 +189,7 @@ const NodeBS TypeBasedHeapCloning::getGepObjClones(NodeID base, unsigned offset)
189
189
 
190
190
  if (GepObjVar *gepNode = SVFUtil::dyn_cast<GepObjVar>(node))
191
191
  {
192
- if (gepNode->getOffset() == totalOffset)
192
+ if (gepNode->getFieldOffset() == totalOffset)
193
193
  {
194
194
  geps.set(gep);
195
195
  }
@@ -211,7 +211,7 @@ const NodeBS TypeBasedHeapCloning::getGepObjClones(NodeID base, unsigned offset)
211
211
  // No gep node has even be created, so create one.
212
212
  NodeID newGep;
213
213
  LocationSet newLS;
214
- // fldIdx is what is returned by getOffset.
214
+ // fldIdx is what is returned by getFieldOffset.
215
215
  newLS.setFldIdx(totalOffset);
216
216
 
217
217
  if (isClone(base))
@@ -414,7 +414,7 @@ NodeID TypeBasedHeapCloning::cloneObject(NodeID o, const DIType *type, bool)
414
414
  const PAGNode *obj = ppag->getGNode(o);
415
415
  if (const GepObjVar *gepObj = SVFUtil::dyn_cast<GepObjVar>(obj))
416
416
  {
417
- const NodeBS &clones = getGepObjClones(gepObj->getBaseNode(), gepObj->getOffset());
417
+ const NodeBS &clones = getGepObjClones(gepObj->getBaseNode(), gepObj->getFieldOffset());
418
418
  // TODO: a bit of repetition.
419
419
  for (NodeID clone : clones)
420
420
  {
@@ -427,7 +427,7 @@ NodeID TypeBasedHeapCloning::cloneObject(NodeID o, const DIType *type, bool)
427
427
  clone = addCloneGepObjNode(gepObj->getMemObj(), gepObj->getLocationSet());
428
428
 
429
429
  // The base needs to know about the new clone.
430
- addGepToObj(clone, gepObj->getBaseNode(), gepObj->getOffset());
430
+ addGepToObj(clone, gepObj->getBaseNode(), gepObj->getFieldOffset());
431
431
 
432
432
  addClone(o, clone);
433
433
  addClone(getOriginalObj(o), clone);
@@ -96,7 +96,7 @@ bool AndersenSFR::processGepPts(PointsTo& pts, const GepCGEdge* edge)
96
96
  for (NodeID ptd : srcInits)
97
97
  sortSrcInits.insert(ptd);
98
98
 
99
- Size_t offset = SVFUtil::dyn_cast<NormalGepCGEdge>(edge)->getOffset();
99
+ Size_t offset = SVFUtil::dyn_cast<NormalGepCGEdge>(edge)->getFieldOffset();
100
100
  fieldExpand(sortSrcInits, offset, dst->strides, tmpDstPts);
101
101
  }
102
102
 
@@ -134,7 +134,7 @@ void AndersenSFR::fieldExpand(NodeSet& initials, Size_t offset, NodeBS& strides,
134
134
  const Size_t maxLimit = obj->getMaxFieldOffsetLimit();
135
135
  Size_t initOffset;
136
136
  if (GepObjVar *gepNode = SVFUtil::dyn_cast<GepObjVar>(initPN))
137
- initOffset = gepNode->getOffset();
137
+ initOffset = gepNode->getFieldOffset();
138
138
  else if (SVFUtil::isa<FIObjVar>(initPN) || SVFUtil::isa<DummyObjVar>(initPN))
139
139
  initOffset = 0;
140
140
  else
package/lib/WPA/CSC.cpp CHANGED
@@ -87,7 +87,7 @@ void CSC::visit(NodeID nodeId, Size_t _w)
87
87
  {
88
88
  Size_t offset;
89
89
  if (NormalGepCGEdge* gepCGEdge = SVFUtil::dyn_cast<NormalGepCGEdge>(*eit))
90
- offset = gepCGEdge->getOffset();
90
+ offset = gepCGEdge->getFieldOffset();
91
91
  else
92
92
  offset = 0;
93
93
  NodeID dstId = (*eit)->getDstID();
@@ -107,7 +107,7 @@ void CSC::visit(NodeID nodeId, Size_t _w)
107
107
  if (_consG->hasEdge(node, backNode, ConstraintEdge::NormalGep))
108
108
  {
109
109
  NormalGepCGEdge* normalGep = SVFUtil::dyn_cast<NormalGepCGEdge>(_consG->getEdge(node, backNode, ConstraintEdge::NormalGep));
110
- Size_t _w = normalGep->getOffset();
110
+ Size_t _w = normalGep->getFieldOffset();
111
111
  Size_t _l = _D[nodeId] +_w - _D[backNodeId];
112
112
  backNode->strides.set(_l);
113
113
  for (auto cNodeId : _C)
@@ -146,7 +146,7 @@ bool FlowSensitiveTBHC::propAlongIndirectEdge(const IndirectSVFGEdge* edge)
146
146
  if (GepObjVar *gep = SVFUtil::dyn_cast<GepObjVar>(pag->getGNode(o)))
147
147
  {
148
148
  // Want the geps which are at the same "level" as this one (same mem obj, same offset).
149
- const NodeBS &geps = getGepObjsFromMemObj(gep->getMemObj(), gep->getOffset());
149
+ const NodeBS &geps = getGepObjsFromMemObj(gep->getMemObj(), gep->getFieldOffset());
150
150
  for (NodeID g : geps)
151
151
  {
152
152
  const DIType *gepType = getType(g);
@@ -328,7 +328,7 @@ bool FlowSensitiveTBHC::processGep(const GepSVFGNode* gep)
328
328
  }
329
329
 
330
330
  if (DCHGraph::isAgg(baseType) && baseType->getTag() != dwarf::DW_TAG_array_type
331
- && normalGep->getOffset() >= dchg->getNumFields(baseType))
331
+ && normalGep->getFieldOffset() >= dchg->getNumFields(baseType))
332
332
  {
333
333
  // If the field offset is too high for this object, it is killed. It seems that a
334
334
  // clone was made on this GEP but this is not the base (e.g. base->f1->f2), and SVF
@@ -342,7 +342,7 @@ bool FlowSensitiveTBHC::processGep(const GepSVFGNode* gep)
342
342
  else
343
343
  {
344
344
  // Operate on the field and all its clones.
345
- const NodeBS fieldClones = getGepObjClones(oq, normalGep->getOffset());
345
+ const NodeBS fieldClones = getGepObjClones(oq, normalGep->getFieldOffset());
346
346
  for (NodeID fc : fieldClones)
347
347
  {
348
348
  gepToSVFGRetrievers[getOriginalObj(fc)].set(gep->getId());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.331",
3
+ "version": "1.0.335",
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": {