svf-tools 1.0.337 → 1.0.341

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 (105) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -2
  6. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  7. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
  10. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +7 -7
  13. package/SVF-doxygen/html/html/SVFIR_8h_source.html +10 -10
  14. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +91 -87
  15. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +20 -19
  17. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +29 -27
  19. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +48 -46
  20. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
  22. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  23. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  24. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
  25. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +1 -1
  26. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +13 -11
  27. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +12 -12
  28. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +12 -12
  29. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  30. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +2 -2
  31. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +46 -14
  32. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +2 -2
  33. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +45 -14
  34. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +14 -14
  35. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
  36. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +1 -3
  37. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  38. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +32 -32
  39. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +27 -27
  40. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -2
  41. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  42. package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +23 -22
  43. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +69 -46
  44. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +1 -1
  45. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +17 -15
  46. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +141 -106
  47. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +18 -18
  48. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +6 -6
  49. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
  50. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +75 -73
  51. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +60 -16
  52. package/SVF-doxygen/html/html/classSVF_1_1RetPN.png +0 -0
  53. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +10 -10
  54. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +3 -3
  55. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  56. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  57. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +24 -24
  58. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +22 -21
  59. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +33 -33
  60. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +15 -15
  62. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +17 -11
  63. package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +74 -72
  65. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +60 -16
  66. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.png +0 -0
  67. package/SVF-doxygen/html/html/functions_c.html +18 -13
  68. package/SVF-doxygen/html/html/functions_eval_c.html +5 -2
  69. package/SVF-doxygen/html/html/functions_func_c.html +19 -19
  70. package/SVF-doxygen/html/html/functions_func_i.html +19 -17
  71. package/SVF-doxygen/html/html/functions_i.html +19 -17
  72. package/SVF-doxygen/html/html/functions_m.html +1 -1
  73. package/SVF-doxygen/html/html/functions_n.html +3 -3
  74. package/SVF-doxygen/html/html/functions_o.html +10 -10
  75. package/SVF-doxygen/html/html/functions_p.html +17 -23
  76. package/SVF-doxygen/html/html/functions_s.html +7 -9
  77. package/SVF-doxygen/html/html/functions_w.html +5 -9
  78. package/SVF-doxygen/html/html/hierarchy.html +5 -5
  79. package/SVF-doxygen/html/html/search/all_10.js +11 -11
  80. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  81. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  82. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  83. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  84. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  85. package/SVF-doxygen/html/html/search/all_3.js +3 -2
  86. package/SVF-doxygen/html/html/search/all_9.js +4 -4
  87. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  88. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  89. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  90. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  91. package/SVF-doxygen/html/html/search/enumvalues_2.js +2 -1
  92. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  93. package/SVF-doxygen/html/html/search/functions_8.js +4 -4
  94. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  95. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  96. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  97. package/include/MemoryModel/SVFIR.h +1 -1
  98. package/include/MemoryModel/SVFVariables.h +25 -4
  99. package/include/MemoryModel/SymbolTableInfo.h +17 -11
  100. package/lib/MSSA/MemSSA.cpp +1 -1
  101. package/lib/MemoryModel/SymbolTableInfo.cpp +12 -7
  102. package/lib/SVF-FE/ICFGBuilder.cpp +0 -1
  103. package/lib/SVF-FE/SymbolTableBuilder.cpp +10 -10
  104. package/lib/Util/PTAStat.cpp +3 -3
  105. package/package.json +1 -1
@@ -52,20 +52,20 @@ void SymbolTableBuilder::buildMemModel(SVFModule* svfModule)
52
52
 
53
53
  StInfo::setMaxFieldLimit(Options::MaxFieldLimit);
54
54
 
55
- // Object #0 is black hole the object that may point to any object
55
+ // Pointer #0 always represents the null pointer.
56
+ assert(symInfo->totalSymNum++ == SymbolTableInfo::NullPtr && "Something changed!");
57
+
58
+ // Pointer #1 always represents the pointer points-to black hole.
59
+ assert(symInfo->totalSymNum++ == SymbolTableInfo::BlkPtr && "Something changed!");
60
+
61
+ // Object #2 is black hole the object that may point to any object
56
62
  assert(symInfo->totalSymNum++ == SymbolTableInfo::BlackHole && "Something changed!");
57
63
  symInfo->createBlkObj(SymbolTableInfo::BlackHole);
58
64
 
59
- // Object #1 always represents the constant
65
+ // Object #3 always represents the unique constant of a program (merging all constants if Options::ModelConsts is disabled)
60
66
  assert(symInfo->totalSymNum++ == SymbolTableInfo::ConstantObj && "Something changed!");
61
67
  symInfo->createConstantObj(SymbolTableInfo::ConstantObj);
62
68
 
63
- // Pointer #2 always represents the pointer points-to black hole.
64
- assert(symInfo->totalSymNum++ == SymbolTableInfo::BlkPtr && "Something changed!");
65
-
66
- // Pointer #3 always represents the null pointer.
67
- assert(symInfo->totalSymNum++ == SymbolTableInfo::NullPtr && "Something changed!");
68
-
69
69
  // Add symbols for all the globals .
70
70
  for (SVFModule::global_iterator I = svfModule->global_begin(), E =
71
71
  svfModule->global_end(); I != E; ++I)
@@ -567,7 +567,7 @@ void SymbolTableBuilder::initTypeInfo(ObjTypeInfo* typeinfo, const Value* val){
567
567
  {
568
568
  typeinfo->setFlag(ObjTypeInfo::GLOBVAR_OBJ);
569
569
  if(SymbolTableInfo::SymbolInfo()->isConstantObjSym(val))
570
- typeinfo->setFlag(ObjTypeInfo::CONST_OBJ);
570
+ typeinfo->setFlag(ObjTypeInfo::CONST_GLOBAL_OBJ);
571
571
  analyzeGlobalStackObjType(typeinfo,val);
572
572
  objSize = getObjSize(val);
573
573
  }
@@ -591,7 +591,7 @@ void SymbolTableBuilder::initTypeInfo(ObjTypeInfo* typeinfo, const Value* val){
591
591
  }
592
592
  else if(SVFUtil::isConstantData(val))
593
593
  {
594
- typeinfo->setFlag(ObjTypeInfo::CONST_OBJ);
594
+ typeinfo->setFlag(ObjTypeInfo::CONST_DATA);
595
595
  }
596
596
  else{
597
597
  assert("what other object do we have??");
@@ -170,13 +170,13 @@ void PTAStat::performStat()
170
170
  numOfHasVarArray++;
171
171
  if(mem->isVarStruct())
172
172
  numOfHasVarStruct++;
173
- if(mem->isConstArray())
173
+ if(mem->isConstantArray())
174
174
  numOfHasConstArray++;
175
- if(mem->isConstStruct())
175
+ if(mem->isConstantStruct())
176
176
  numOfHasConstStruct++;
177
177
  if(mem->hasPtrObj() == false)
178
178
  numOfScalar++;
179
- if(mem->isConstant())
179
+ if(mem->isConstDataOrConstGlobal())
180
180
  numOfConstant++;
181
181
 
182
182
  if (mem->isFieldInsensitive())
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.337",
3
+ "version": "1.0.341",
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": {