svf-tools 1.0.896 → 1.0.898

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 (628) hide show
  1. package/SVF-doxygen/html/AbstractExecution_8cpp.html +1 -1
  2. package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +1638 -1659
  3. package/SVF-doxygen/html/AbstractExecution_8h_source.html +49 -49
  4. package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
  5. package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/AccessPath_8h_source.html +2 -2
  7. package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
  8. package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
  9. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +3 -3
  10. package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/Andersen_8cpp_source.html +5 -5
  14. package/SVF-doxygen/html/Andersen_8h_source.html +3 -3
  15. package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +59 -43
  17. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +29 -28
  18. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +1 -1
  19. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
  21. package/SVF-doxygen/html/CDG_8h_source.html +2 -2
  22. package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +3 -3
  23. package/SVF-doxygen/html/CFGNormalizer_8h_source.html +3 -3
  24. package/SVF-doxygen/html/CFGrammar_8cpp_source.html +2 -2
  25. package/SVF-doxygen/html/CFGrammar_8h_source.html +3 -3
  26. package/SVF-doxygen/html/CFLAlias_8h_source.html +2 -2
  27. package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
  29. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +2 -2
  31. package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
  32. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/CHG_8h_source.html +2 -2
  34. package/SVF-doxygen/html/CSC_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/CSC_8h_source.html +3 -3
  36. package/SVF-doxygen/html/ConditionalPT_8h_source.html +3 -3
  37. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/ConsExeState_8h_source.html +3 -3
  39. package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
  40. package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
  41. package/SVF-doxygen/html/ConsG_8h_source.html +4 -4
  42. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +4 -4
  43. package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
  44. package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
  45. package/SVF-doxygen/html/CppUtil_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/CppUtil_8h_source.html +1 -1
  47. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  48. package/SVF-doxygen/html/DCHG_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
  50. package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/DDAClient_8h_source.html +3 -3
  52. package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
  53. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  54. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +2 -2
  55. package/SVF-doxygen/html/DPItem_8h_source.html +2 -2
  56. package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
  58. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/FSMPTA_8h_source.html +2 -2
  60. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +4 -4
  61. package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
  62. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/FlowSensitive_8h_source.html +2 -2
  65. package/SVF-doxygen/html/GeneralType_8h.html +8 -0
  66. package/SVF-doxygen/html/GeneralType_8h_source.html +110 -102
  67. package/SVF-doxygen/html/GenericGraph_8h_source.html +2 -2
  68. package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
  69. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/ICFGBuilder_8h_source.html +1 -1
  71. package/SVF-doxygen/html/ICFGEdge_8h_source.html +3 -3
  72. package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
  73. package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +2 -2
  74. package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
  75. package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
  76. package/SVF-doxygen/html/ICFG_8h_source.html +2 -2
  77. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
  79. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +2 -2
  80. package/SVF-doxygen/html/IntervalExeState_8h_source.html +4 -4
  81. package/SVF-doxygen/html/IntervalValue_8h_source.html +862 -801
  82. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  83. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +335 -316
  84. package/SVF-doxygen/html/LLVMModule_8h_source.html +11 -11
  85. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +2 -2
  86. package/SVF-doxygen/html/LLVMUtil_8h_source.html +1 -1
  87. package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
  88. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +2 -2
  89. package/SVF-doxygen/html/LockAnalysis_8h_source.html +3 -3
  90. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  91. package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
  92. package/SVF-doxygen/html/MHP_8cpp_source.html +3 -3
  93. package/SVF-doxygen/html/MHP_8h_source.html +3 -3
  94. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +4 -4
  95. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
  96. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
  97. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
  99. package/SVF-doxygen/html/MTAStat_8h_source.html +1 -1
  100. package/SVF-doxygen/html/MTA_8cpp_source.html +1 -1
  101. package/SVF-doxygen/html/MTA_8h_source.html +1 -1
  102. package/SVF-doxygen/html/MemPartition_8h_source.html +2 -2
  103. package/SVF-doxygen/html/MemRegion_8cpp_source.html +4 -4
  104. package/SVF-doxygen/html/MemRegion_8h_source.html +5 -5
  105. package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
  106. package/SVF-doxygen/html/MemSSA_8h_source.html +5 -5
  107. package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
  108. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  109. package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +2 -2
  110. package/SVF-doxygen/html/NumericLiteral_8h_source.html +452 -418
  111. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
  112. package/SVF-doxygen/html/ObjTypeInference_8h_source.html +2 -2
  113. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +195 -137
  114. package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +3 -3
  115. package/SVF-doxygen/html/PCG_8cpp_source.html +1 -1
  116. package/SVF-doxygen/html/PCG_8h_source.html +1 -1
  117. package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
  118. package/SVF-doxygen/html/PTACallGraph_8h_source.html +4 -4
  119. package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
  120. package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +2 -2
  121. package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +2 -2
  122. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  123. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +3 -3
  124. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
  125. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +5 -5
  126. package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
  127. package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
  128. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
  129. package/SVF-doxygen/html/ProgSlice_8h_source.html +2 -2
  130. package/SVF-doxygen/html/RelExeState_8cpp_source.html +1 -1
  131. package/SVF-doxygen/html/RelExeState_8h_source.html +3 -3
  132. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +4 -4
  133. package/SVF-doxygen/html/RelationSolver_8h_source.html +1 -1
  134. package/SVF-doxygen/html/SCC_8h_source.html +2 -2
  135. package/SVF-doxygen/html/SVFBugReport_8h_source.html +1 -1
  136. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1937 -1934
  137. package/SVF-doxygen/html/SVFFileSystem_8h.html +1 -1
  138. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +59 -59
  139. package/SVF-doxygen/html/SVFGEdge_8h_source.html +2 -2
  140. package/SVF-doxygen/html/SVFGNode_8h_source.html +2 -2
  141. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
  142. package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
  143. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +3 -3
  144. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  145. package/SVF-doxygen/html/SVFGStat_8h_source.html +3 -3
  146. package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
  147. package/SVF-doxygen/html/SVFG_8h_source.html +2 -2
  148. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +60 -60
  149. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +9 -9
  150. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1101 -886
  151. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +173 -154
  152. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +35 -35
  153. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +17 -17
  154. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +172 -121
  155. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +5 -5
  156. package/SVF-doxygen/html/SVFIR_8cpp_source.html +24 -22
  157. package/SVF-doxygen/html/SVFIR_8h_source.html +55 -53
  158. package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
  159. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  160. package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
  161. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +20 -20
  162. package/SVF-doxygen/html/SVFStatements_8h_source.html +979 -955
  163. package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
  164. package/SVF-doxygen/html/SVFType_8h_source.html +4 -4
  165. package/SVF-doxygen/html/SVFUtil_8h_source.html +2 -2
  166. package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
  167. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  168. package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
  169. package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
  170. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +8 -8
  171. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +4 -4
  172. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  173. package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +2 -2
  174. package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
  175. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
  176. package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +2 -2
  177. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
  178. package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
  179. package/SVF-doxygen/html/SymState_8h_source.html +2 -2
  180. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
  181. package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +1 -1
  182. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +3 -3
  183. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +4 -4
  184. package/SVF-doxygen/html/TCT_8cpp_source.html +3 -3
  185. package/SVF-doxygen/html/TCT_8h_source.html +4 -4
  186. package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
  187. package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
  188. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
  189. package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +3 -3
  190. package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
  191. package/SVF-doxygen/html/VFGNode_8h_source.html +12 -12
  192. package/SVF-doxygen/html/VFG_8cpp_source.html +18 -18
  193. package/SVF-doxygen/html/VFG_8h_source.html +17 -17
  194. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  195. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  196. package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
  197. package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
  198. package/SVF-doxygen/html/WPASolver_8h_source.html +2 -2
  199. package/SVF-doxygen/html/WTO_8h_source.html +2 -2
  200. package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
  201. package/SVF-doxygen/html/ae_8cpp_source.html +2 -2
  202. package/SVF-doxygen/html/classSVF_1_1AEStat.html +119 -119
  203. package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +1517 -1538
  204. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +1 -1
  205. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  206. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +1 -1
  207. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +3 -3
  208. package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +3 -3
  209. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  210. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  211. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  212. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
  213. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr-members.html +8 -4
  214. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +149 -28
  215. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
  216. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +4 -4
  217. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +7 -7
  218. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +1 -1
  219. package/SVF-doxygen/html/classSVF_1_1CFGNormalizer.html +3 -3
  220. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +1 -1
  221. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
  222. package/SVF-doxygen/html/classSVF_1_1CSC.html +2 -2
  223. package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
  224. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
  225. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +1 -1
  226. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +1 -1
  227. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
  228. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
  229. package/SVF-doxygen/html/classSVF_1_1CopyStmt-members.html +48 -33
  230. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +206 -65
  231. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +3 -3
  232. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +2 -2
  233. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
  234. package/SVF-doxygen/html/classSVF_1_1ExeState.html +1 -1
  235. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +3 -3
  236. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
  237. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  238. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  239. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
  240. package/SVF-doxygen/html/classSVF_1_1GenericGraphReader.html +1 -1
  241. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +56 -56
  242. package/SVF-doxygen/html/classSVF_1_1GrammarBase.html +1 -1
  243. package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
  244. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +1 -1
  245. package/SVF-doxygen/html/classSVF_1_1ICFGWriter.html +11 -11
  246. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2 -2
  247. package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +40 -35
  248. package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +511 -306
  249. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  250. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +331 -312
  251. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +19 -19
  252. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +2 -2
  253. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  254. package/SVF-doxygen/html/classSVF_1_1MHP.html +2 -2
  255. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
  256. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +1 -1
  257. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +4 -4
  258. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  259. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +1 -1
  260. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
  261. package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
  262. package/SVF-doxygen/html/classSVF_1_1MutableDFPTData.html +1 -1
  263. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
  264. package/SVF-doxygen/html/classSVF_1_1NumericLiteral-members.html +9 -3
  265. package/SVF-doxygen/html/classSVF_1_1NumericLiteral.html +527 -332
  266. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
  267. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +204 -135
  268. package/SVF-doxygen/html/classSVF_1_1PCG.html +1 -1
  269. package/SVF-doxygen/html/classSVF_1_1POCRSolver.html +1 -1
  270. package/SVF-doxygen/html/classSVF_1_1PTACallGraph.html +1 -1
  271. package/SVF-doxygen/html/classSVF_1_1PTAStat.html +1 -1
  272. package/SVF-doxygen/html/classSVF_1_1PersistentDFPTData.html +1 -1
  273. package/SVF-doxygen/html/classSVF_1_1PersistentDiffPTData.html +1 -1
  274. package/SVF-doxygen/html/classSVF_1_1PersistentPTData.html +1 -1
  275. package/SVF-doxygen/html/classSVF_1_1PersistentPointsToCache.html +1 -1
  276. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
  277. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
  278. package/SVF-doxygen/html/classSVF_1_1PointsTo.html +1 -1
  279. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +1 -1
  280. package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
  281. package/SVF-doxygen/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
  282. package/SVF-doxygen/html/classSVF_1_1ReaderPtrPool.html +2 -2
  283. package/SVF-doxygen/html/classSVF_1_1RelExeState.html +2 -2
  284. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +4 -4
  285. package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
  286. package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
  287. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +1 -1
  288. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  289. package/SVF-doxygen/html/classSVF_1_1SVFIR-members.html +1 -1
  290. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +32 -25
  291. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +51 -51
  292. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +49 -40
  293. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1346 -909
  294. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder-members.html +62 -61
  295. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +211 -131
  296. package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1122 -1121
  297. package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +429 -427
  298. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +1 -1
  299. package/SVF-doxygen/html/classSVF_1_1SVFModuleReader.html +1 -1
  300. package/SVF-doxygen/html/classSVF_1_1SVFModuleWriter.html +23 -23
  301. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  302. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +9 -9
  303. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  304. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
  305. package/SVF-doxygen/html/classSVF_1_1SingleAbsValue-members.html +8 -4
  306. package/SVF-doxygen/html/classSVF_1_1SingleAbsValue.html +8 -0
  307. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
  308. package/SVF-doxygen/html/classSVF_1_1StInfo.html +1 -1
  309. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +2 -2
  310. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +17 -17
  311. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  312. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +3 -3
  313. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
  314. package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
  315. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
  316. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
  317. package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +1 -1
  318. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
  319. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
  320. package/SVF-doxygen/html/classSVF_1_1VFG.html +17 -17
  321. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  322. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  323. package/SVF-doxygen/html/classSVF_1_1WPAFSSolver.html +2 -2
  324. package/SVF-doxygen/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  325. package/SVF-doxygen/html/classSVF_1_1WPASCCSolver.html +2 -2
  326. package/SVF-doxygen/html/classSVF_1_1WPASolver.html +1 -1
  327. package/SVF-doxygen/html/classSymblicAbstractionTest.html +2 -2
  328. package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  329. package/SVF-doxygen/html/functions_a.html +2 -2
  330. package/SVF-doxygen/html/functions_b.html +12 -9
  331. package/SVF-doxygen/html/functions_c.html +23 -14
  332. package/SVF-doxygen/html/functions_e.html +1 -1
  333. package/SVF-doxygen/html/functions_enum.html +3 -0
  334. package/SVF-doxygen/html/functions_eval_b.html +3 -0
  335. package/SVF-doxygen/html/functions_eval_c.html +3 -0
  336. package/SVF-doxygen/html/functions_eval_f.html +9 -0
  337. package/SVF-doxygen/html/functions_eval_i.html +3 -0
  338. package/SVF-doxygen/html/functions_eval_p.html +3 -0
  339. package/SVF-doxygen/html/functions_eval_s.html +6 -0
  340. package/SVF-doxygen/html/functions_eval_t.html +3 -0
  341. package/SVF-doxygen/html/functions_eval_u.html +3 -0
  342. package/SVF-doxygen/html/functions_eval_z.html +79 -0
  343. package/SVF-doxygen/html/functions_f.html +21 -12
  344. package/SVF-doxygen/html/functions_func.html +2 -2
  345. package/SVF-doxygen/html/functions_func_g.html +45 -11
  346. package/SVF-doxygen/html/functions_func_i.html +21 -11
  347. package/SVF-doxygen/html/functions_func_n.html +1 -1
  348. package/SVF-doxygen/html/functions_func_p.html +1 -1
  349. package/SVF-doxygen/html/functions_g.html +45 -11
  350. package/SVF-doxygen/html/functions_i.html +18 -5
  351. package/SVF-doxygen/html/functions_l.html +5 -5
  352. package/SVF-doxygen/html/functions_o.html +15 -15
  353. package/SVF-doxygen/html/functions_p.html +19 -16
  354. package/SVF-doxygen/html/functions_s.html +18 -14
  355. package/SVF-doxygen/html/functions_t.html +12 -9
  356. package/SVF-doxygen/html/functions_u.html +6 -3
  357. package/SVF-doxygen/html/functions_v.html +4 -6
  358. package/SVF-doxygen/html/functions_vars_c.html +3 -0
  359. package/SVF-doxygen/html/functions_w.html +13 -7
  360. package/SVF-doxygen/html/functions_z.html +3 -0
  361. package/SVF-doxygen/html/globals_a.html +1 -1
  362. package/SVF-doxygen/html/globals_d.html +3 -0
  363. package/SVF-doxygen/html/globals_func_a.html +1 -1
  364. package/SVF-doxygen/html/globals_func_d.html +3 -0
  365. package/SVF-doxygen/html/globals_func_p.html +1 -1
  366. package/SVF-doxygen/html/globals_func_t.html +1 -1
  367. package/SVF-doxygen/html/globals_p.html +1 -1
  368. package/SVF-doxygen/html/globals_t.html +1 -1
  369. package/SVF-doxygen/html/globals_vars.html +3 -3
  370. package/SVF-doxygen/html/globals_z.html +3 -3
  371. package/SVF-doxygen/html/menudata.js +2 -1
  372. package/SVF-doxygen/html/namespaceSVF.html +689 -617
  373. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1 -1
  374. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +1 -1
  375. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +1 -1
  376. package/SVF-doxygen/html/namespacemembers_s.html +6 -0
  377. package/SVF-doxygen/html/namespacemembers_type_s.html +6 -0
  378. package/SVF-doxygen/html/namespacemembers_type_u.html +6 -0
  379. package/SVF-doxygen/html/namespacemembers_u.html +6 -0
  380. package/SVF-doxygen/html/search/all_1.js +3 -3
  381. package/SVF-doxygen/html/search/all_10.js +326 -325
  382. package/SVF-doxygen/html/search/all_11.js +226 -226
  383. package/SVF-doxygen/html/search/all_12.js +574 -570
  384. package/SVF-doxygen/html/search/all_13.js +208 -207
  385. package/SVF-doxygen/html/search/all_14.js +73 -70
  386. package/SVF-doxygen/html/search/all_15.js +176 -176
  387. package/SVF-doxygen/html/search/all_16.js +77 -77
  388. package/SVF-doxygen/html/search/all_17.js +1 -1
  389. package/SVF-doxygen/html/search/all_18.js +1 -1
  390. package/SVF-doxygen/html/search/all_19.js +27 -26
  391. package/SVF-doxygen/html/search/all_1a.js +179 -179
  392. package/SVF-doxygen/html/search/all_2.js +122 -121
  393. package/SVF-doxygen/html/search/all_3.js +642 -640
  394. package/SVF-doxygen/html/search/all_4.js +236 -235
  395. package/SVF-doxygen/html/search/all_5.js +126 -126
  396. package/SVF-doxygen/html/search/all_6.js +235 -232
  397. package/SVF-doxygen/html/search/all_7.js +1056 -1047
  398. package/SVF-doxygen/html/search/all_8.js +215 -215
  399. package/SVF-doxygen/html/search/all_9.js +632 -629
  400. package/SVF-doxygen/html/search/all_a.js +46 -46
  401. package/SVF-doxygen/html/search/all_b.js +26 -26
  402. package/SVF-doxygen/html/search/all_c.js +115 -115
  403. package/SVF-doxygen/html/search/all_d.js +204 -204
  404. package/SVF-doxygen/html/search/all_e.js +209 -209
  405. package/SVF-doxygen/html/search/all_f.js +122 -122
  406. package/SVF-doxygen/html/search/classes_0.js +28 -28
  407. package/SVF-doxygen/html/search/classes_1.js +11 -11
  408. package/SVF-doxygen/html/search/classes_10.js +74 -74
  409. package/SVF-doxygen/html/search/classes_11.js +14 -14
  410. package/SVF-doxygen/html/search/classes_12.js +2 -2
  411. package/SVF-doxygen/html/search/classes_13.js +10 -10
  412. package/SVF-doxygen/html/search/classes_14.js +19 -19
  413. package/SVF-doxygen/html/search/classes_15.js +1 -1
  414. package/SVF-doxygen/html/search/classes_2.js +73 -73
  415. package/SVF-doxygen/html/search/classes_3.js +35 -35
  416. package/SVF-doxygen/html/search/classes_4.js +8 -8
  417. package/SVF-doxygen/html/search/classes_5.js +28 -28
  418. package/SVF-doxygen/html/search/classes_6.js +98 -98
  419. package/SVF-doxygen/html/search/classes_7.js +38 -38
  420. package/SVF-doxygen/html/search/classes_8.js +59 -59
  421. package/SVF-doxygen/html/search/classes_9.js +1 -1
  422. package/SVF-doxygen/html/search/classes_a.js +12 -12
  423. package/SVF-doxygen/html/search/classes_b.js +29 -29
  424. package/SVF-doxygen/html/search/classes_c.js +6 -6
  425. package/SVF-doxygen/html/search/classes_d.js +19 -19
  426. package/SVF-doxygen/html/search/classes_e.js +36 -36
  427. package/SVF-doxygen/html/search/classes_f.js +25 -25
  428. package/SVF-doxygen/html/search/defines_0.js +3 -3
  429. package/SVF-doxygen/html/search/defines_1.js +3 -3
  430. package/SVF-doxygen/html/search/defines_10.js +2 -2
  431. package/SVF-doxygen/html/search/defines_2.js +30 -30
  432. package/SVF-doxygen/html/search/defines_3.js +20 -20
  433. package/SVF-doxygen/html/search/defines_4.js +3 -3
  434. package/SVF-doxygen/html/search/defines_5.js +4 -4
  435. package/SVF-doxygen/html/search/defines_6.js +2 -2
  436. package/SVF-doxygen/html/search/defines_7.js +5 -5
  437. package/SVF-doxygen/html/search/defines_8.js +11 -11
  438. package/SVF-doxygen/html/search/defines_9.js +9 -9
  439. package/SVF-doxygen/html/search/defines_a.js +2 -2
  440. package/SVF-doxygen/html/search/defines_b.js +1 -1
  441. package/SVF-doxygen/html/search/defines_c.js +4 -4
  442. package/SVF-doxygen/html/search/defines_d.js +2 -2
  443. package/SVF-doxygen/html/search/defines_e.js +8 -8
  444. package/SVF-doxygen/html/search/defines_f.js +4 -4
  445. package/SVF-doxygen/html/search/enums_0.js +4 -4
  446. package/SVF-doxygen/html/search/enums_1.js +2 -2
  447. package/SVF-doxygen/html/search/enums_10.js +1 -1
  448. package/SVF-doxygen/html/search/enums_11.js +1 -1
  449. package/SVF-doxygen/html/search/enums_2.js +9 -8
  450. package/SVF-doxygen/html/search/enums_3.js +1 -1
  451. package/SVF-doxygen/html/search/enums_4.js +4 -4
  452. package/SVF-doxygen/html/search/enums_5.js +1 -1
  453. package/SVF-doxygen/html/search/enums_6.js +2 -2
  454. package/SVF-doxygen/html/search/enums_7.js +2 -2
  455. package/SVF-doxygen/html/search/enums_8.js +4 -4
  456. package/SVF-doxygen/html/search/enums_9.js +1 -1
  457. package/SVF-doxygen/html/search/enums_a.js +1 -1
  458. package/SVF-doxygen/html/search/enums_b.js +7 -7
  459. package/SVF-doxygen/html/search/enums_c.js +1 -1
  460. package/SVF-doxygen/html/search/enums_d.js +4 -4
  461. package/SVF-doxygen/html/search/enums_e.js +2 -2
  462. package/SVF-doxygen/html/search/enums_f.js +4 -4
  463. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  464. package/SVF-doxygen/html/search/enumvalues_1.js +16 -15
  465. package/SVF-doxygen/html/search/enumvalues_10.js +36 -35
  466. package/SVF-doxygen/html/search/enumvalues_11.js +5 -4
  467. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  468. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  469. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  470. package/SVF-doxygen/html/search/enumvalues_15.js +4 -3
  471. package/SVF-doxygen/html/search/enumvalues_2.js +37 -36
  472. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  473. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  474. package/SVF-doxygen/html/search/enumvalues_5.js +50 -47
  475. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  476. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  477. package/SVF-doxygen/html/search/enumvalues_8.js +24 -23
  478. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  479. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  480. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  481. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  482. package/SVF-doxygen/html/search/enumvalues_d.js +19 -18
  483. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  484. package/SVF-doxygen/html/search/enumvalues_f.js +49 -47
  485. package/SVF-doxygen/html/search/files_0.js +16 -16
  486. package/SVF-doxygen/html/search/files_1.js +9 -9
  487. package/SVF-doxygen/html/search/files_10.js +8 -8
  488. package/SVF-doxygen/html/search/files_11.js +8 -8
  489. package/SVF-doxygen/html/search/files_12.js +2 -2
  490. package/SVF-doxygen/html/search/files_2.js +53 -53
  491. package/SVF-doxygen/html/search/files_3.js +14 -14
  492. package/SVF-doxygen/html/search/files_4.js +5 -5
  493. package/SVF-doxygen/html/search/files_5.js +13 -13
  494. package/SVF-doxygen/html/search/files_6.js +10 -10
  495. package/SVF-doxygen/html/search/files_7.js +17 -17
  496. package/SVF-doxygen/html/search/files_8.js +13 -13
  497. package/SVF-doxygen/html/search/files_9.js +18 -18
  498. package/SVF-doxygen/html/search/files_a.js +3 -3
  499. package/SVF-doxygen/html/search/files_b.js +4 -4
  500. package/SVF-doxygen/html/search/files_c.js +20 -20
  501. package/SVF-doxygen/html/search/files_d.js +4 -4
  502. package/SVF-doxygen/html/search/files_e.js +62 -62
  503. package/SVF-doxygen/html/search/files_f.js +8 -8
  504. package/SVF-doxygen/html/search/functions_0.js +13 -13
  505. package/SVF-doxygen/html/search/functions_1.js +368 -368
  506. package/SVF-doxygen/html/search/functions_10.js +140 -140
  507. package/SVF-doxygen/html/search/functions_11.js +140 -140
  508. package/SVF-doxygen/html/search/functions_12.js +299 -299
  509. package/SVF-doxygen/html/search/functions_13.js +73 -73
  510. package/SVF-doxygen/html/search/functions_14.js +41 -41
  511. package/SVF-doxygen/html/search/functions_15.js +72 -72
  512. package/SVF-doxygen/html/search/functions_16.js +38 -38
  513. package/SVF-doxygen/html/search/functions_17.js +3 -3
  514. package/SVF-doxygen/html/search/functions_18.js +179 -179
  515. package/SVF-doxygen/html/search/functions_2.js +94 -94
  516. package/SVF-doxygen/html/search/functions_3.js +261 -261
  517. package/SVF-doxygen/html/search/functions_4.js +85 -84
  518. package/SVF-doxygen/html/search/functions_5.js +57 -57
  519. package/SVF-doxygen/html/search/functions_6.js +65 -65
  520. package/SVF-doxygen/html/search/functions_7.js +872 -863
  521. package/SVF-doxygen/html/search/functions_8.js +162 -162
  522. package/SVF-doxygen/html/search/functions_9.js +440 -438
  523. package/SVF-doxygen/html/search/functions_a.js +30 -30
  524. package/SVF-doxygen/html/search/functions_b.js +2 -2
  525. package/SVF-doxygen/html/search/functions_c.js +25 -25
  526. package/SVF-doxygen/html/search/functions_d.js +82 -82
  527. package/SVF-doxygen/html/search/functions_e.js +36 -36
  528. package/SVF-doxygen/html/search/functions_f.js +58 -58
  529. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  530. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  531. package/SVF-doxygen/html/search/related_0.js +4 -4
  532. package/SVF-doxygen/html/search/related_1.js +2 -2
  533. package/SVF-doxygen/html/search/related_2.js +2 -2
  534. package/SVF-doxygen/html/search/related_3.js +2 -2
  535. package/SVF-doxygen/html/search/related_4.js +2 -2
  536. package/SVF-doxygen/html/search/related_5.js +1 -1
  537. package/SVF-doxygen/html/search/related_6.js +2 -2
  538. package/SVF-doxygen/html/search/related_7.js +5 -5
  539. package/SVF-doxygen/html/search/related_8.js +2 -2
  540. package/SVF-doxygen/html/search/related_9.js +4 -4
  541. package/SVF-doxygen/html/search/related_a.js +19 -19
  542. package/SVF-doxygen/html/search/related_b.js +4 -4
  543. package/SVF-doxygen/html/search/related_c.js +2 -2
  544. package/SVF-doxygen/html/search/related_d.js +12 -12
  545. package/SVF-doxygen/html/search/related_e.js +2 -2
  546. package/SVF-doxygen/html/search/related_f.js +2 -2
  547. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  548. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  549. package/SVF-doxygen/html/search/typedefs_10.js +65 -63
  550. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  551. package/SVF-doxygen/html/search/typedefs_12.js +13 -11
  552. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  553. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  554. package/SVF-doxygen/html/search/typedefs_2.js +125 -125
  555. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  556. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  557. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  558. package/SVF-doxygen/html/search/typedefs_6.js +54 -54
  559. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  560. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  561. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  562. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  563. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  564. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  565. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  566. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  567. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  568. package/SVF-doxygen/html/search/variables_0.js +177 -177
  569. package/SVF-doxygen/html/search/variables_1.js +76 -76
  570. package/SVF-doxygen/html/search/variables_10.js +98 -98
  571. package/SVF-doxygen/html/search/variables_11.js +46 -46
  572. package/SVF-doxygen/html/search/variables_12.js +93 -93
  573. package/SVF-doxygen/html/search/variables_13.js +76 -76
  574. package/SVF-doxygen/html/search/variables_14.js +14 -14
  575. package/SVF-doxygen/html/search/variables_15.js +49 -49
  576. package/SVF-doxygen/html/search/variables_16.js +11 -11
  577. package/SVF-doxygen/html/search/variables_17.js +1 -1
  578. package/SVF-doxygen/html/search/variables_18.js +17 -17
  579. package/SVF-doxygen/html/search/variables_2.js +40 -40
  580. package/SVF-doxygen/html/search/variables_3.js +143 -142
  581. package/SVF-doxygen/html/search/variables_4.js +51 -51
  582. package/SVF-doxygen/html/search/variables_5.js +39 -39
  583. package/SVF-doxygen/html/search/variables_6.js +66 -66
  584. package/SVF-doxygen/html/search/variables_7.js +34 -34
  585. package/SVF-doxygen/html/search/variables_8.js +8 -8
  586. package/SVF-doxygen/html/search/variables_9.js +79 -79
  587. package/SVF-doxygen/html/search/variables_a.js +4 -4
  588. package/SVF-doxygen/html/search/variables_b.js +10 -10
  589. package/SVF-doxygen/html/search/variables_c.js +45 -45
  590. package/SVF-doxygen/html/search/variables_d.js +57 -57
  591. package/SVF-doxygen/html/search/variables_e.js +123 -123
  592. package/SVF-doxygen/html/search/variables_f.js +31 -31
  593. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  594. package/SVF-doxygen/html/structSVF_1_1Hash.html +6 -6
  595. package/SVF-doxygen/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +12 -12
  596. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +1 -1
  597. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +5 -5
  598. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  599. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  600. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  601. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NumericLiteral_01_4.html +5 -5
  602. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +1 -1
  603. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  604. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
  605. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +1 -1
  606. package/SVF-doxygen/html/svf-ex_8cpp.html +280 -230
  607. package/SVF-doxygen/html/svf-ex_8cpp_source.html +250 -223
  608. package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
  609. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +3 -3
  610. package/package.json +1 -1
  611. package/svf/include/AE/Core/BoundedZ3Expr.h +31 -20
  612. package/svf/include/AE/Core/IntervalValue.h +56 -4
  613. package/svf/include/AE/Core/NumericLiteral.h +25 -1
  614. package/svf/include/AE/Svfexe/SVFIR2ItvExeState.h +10 -0
  615. package/svf/include/SVFIR/SVFIR.h +2 -1
  616. package/svf/include/SVFIR/SVFStatements.h +12 -2
  617. package/svf/include/Util/GeneralType.h +4 -0
  618. package/svf/lib/AE/Svfexe/AbstractExecution.cpp +13 -34
  619. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +6 -6
  620. package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +217 -23
  621. package/svf/lib/SVFIR/PAGBuilderFromFile.cpp +62 -3
  622. package/svf/lib/SVFIR/SVFFileSystem.cpp +4 -1
  623. package/svf/lib/SVFIR/SVFIR.cpp +3 -3
  624. package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +39 -3
  625. package/svf-llvm/lib/LLVMModule.cpp +21 -2
  626. package/svf-llvm/lib/SVFIRBuilder.cpp +7 -7
  627. package/svf-llvm/lib/SVFIRExtAPI.cpp +3 -3
  628. package/svf-llvm/tools/Example/svf-ex.cpp +49 -30
