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.
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +91 -87
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +20 -19
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +29 -27
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +48 -46
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +13 -11
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +46 -14
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +45 -14
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +1 -3
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +69 -46
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +17 -15
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +141 -106
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +75 -73
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +60 -16
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +22 -21
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +17 -11
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +74 -72
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +60 -16
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.png +0 -0
- package/SVF-doxygen/html/html/functions_c.html +18 -13
- package/SVF-doxygen/html/html/functions_eval_c.html +5 -2
- package/SVF-doxygen/html/html/functions_func_c.html +19 -19
- package/SVF-doxygen/html/html/functions_func_i.html +19 -17
- package/SVF-doxygen/html/html/functions_i.html +19 -17
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_n.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +10 -10
- package/SVF-doxygen/html/html/functions_p.html +17 -23
- package/SVF-doxygen/html/html/functions_s.html +7 -9
- package/SVF-doxygen/html/html/functions_w.html +5 -9
- package/SVF-doxygen/html/html/hierarchy.html +5 -5
- package/SVF-doxygen/html/html/search/all_10.js +11 -11
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_14.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +3 -2
- package/SVF-doxygen/html/html/search/all_9.js +4 -4
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +2 -2
- package/SVF-doxygen/html/html/search/enumvalues_2.js +2 -1
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +4 -4
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/include/MemoryModel/SVFIR.h +1 -1
- package/include/MemoryModel/SVFVariables.h +25 -4
- package/include/MemoryModel/SymbolTableInfo.h +17 -11
- package/lib/MSSA/MemSSA.cpp +1 -1
- package/lib/MemoryModel/SymbolTableInfo.cpp +12 -7
- package/lib/SVF-FE/ICFGBuilder.cpp +0 -1
- package/lib/SVF-FE/SymbolTableBuilder.cpp +10 -10
- package/lib/Util/PTAStat.cpp +3 -3
- 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
|
-
//
|
|
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 #
|
|
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::
|
|
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::
|
|
594
|
+
typeinfo->setFlag(ObjTypeInfo::CONST_DATA);
|
|
595
595
|
}
|
|
596
596
|
else{
|
|
597
597
|
assert("what other object do we have??");
|
package/lib/Util/PTAStat.cpp
CHANGED
|
@@ -170,13 +170,13 @@ void PTAStat::performStat()
|
|
|
170
170
|
numOfHasVarArray++;
|
|
171
171
|
if(mem->isVarStruct())
|
|
172
172
|
numOfHasVarStruct++;
|
|
173
|
-
if(mem->
|
|
173
|
+
if(mem->isConstantArray())
|
|
174
174
|
numOfHasConstArray++;
|
|
175
|
-
if(mem->
|
|
175
|
+
if(mem->isConstantStruct())
|
|
176
176
|
numOfHasConstStruct++;
|
|
177
177
|
if(mem->hasPtrObj() == false)
|
|
178
178
|
numOfScalar++;
|
|
179
|
-
if(mem->
|
|
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.
|
|
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": {
|