@@ -424,7 +424,7 @@ $(function() {
424
424
  <div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
425
425
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a1fc4116b134aa87420d055b193208e68"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a1fc4116b134aa87420d055b193208e68">SVF::MTAResultValidator::collectCallsiteTargets</a></div><div class="ttdeci">bool collectCallsiteTargets()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00215">MTAResultValidator.cpp:215</a></div></div>
426
426
  <div class="ttc" id="aclassSVF_1_1MHP_html_ac30f283cb2ad020a054ee6525ca94025"><div class="ttname"><a href="classSVF_1_1MHP.html#ac30f283cb2ad020a054ee6525ca94025">SVF::MHP::ThreadStmtToThreadInterleav</a></div><div class="ttdeci">Map&lt; CxtThreadStmt, NodeBS &gt; ThreadStmtToThreadInterleav</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00054">MHP.h:54</a></div></div>
427
- <div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00118">GeneralType.h:118</a></div></div>
427
+ <div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00122">GeneralType.h:122</a></div></div>
428
428
  <div class="ttc" id="aclassSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00040">SVFModule.h:40</a></div></div>
429
429
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a7382b2759b01b8382c5e59b21e7e262a"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a7382b2759b01b8382c5e59b21e7e262a">SVF::MTAResultValidator::vthdTorthd</a></div><div class="ttdeci">vthdTorthdMap vthdTorthd</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00139">MTAResultValidator.h:139</a></div></div>
430
430
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a08d80c69c8cd11222233e0e88a41f58d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a08d80c69c8cd11222233e0e88a41f58d">SVF::MTAResultValidator::tcg</a></div><div class="ttdeci">ThreadCallGraph * tcg</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00136">MTAResultValidator.h:136</a></div></div>
@@ -446,7 +446,7 @@ $(function() {
446
446
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a432fa7a1a9af82c90583c779e8f63cf4"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a432fa7a1a9af82c90583c779e8f63cf4">SVF::MTAResultValidator::csnumToInst</a></div><div class="ttdeci">Map&lt; NodeID, const SVFInstruction * &gt; csnumToInst</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00121">MTAResultValidator.h:121</a></div></div>
447
447
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a8e26b7fe85478eef7b3d0551ab59d9c7"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a8e26b7fe85478eef7b3d0551ab59d9c7">SVF::MTAResultValidator::INTERLEV_FLAG</a></div><div class="ttdeci">int INTERLEV_FLAG</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00026">MTAResultValidator.h:26</a></div></div>
448
448
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a9c9baeb57a645b57cc9053b3071f0602"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a9c9baeb57a645b57cc9053b3071f0602">SVF::MTAResultValidator::getOutput</a></div><div class="ttdeci">std::string getOutput(const char *scenario, bool analysisRes)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00149">MTAResultValidator.cpp:149</a></div></div>
449
- <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00097">GeneralType.h:97</a></div></div>
449
+ <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
450
450
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a90f7d527816acf808e3e54c2a4ed0532"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a90f7d527816acf808e3e54c2a4ed0532">SVF::RaceResultValidator::accessPairs</a></div><div class="ttdeci">std::vector&lt; AccessPair &gt; accessPairs</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00299">MTAResultValidator.h:299</a></div></div>
451
451
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a0e2fb93a69df487606c0eeaeadab805d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a0e2fb93a69df487606c0eeaeadab805d">SVF::MTAResultValidator::INTERLEV_UNSOUND</a></div><div class="ttdeci">static const INTERLEV_FLAG INTERLEV_UNSOUND</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00148">MTAResultValidator.h:148</a></div></div>
452
452
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_1_1AccessPair_html_a63f574da7298fd47d228592f512891d1"><div class="ttname"><a href="classSVF_1_1RaceResultValidator_1_1AccessPair.html#a63f574da7298fd47d228592f512891d1">SVF::RaceResultValidator::AccessPair::isFlaged</a></div><div class="ttdeci">bool isFlaged(const RC_FLAG flag) const</div><div class="ttdoc">Class member access.</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00189">MTAResultValidator.h:189</a></div></div>
@@ -545,7 +545,7 @@ $(function() {
545
545
  <div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
546
546
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a1fc4116b134aa87420d055b193208e68"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a1fc4116b134aa87420d055b193208e68">SVF::MTAResultValidator::collectCallsiteTargets</a></div><div class="ttdeci">bool collectCallsiteTargets()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00215">MTAResultValidator.cpp:215</a></div></div>
547
547
  <div class="ttc" id="aclassSVF_1_1MHP_html_ac30f283cb2ad020a054ee6525ca94025"><div class="ttname"><a href="classSVF_1_1MHP.html#ac30f283cb2ad020a054ee6525ca94025">SVF::MHP::ThreadStmtToThreadInterleav</a></div><div class="ttdeci">Map&lt; CxtThreadStmt, NodeBS &gt; ThreadStmtToThreadInterleav</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00054">MHP.h:54</a></div></div>
548
- <div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00118">GeneralType.h:118</a></div></div>
548
+ <div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00122">GeneralType.h:122</a></div></div>
549
549
  <div class="ttc" id="aclassSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00040">SVFModule.h:40</a></div></div>
550
550
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a7382b2759b01b8382c5e59b21e7e262a"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a7382b2759b01b8382c5e59b21e7e262a">SVF::MTAResultValidator::vthdTorthd</a></div><div class="ttdeci">vthdTorthdMap vthdTorthd</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00139">MTAResultValidator.h:139</a></div></div>
551
551
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
@@ -563,7 +563,7 @@ $(function() {
563
563
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_ab3ba3c6d9c40e97febdab0e7d4ad9a3e"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#ab3ba3c6d9c40e97febdab0e7d4ad9a3e">SVF::MTAResultValidator::getPreviousMemoryAccessInst</a></div><div class="ttdeci">const Instruction * getPreviousMemoryAccessInst(const Instruction *I)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00137">MTAResultValidator.cpp:137</a></div></div>
564
564
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_afa01b108b67ec2ac05a6444b55dbfe01"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#afa01b108b67ec2ac05a6444b55dbfe01">SVF::MTAResultValidator::validateCxtThread</a></div><div class="ttdeci">bool validateCxtThread()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00372">MTAResultValidator.cpp:372</a></div></div>
565
565
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_1_1AccessPair_html_a7dd2f8afab59ee4d107a6bfdb6c151ea"><div class="ttname"><a href="classSVF_1_1RaceResultValidator_1_1AccessPair.html#a7dd2f8afab59ee4d107a6bfdb6c151ea">SVF::RaceResultValidator::AccessPair::AccessPair</a></div><div class="ttdeci">AccessPair(const Instruction *I1, const Instruction *I2, const RC_FLAG flags)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00180">MTAResultValidator.h:180</a></div></div>
566
- <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_afdd77bc1fca91f70b2ec362f1dacd392"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">SVF::LLVMModuleSet::getSVFValue</a></div><div class="ttdeci">SVFValue * getSVFValue(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01321">LLVMModule.cpp:1321</a></div></div>
566
+ <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_afdd77bc1fca91f70b2ec362f1dacd392"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">SVF::LLVMModuleSet::getSVFValue</a></div><div class="ttdeci">SVFValue * getSVFValue(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01340">LLVMModule.cpp:1340</a></div></div>
567
567
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_aecaf875c6c88f7ba6fa45540e8436f57"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#aecaf875c6c88f7ba6fa45540e8436f57">SVF::MTAResultValidator::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00040">MTAResultValidator.h:40</a></div></div>
568
568
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a5a0f25f5718d84f251331a2e2d207108"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a5a0f25f5718d84f251331a2e2d207108">SVF::MTAResultValidator::mod</a></div><div class="ttdeci">SVFModule * mod</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00143">MTAResultValidator.h:143</a></div></div>
569
569
  <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
@@ -574,7 +574,7 @@ $(function() {
574
574
  <div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00631">SVFValue.h:631</a></div></div>
575
575
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a8e26b7fe85478eef7b3d0551ab59d9c7"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a8e26b7fe85478eef7b3d0551ab59d9c7">SVF::MTAResultValidator::INTERLEV_FLAG</a></div><div class="ttdeci">int INTERLEV_FLAG</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00025">MTAResultValidator.h:25</a></div></div>
576
576
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a9c9baeb57a645b57cc9053b3071f0602"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a9c9baeb57a645b57cc9053b3071f0602">SVF::MTAResultValidator::getOutput</a></div><div class="ttdeci">std::string getOutput(const char *scenario, bool analysisRes)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00149">MTAResultValidator.cpp:149</a></div></div>
577
- <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00097">GeneralType.h:97</a></div></div>
577
+ <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
578
578
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a90f7d527816acf808e3e54c2a4ed0532"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a90f7d527816acf808e3e54c2a4ed0532">SVF::RaceResultValidator::accessPairs</a></div><div class="ttdeci">std::vector&lt; AccessPair &gt; accessPairs</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00299">MTAResultValidator.h:299</a></div></div>
579
579
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00280">SVFValue.h:280</a></div></div>
580
580
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a0e2fb93a69df487606c0eeaeadab805d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a0e2fb93a69df487606c0eeaeadab805d">SVF::MTAResultValidator::INTERLEV_UNSOUND</a></div><div class="ttdeci">static const INTERLEV_FLAG INTERLEV_UNSOUND</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00148">MTAResultValidator.h:148</a></div></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.896",
3
+ "version": "1.0.898",
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": {
@@ -345,31 +345,42 @@ public:
345
345
  return getExpr().is_true();
346
346
  }
347
347
 
348
+ inline bool is_int() const
349
+ {
350
+ return getExpr().is_int();
351
+ }
352
+
353
+ inline bool is_real() const
354
+ {
355
+ return getExpr().is_real();
356
+ }
357
+
358
+ inline s64_t getIntNumeral() const
359
+ {
360
+ assert(is_int() && "not an integer");
361
+ int64_t i;
362
+ if (getExpr().is_numeral_i64(i))
363
+ return (s64_t)get_numeral_int64();
364
+ else
365
+ return (getExpr() < 0).simplify().is_true() ? INT64_MIN : INT64_MAX;
366
+ }
367
+
368
+ inline double getRealNumeral() const
369
+ {
370
+ assert(is_real() && "not a real");
371
+ std::string decstr = getExpr().get_decimal_string(10);
372
+ return std::stod(decstr);
373
+ }
374
+
348
375
  /// Return Numeral
349
376
  inline s64_t getNumeral() const
350
377
  {
351
- if (is_numeral())
352
- {
353
- int64_t i;
354
- if (getExpr().is_numeral_i64(i))
355
- return (s64_t)get_numeral_int64();
356
- else
357
- {
358
- return (getExpr() < 0).simplify().is_true() ? INT64_MIN : INT64_MAX;
359
- }
360
- }
361
- if (is_minus_infinite())
362
- {
363
- return INT64_MIN;
364
- }
365
- else if (is_plus_infinite())
366
- {
367
- return INT64_MAX;
368
- }
378
+ int64_t i;
379
+ if (getExpr().is_numeral_i64(i))
380
+ return (s64_t)get_numeral_int64();
369
381
  else
370
382
  {
371
- assert(false && "other literal?");
372
- abort();
383
+ return (getExpr() < 0).simplify().is_true() ? INT64_MIN : INT64_MAX;
373
384
  }
374
385
  }
375
386
 
@@ -111,7 +111,9 @@ public:
111
111
 
112
112
  explicit IntervalValue(s64_t lb, s64_t ub) : IntervalValue(NumericLiteral(lb), NumericLiteral(ub)) {}
113
113
 
114
- explicit IntervalValue(double lb, double ub) : IntervalValue(NumericLiteral((s64_t) lb), NumericLiteral((s64_t) ub)) {}
114
+ explicit IntervalValue(double lb, double ub) : IntervalValue(NumericLiteral(lb), NumericLiteral(ub)) {}
115
+
116
+ explicit IntervalValue(float lb, float ub) : IntervalValue(NumericLiteral(lb), NumericLiteral(ub)) {}
115
117
 
116
118
  explicit IntervalValue(s32_t lb, s32_t ub) : IntervalValue((s64_t) lb, (s64_t) ub) {}
117
119
 
@@ -259,6 +261,22 @@ public:
259
261
  return _lb.is_infinity() || _ub.is_infinity();
260
262
  }
261
263
 
264
+ bool is_int() const
265
+ {
266
+ bool lb_int = _lb.is_int();
267
+ bool ub_int = _ub.is_int();
268
+ assert (lb_int == ub_int && "lb and ub should be both int or both float");
269
+ return _lb.is_int();
270
+ }
271
+
272
+ bool is_real() const
273
+ {
274
+ bool lb_real = _lb.is_real();
275
+ bool ub_real = _ub.is_real();
276
+ assert (lb_real == ub_real && "lb and ub should be both real or both int");
277
+ return _lb.is_real();
278
+ }
279
+
262
280
  /// Return
263
281
  s64_t getNumeral() const
264
282
  {
@@ -266,6 +284,18 @@ public:
266
284
  return _lb.getNumeral();
267
285
  }
268
286
 
287
+ s64_t getIntNumeral() const
288
+ {
289
+ assert(is_numeral() && "this IntervalValue is not numeral");
290
+ return _lb.getIntNumeral();
291
+ }
292
+
293
+ double getRealNumeral() const
294
+ {
295
+ assert(is_numeral() && "this IntervalValue is not numeral");
296
+ return _lb.getRealNumeral();
297
+ }
298
+
269
299
  /// Return true if the IntervalValue is a number [num, num]
270
300
  bool is_numeral() const
271
301
  {
@@ -335,9 +365,31 @@ public:
335
365
  }
336
366
  else
337
367
  {
338
- return this->_lb.equal(other._lb) && this->_ub.equal(other._ub);
339
- // TODO: IntervalValueZ3Expr equals
340
- // TODO: shall we consider expr and solve.
368
+ if (this->is_real() && other.is_real())
369
+ {
370
+ return this->_lb.equal(other._lb) && this->_ub.equal(other._ub);
371
+ }
372
+ else if (this->is_int() && other.is_int())
373
+ {
374
+ return this->_lb.equal(other._lb) && this->_ub.equal(other._ub);
375
+ }
376
+ else if (this->is_int())
377
+ {
378
+ double thislb = this->_lb.getIntNumeral();
379
+ double thisub = this->_ub.getIntNumeral();
380
+ double otherlb = other._lb.getRealNumeral();
381
+ double otherub = other._ub.getRealNumeral();
382
+ return thislb == otherlb && thisub == otherub;
383
+ }
384
+ else
385
+ {
386
+ double thislb = this->_lb.getRealNumeral();
387
+ double thisub = this->_ub.getRealNumeral();
388
+ double otherlb = other._lb.getIntNumeral();
389
+ double otherub = other._ub.getIntNumeral();
390
+ return thislb == otherlb && thisub == otherub;
391
+ }
392
+ assert(false && "not implemented");
341
393
  }
342
394
  }
343
395
 
@@ -50,6 +50,10 @@ public:
50
50
 
51
51
  NumericLiteral(const z3::expr &e) : _n(e) {}
52
52
 
53
+ NumericLiteral(float i) : _n(getContext().real_val(std::to_string(i).c_str())) {}
54
+
55
+ NumericLiteral(double i) : _n(getContext().real_val(std::to_string(i).c_str())) {}
56
+
53
57
  NumericLiteral(s32_t i) : _n(i) {}
54
58
 
55
59
  NumericLiteral(s64_t i) : _n(i) {}
@@ -114,12 +118,32 @@ public:
114
118
  return _n.is_zero();
115
119
  }
116
120
 
117
- /// Return Numeral
121
+ inline bool is_int() const
122
+ {
123
+ return _n.is_int();
124
+ }
125
+
126
+ inline bool is_real() const
127
+ {
128
+ return _n.is_real();
129
+ }
130
+
131
+ /// Return Numeral, default type is double in case to support both int and float
118
132
  inline s64_t getNumeral() const
119
133
  {
120
134
  return _n.getNumeral();
121
135
  }
122
136
 
137
+ inline double getRealNumeral() const
138
+ {
139
+ return _n.getRealNumeral();
140
+ }
141
+
142
+ inline s64_t getIntNumeral() const
143
+ {
144
+ return _n.getIntNumeral();
145
+ }
146
+
123
147
  /// Check two object is equal
124
148
  bool equal(const NumericLiteral &rhs) const
125
149
  {
@@ -79,6 +79,15 @@ public:
79
79
  /// Return the value range of Integer SVF Type, e.g. unsigned i8 Type->[0, 255], signed i8 Type->[-128, 127]
80
80
  IntervalValue getRangeLimitFromType(const SVFType* type);
81
81
 
82
+ IntervalValue getZExtValue(const SVFVar* var);
83
+ IntervalValue getSExtValue(const SVFVar* var);
84
+ IntervalValue getFPToSIntValue(const SVFVar* var);
85
+ IntervalValue getFPToUIntValue(const SVFVar* var);
86
+ IntervalValue getSIntToFPValue(const SVFVar* var);
87
+ IntervalValue getUIntToFPValue(const SVFVar* var);
88
+ IntervalValue getTruncValue(const SVFVar* var, const SVFType* dstType);
89
+ IntervalValue getFPTruncValue(const SVFVar* var, const SVFType* dstType);
90
+
82
91
  /// Return the byte offset expression of a GepStmt
83
92
  /// elemBytesize is the element byte size of an static alloc or heap alloc array
84
93
  /// e.g. GepStmt* gep = [i32*10], x, and x is [0,3]
@@ -206,6 +215,7 @@ private:
206
215
  RelExeState _relEs;
207
216
 
208
217
  Map<NodeID, IntervalExeState *> _br_cond;
218
+ IntervalValue getZExtValue(const SVFVar* var, const SVFType*);
209
219
  };
210
220
  }
211
221
 
@@ -638,7 +638,8 @@ private:
638
638
  /// Add Address edge
639
639
  AddrStmt* addAddrStmt(NodeID src, NodeID dst);
640
640
  /// Add Copy edge
641
- CopyStmt* addCopyStmt(NodeID src, NodeID dst);
641
+ CopyStmt* addCopyStmt(NodeID src, NodeID dst, CopyStmt::CopyKind type);
642
+
642
643
  /// Add phi node information
643
644
  PhiStmt* addPhiStmt(NodeID res, NodeID opnd, const ICFGNode* pred);
644
645
  /// Add SelectStmt
@@ -365,13 +365,15 @@ class CopyStmt: public AssignStmt
365
365
  {
366
366
  friend class SVFIRWriter;
367
367
  friend class SVFIRReader;
368
-
369
368
  private:
370
369
  /// Constructs empty CopyStmt (for SVFIRReader/serialization)
371
370
  CopyStmt() : AssignStmt(SVFStmt::Copy) {}
372
371
  CopyStmt(const CopyStmt&); ///< place holder
373
372
  void operator=(const CopyStmt&); ///< place holder
374
373
  public:
374
+ enum CopyKind {COPYVAL, ZEXT, SEXT, BITCAST, TRUNC, FPTRUNC,
375
+ FPTOUI, FPTOSI, UITOFP, SITOFP, INTTOPTR, PTRTOINT
376
+ };
375
377
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
376
378
  //@{
377
379
  static inline bool classof(const CopyStmt*)
@@ -388,10 +390,18 @@ public:
388
390
  }
389
391
  //@}
390
392
 
393
+ /// Return the kind of the copy statement
394
+ inline u32_t getCopyKind() const
395
+ {
396
+ return copyKind;
397
+ }
398
+
391
399
  /// constructor
392
- CopyStmt(SVFVar* s, SVFVar* d) : AssignStmt(s, d, SVFStmt::Copy) {}
400
+ CopyStmt(SVFVar* s, SVFVar* d, CopyKind k) : AssignStmt(s, d, SVFStmt::Copy), copyKind(k) {}
393
401
 
394
402
  virtual const std::string toString() const override;
403
+ private:
404
+ u32_t copyKind;
395
405
  };
396
406
 
397
407
  /*!
@@ -47,6 +47,10 @@ typedef unsigned u32_t;
47
47
  typedef signed s32_t;
48
48
  typedef unsigned long long u64_t;
49
49
  typedef signed long long s64_t;
50
+ typedef unsigned char u8_t;
51
+ typedef signed char s8_t;
52
+ typedef unsigned short u16_t;
53
+ typedef signed short s16_t;
50
54
 
51
55
  typedef u32_t NodeID;
52
56
  typedef u32_t EdgeID;
@@ -168,28 +168,7 @@ void AbstractExecution::handleGlobalNode()
168
168
  // Global Node, we just need to handle addr, load, store, copy and gep
169
169
  for (const SVFStmt *stmt: node->getSVFStmts())
170
170
  {
171
- if (const AddrStmt *addr = SVFUtil::dyn_cast<AddrStmt>(stmt))
172
- {
173
- _svfir2ExeState->translateAddr(addr);
174
- }
175
- else if (const LoadStmt *load = SVFUtil::dyn_cast<LoadStmt>(stmt))
176
- {
177
- _svfir2ExeState->translateLoad(load);
178
- }
179
- else if (const StoreStmt *store = SVFUtil::dyn_cast<StoreStmt>(stmt))
180
- {
181
- _svfir2ExeState->translateStore(store);
182
- }
183
- else if (const CopyStmt *copy = SVFUtil::dyn_cast<CopyStmt>(stmt))
184
- {
185
- _svfir2ExeState->translateCopy(copy);
186
- }
187
- else if (const GepStmt *gep = SVFUtil::dyn_cast<GepStmt>(stmt))
188
- {
189
- _svfir2ExeState->translateGep(gep);
190
- }
191
- else
192
- assert(false && "implement this part");
171
+ handleSVFStatement(stmt);
193
172
  }
194
173
  // for stmts in global node, exe state will move to global state to lower memory usage
195
174
  _svfir2ExeState->moveToGlobal();
@@ -341,7 +320,7 @@ bool AbstractExecution::hasCmpBranchES(const CmpStmt* cmpStmt, s64_t succ, Inter
341
320
  // for const X const, we may get concrete resVal instantly
342
321
  // for var X const, we may get [0,1] if the intersection of var and const is not empty set
343
322
  IntervalValue resVal = new_es[res_id];
344
- resVal.meet_with(IntervalValue((int64_t) succ, succ));
323
+ resVal.meet_with(IntervalValue((s64_t) succ, succ));
345
324
  // If Var X const generates bottom value, it means this branch path is not feasible.
346
325
  if (resVal.isBottom())
347
326
  {
@@ -1139,7 +1118,7 @@ void AbstractExecution::initExtFunMap()
1139
1118
  IntervalExeState &es = _svfir2ExeState->getEs(); \
1140
1119
  u32_t rhs_id = _svfir->getValueNode(cs.getArgument(0)); \
1141
1120
  if (!es.inVarToValTable(rhs_id)) return; \
1142
- u32_t rhs = _svfir2ExeState->getEs()[rhs_id].lb().getNumeral(); \
1121
+ u32_t rhs = _svfir2ExeState->getEs()[rhs_id].lb().getIntNumeral(); \
1143
1122
  s32_t res = FUNC_NAME(rhs); \
1144
1123
  u32_t lhsId = _svfir->getValueNode(cs.getInstruction()); \
1145
1124
  _svfir2ExeState->getEs()[lhsId] = IntervalValue(res); \
@@ -1223,11 +1202,11 @@ std::string AbstractExecution::strRead(const SVFValue* rhs)
1223
1202
  {
1224
1203
  break;
1225
1204
  }
1226
- if ((char) val.getNumeral() == '\0')
1205
+ if ((char) val.getIntNumeral() == '\0')
1227
1206
  {
1228
1207
  break;
1229
1208
  }
1230
- str0.push_back((char) val.getNumeral());
1209
+ str0.push_back((char) val.getIntNumeral());
1231
1210
  }
1232
1211
  return str0;
1233
1212
  }
@@ -1345,7 +1324,7 @@ void AbstractExecution::handleStrcpy(const CallICFGNode *call)
1345
1324
  const SVFValue* arg1Val = cs.getArgument(1);
1346
1325
  IntervalValue strLen = getStrlen(arg1Val);
1347
1326
  // no need to -1, since it has \0 as the last byte
1348
- handleMemcpy(arg0Val, arg1Val, strLen,strLen.lb().getNumeral());
1327
+ handleMemcpy(arg0Val, arg1Val, strLen,strLen.lb().getIntNumeral());
1349
1328
  }
1350
1329
 
1351
1330
  u32_t AbstractExecution::getAllocaInstByteSize(const AddrStmt *addr)
@@ -1372,7 +1351,7 @@ u32_t AbstractExecution::getAllocaInstByteSize(const AddrStmt *addr)
1372
1351
  _svfir2ExeState->getEs()[_svfir->getValueNode(value)] = IntervalValue(Options::MaxFieldLimit());
1373
1352
  }
1374
1353
  IntervalValue itv = _svfir2ExeState->getEs()[_svfir->getValueNode(value)];
1375
- res = res * itv.ub().getNumeral() > Options::MaxFieldLimit()? Options::MaxFieldLimit(): res * itv.ub().getNumeral();
1354
+ res = res * itv.ub().getIntNumeral() > Options::MaxFieldLimit()? Options::MaxFieldLimit(): res * itv.ub().getIntNumeral();
1376
1355
  }
1377
1356
  return (u32_t)res;
1378
1357
  }
@@ -1522,7 +1501,7 @@ IntervalValue AbstractExecution::getStrlen(const SVF::SVFValue *strValue)
1522
1501
  u32_t elemSize = 1;
1523
1502
  if (_svfir2ExeState->inVarToAddrsTable(dstid))
1524
1503
  {
1525
- for (u32_t index = 0; index < dst_size.lb().getNumeral(); index++)
1504
+ for (u32_t index = 0; index < dst_size.lb().getIntNumeral(); index++)
1526
1505
  {
1527
1506
  ExeState::Addrs expr0 = _svfir2ExeState->getGepObjAddress(dstid, index);
1528
1507
  IntervalValue val = IntervalValue::bottom();
@@ -1530,7 +1509,7 @@ IntervalValue AbstractExecution::getStrlen(const SVF::SVFValue *strValue)
1530
1509
  {
1531
1510
  val.join_with(es.load(addr));
1532
1511
  }
1533
- if (val.is_numeral() && (char) val.getNumeral() == '\0')
1512
+ if (val.is_numeral() && (char) val.getIntNumeral() == '\0')
1534
1513
  {
1535
1514
  break;
1536
1515
  }
@@ -1582,7 +1561,7 @@ void AbstractExecution::handleStrcat(const SVF::CallICFGNode *call)
1582
1561
  IntervalValue strLen0 = getStrlen(arg0Val);
1583
1562
  IntervalValue strLen1 = getStrlen(arg1Val);
1584
1563
  IntervalValue totalLen = strLen0 + strLen1;
1585
- handleMemcpy(arg0Val, arg1Val, strLen1, strLen0.lb().getNumeral());
1564
+ handleMemcpy(arg0Val, arg1Val, strLen1, strLen0.lb().getIntNumeral());
1586
1565
  // do memcpy
1587
1566
  }
1588
1567
  else if (std::find(strncatGroup.begin(), strncatGroup.end(), fun->getName()) != strncatGroup.end())
@@ -1594,7 +1573,7 @@ void AbstractExecution::handleStrcat(const SVF::CallICFGNode *call)
1594
1573
  IntervalValue arg2Num = _svfir2ExeState->getEs()[_svfir->getValueNode(arg2Val)];
1595
1574
  IntervalValue strLen0 = getStrlen(arg0Val);
1596
1575
  IntervalValue totalLen = strLen0 + arg2Num;
1597
- handleMemcpy(arg0Val, arg1Val, arg2Num, strLen0.lb().getNumeral());
1576
+ handleMemcpy(arg0Val, arg1Val, arg2Num, strLen0.lb().getIntNumeral());
1598
1577
  // do memcpy
1599
1578
  }
1600
1579
  else
@@ -1632,7 +1611,7 @@ void AbstractExecution::handleMemcpy(const SVF::SVFValue *dst, const SVF::SVFVal
1632
1611
  {
1633
1612
  assert(false && "we cannot support this type");
1634
1613
  }
1635
- u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().getNumeral());
1614
+ u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().getIntNumeral());
1636
1615
  u32_t range_val = size / elemSize;
1637
1616
  if (_svfir2ExeState->inVarToAddrsTable(srcId) && _svfir2ExeState->inVarToAddrsTable(dstId))
1638
1617
  {
@@ -1681,7 +1660,7 @@ void AbstractExecution::handleMemset(const SVF::SVFValue *dst, SVF::IntervalValu
1681
1660
  {
1682
1661
  IntervalExeState &es = _svfir2ExeState->getEs();
1683
1662
  u32_t dstId = _svfir->getValueNode(dst);
1684
- u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().getNumeral());
1663
+ u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().getIntNumeral());
1685
1664
  u32_t elemSize = 1;
1686
1665
  if (dst->getType()->isArrayTy())
1687
1666
  {
@@ -42,17 +42,17 @@ std::string IntervalToIntStr(const IntervalValue& inv)
42
42
  }
43
43
  else
44
44
  {
45
- int64_t lb_val = inv.lb().getNumeral();
46
- int64_t ub_val = inv.ub().getNumeral();
45
+ s64_t lb_val = inv.lb().getNumeral();
46
+ s64_t ub_val = inv.ub().getNumeral();
47
47
 
48
48
  // check lb
49
- s32_t lb_s32 = (lb_val < static_cast<int64_t>(INT_MIN)) ? INT_MIN :
50
- (lb_val > static_cast<int64_t>(INT_MAX)) ? INT_MAX :
49
+ s32_t lb_s32 = (lb_val < static_cast<s64_t>(INT_MIN)) ? INT_MIN :
50
+ (lb_val > static_cast<s64_t>(INT_MAX)) ? INT_MAX :
51
51
  static_cast<s32_t>(lb_val);
52
52
 
53
53
  // check ub
54
- s32_t ub_s32 = (ub_val < static_cast<int64_t>(INT_MIN)) ? INT_MIN :
55
- (ub_val > static_cast<int64_t>(INT_MAX)) ? INT_MAX :
54
+ s32_t ub_s32 = (ub_val < static_cast<s64_t>(INT_MIN)) ? INT_MIN :
55
+ (ub_val > static_cast<s64_t>(INT_MAX)) ? INT_MAX :
56
56
  static_cast<s32_t>(ub_val);
57
57
 
58
58
  return "[" + std::to_string(lb_s32) + ", " + std::to_string(ub_s32) + "]";