Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove MemObj in SVFIR #1631

Merged
merged 5 commits into from
Jan 17, 2025
Merged

remove MemObj in SVFIR #1631

merged 5 commits into from
Jan 17, 2025

Conversation

bjjwwang
Copy link
Contributor

No description provided.

Copy link

codecov bot commented Jan 15, 2025

Codecov Report

Attention: Patch coverage is 82.95455% with 45 lines in your changes missing coverage. Please review.

Project coverage is 63.25%. Comparing base (a837b3f) to head (add5823).
Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
svf/include/SVFIR/SVFVariables.h 71.42% 16 Missing ⚠️
svf/include/SVFIR/SVFIR.h 84.37% 10 Missing ⚠️
svf/lib/SVFIR/SymbolTableInfo.cpp 40.00% 6 Missing ⚠️
svf-llvm/lib/SVFIRBuilder.cpp 85.71% 4 Missing ⚠️
svf/lib/DDA/ContextDDA.cpp 50.00% 2 Missing ⚠️
svf/lib/AE/Core/AbstractState.cpp 80.00% 1 Missing ⚠️
svf/lib/AE/Svfexe/AbsExtAPI.cpp 75.00% 1 Missing ⚠️
svf/lib/SVFIR/PAGBuilderFromFile.cpp 0.00% 1 Missing ⚠️
svf/lib/SVFIR/SVFFileSystem.cpp 0.00% 1 Missing ⚠️
svf/lib/SVFIR/SVFIR.cpp 94.44% 1 Missing ⚠️
... and 2 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1631      +/-   ##
==========================================
+ Coverage   62.92%   63.25%   +0.33%     
==========================================
  Files         247      247              
  Lines       27746    27468     -278     
  Branches     4550     4548       -2     
==========================================
- Hits        17459    17376      -83     
+ Misses      10287    10092     -195     
Files with missing lines Coverage Δ
svf-llvm/include/SVF-LLVM/SymbolTableBuilder.h 100.00% <ø> (ø)
svf-llvm/lib/SymbolTableBuilder.cpp 89.33% <100.00%> (+0.06%) ⬆️
svf/include/DDA/DDAVFSolver.h 90.61% <100.00%> (-0.07%) ⬇️
svf/include/Graphs/ConsG.h 83.33% <ø> (ø)
svf/include/Graphs/IRGraph.h 92.59% <100.00%> (-0.27%) ⬇️
svf/include/MemoryModel/PointerAnalysis.h 77.08% <100.00%> (-1.35%) ⬇️
svf/include/SVFIR/SVFFileSystem.h 42.40% <ø> (+15.27%) ⬆️
svf/include/SVFIR/SymbolTableInfo.h 96.15% <100.00%> (+2.60%) ⬆️
svf/lib/AE/Svfexe/AEDetector.cpp 84.33% <100.00%> (-0.19%) ⬇️
svf/lib/CFL/CFLGraphBuilder.cpp 65.20% <100.00%> (ø)
... and 22 more

... and 2 files with indirect coverage changes

@@ -424,17 +415,17 @@ class SVFIR : public IRGraph

inline const MemObj*getObject(const ObjVar* node) const
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we still need this method?

isSU = true;
if (!pta->isHeapMemObj(singleton) && !pta->isArrayMemObj(singleton)) {
// ABTest
assert(SVFIR::getPAG()->getBaseObject(singleton)->isFieldInsensitive() ==
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove abtest

@@ -335,7 +335,7 @@ cJSON* SVFIRWriter::contentToJson(const ValVar* var)
cJSON* SVFIRWriter::contentToJson(const ObjVar* var)
{
cJSON* root = contentToJson(static_cast<const SVFVar*>(var));
JSON_WRITE_FIELD(root, var, mem);
//JSON_WRITE_FIELD(root, var, mem);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove comment

@@ -1941,7 +1941,7 @@ void SVFIRReader::fill(const cJSON*& fieldJson, ValVar* var)
void SVFIRReader::fill(const cJSON*& fieldJson, ObjVar* var)
{
fill(fieldJson, static_cast<SVFVar*>(var));
JSON_READ_FIELD_FWD(fieldJson, var, mem);
//JSON_READ_FIELD_FWD(fieldJson, var, mem);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove comment

@@ -634,7 +618,7 @@ class SVFIR : public IRGraph
const MemObj* mem = getMemObj(val);
assert(mem->getId() == i && "not same object id?");
memToFieldsMap[i].set(i);
HeapObjVar *node = new HeapObjVar(i, mem, val->getType(), f);
HeapObjVar *node = new HeapObjVar(val, i, mem->getObjTypeInfo(), mem->getGNode(), f);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

directly pass typeinfo in the parameters, don't pass memobj

@bjjwwang
Copy link
Contributor Author

--- SVF/nohup.out 2025-01-15 14:39:59.865910492 +1100
+++ base/SVF/nohup.out 2025-01-15 14:26:31.616841188 +1100
@@ -31,8 +31,8 @@
VarArrayObj 831
VarStructObj 1663
----------------Time and memory stats--------------------
-LLVMIRTime 4.083
-SVFIRTime 2.788
+LLVMIRTime 4.03
+SVFIRTime 2.768
SymbolTableTime 0.513
#######################################################

@@ -60,11 +60,11 @@
CollapseTime 0
CopyGepTime 0
LoadStoreTime 0
-MemoryUsageVmrss 4.16606e+06
+MemoryUsageVmrss 4.16599e+06
MemoryUsageVmsize 4.16574e+06
SCCDetectTime 0
SCCMergeTime 0
-TotalTime 119.468
+TotalTime 116.717
UpdateCGTime 0
----------------Numbers stats----------------------------
AddrProcessed 17879
@@ -115,32 +115,32 @@
Persistent Points-To Cache Statistics: Andersen's analysis bitvector
################ (program : redis-server.bc)###############
UniquePointsToSets 44826
-TotalUnions 672615
+TotalUnions 672608
PropertyUnions 222181
-UniqueUnions 19257
-LookupUnions 395182
-PreemptiveUnions 35995
+UniqueUnions 19260
+LookupUnions 395179
+PreemptiveUnions 35988
TotalComplements 3364058
PropertyComplements 2998447
UniqueComplements 16887
LookupComplements 331839
PreemptiveComplements 16885
-TotalIntersections 4184776
-PropertyIntersections 4147427
-UniqueIntersections 852
-LookupIntersections 2194
-PreemptiveIntersections 34303
+TotalIntersections 4184766
+PropertyIntersections 4147466
+UniqueIntersections 827
+LookupIntersections 2180
+PreemptiveIntersections 34293
#######################################################

Memory SSA Statistics******
################ (program : redis-server.bc)###############
----------------Time and memory stats--------------------
AverageRegSize 85.8766
-GenMUCHITime 1.866
-GenRegionTime 580.08
-InsertPHITime 0.517
-SSARenameTime 0.114
-TotalMSSATime 582.583
+GenMUCHITime 1.8
+GenRegionTime 536.025
+InsertPHITime 0.523
+SSARenameTime 0.081
+TotalMSSATime 538.436
----------------Numbers stats----------------------------
BBHasMSSAPhi 10656
CSChiNode 110781
@@ -163,13 +163,13 @@
SVFG Statistics******
################ (program : redis-server.bc)###############
----------------Time and memory stats--------------------
-ATNodeTime 0.92
+ATNodeTime 0.896
AvgWeight 168.49
ConnDirEdgeTime 0
-ConnIndEdgeTime 4.783
+ConnIndEdgeTime 4.55
OptTime 0
TLNodeTime 0
-TotalTime 5.703
+TotalTime 5.446
----------------Numbers stats----------------------------
ActualIn 162728
ActualOut 110781
@@ -233,16 +233,16 @@
GepTime 0
IndirectPropaTime 0
LoadTime 0
-MemoryUsageVmrss 1.48987e+07
-MemoryUsageVmsize 1.48982e+07
+MemoryUsageVmrss 1.48854e+07
+MemoryUsageVmsize 1.48846e+07
PhiTime 0
ProcessTime 0
PropagationTime 0
SCCTime 0
-SolveTime 5991.15
+SolveTime 5216.3
StoreTime 0
Strong/WeakUpdTime 0
-TotalTime 6708.85
+TotalTime 5886.65
UpdateCGTime 0
----------------Numbers stats----------------------------
AI_SNodesHaveIN 0
@@ -280,13 +280,13 @@
PotentialVarHaveOUT 0
ProcessedAParam 0
ProcessedAddr 107274
-ProcessedCopy 215606
+ProcessedCopy 213316
ProcessedFRet 0
-ProcessedGep 1101424
-ProcessedLoad 1955800
-ProcessedMSSANode 16776460
-ProcessedPhi 149821
-ProcessedStore 541632
+ProcessedGep 1088580
+ProcessedLoad 1943161
+ProcessedMSSANode 16415372
+ProcessedPhi 148932
+ProcessedStore 537548
SNodesHaveIN 0
SNodesHaveOUT 0
ST_SNodesHaveIN 0
@@ -318,12 +318,12 @@

Persistent Points-To Cache Statistics: flow-sensitive analysis bitvector
################ (program : redis-server.bc)###############
-UniquePointsToSets 35488
-TotalUnions 27469517822
-PropertyUnions 21890216836
-UniqueUnions 96065
-LookupUnions 5579077776
-PreemptiveUnions 127145
+UniquePointsToSets 34884
+TotalUnions 27217991213
+PropertyUnions 21751260038
+UniqueUnions 92879
+LookupUnions 5466515348
+PreemptiveUnions 122948
TotalComplements 0
PropertyComplements 0
UniqueComplements 0

{
u32_t sz = objvar->getMemObj()->getByteSizeOfObj();
u32_t sz = PAG::getPAG()->getBaseObject(objvar->getId())->getByteSizeOfObj();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add a method getBaseObject() in ObjVar, BaseObjVar and GepObjVar

@@ -741,14 +725,18 @@ class SVFIR : public IRGraph
inline NodeID addBlackholeObjNode()
{
return addObjNode(
nullptr, new DummyObjVar(getBlackHoleNode(), getBlackHoleObj()),
getBlackHoleNode());
nullptr, new DummyObjVar(getBlackHoleNode(),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reduce the number of arguments. The first and last arguments are the same.

pass ObjtypeInfo directly.

}
inline NodeID addConstantObjNode()
{
return addObjNode(nullptr,
new DummyObjVar(getConstantNode(), getConstantObj()),
getConstantNode());
new DummyObjVar(getConstantNode(),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

PNODEK ty = GepObjNode)
: ObjVar(mem->getValue(), i, mem, ty), apOffset(apOffset)
/// Constructorx
BaseObjVar(const SVFValue* val, NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node, PNODEK ty = BaseObjNode)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SVFValue will be removed later?

virtual const std::string toString() const;

/// Get the memory object id
inline SymID getId() const
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SymID => NodeID

@@ -785,7 +932,7 @@ class StackObjVar: public BaseObjVar
//@}

/// Constructor
StackObjVar(NodeID i, const MemObj* mem, const SVFType* svfType,
StackObjVar(const SVFValue* val, NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -724,7 +871,7 @@ class HeapObjVar: public BaseObjVar
//@}

/// Constructor
HeapObjVar(NodeID i, const MemObj* mem, const SVFType* svfType,
HeapObjVar(const SVFValue* val, NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why we need "ObjTypeInfo* ti" as the argument? HeapObjVar is a subclass of SVFBaseNode

@@ -886,7 +1033,7 @@ class FunObjVar : public BaseObjVar
//@}

/// Constructor
FunObjVar(NodeID i, const MemObj* mem, const CallGraphNode* cgNode,
FunObjVar(const SVFValue* val, NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node, const CallGraphNode* cgNode,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -1221,8 +1368,8 @@ class GlobalObjVar : public BaseObjVar
//@}

/// Constructor
GlobalObjVar(const SVFValue* val, NodeID i, const MemObj* mem,
PNODEK ty = GlobalObjNode): BaseObjVar(val, i,mem,ty)
GlobalObjVar(const SVFValue* val, NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -1270,8 +1417,8 @@ class ConstantDataObjVar: public BaseObjVar
//@}

/// Constructor
ConstantDataObjVar(const SVFValue* val, NodeID i, const MemObj* m, PNODEK ty = ConstantDataObjNode)
: BaseObjVar(val, i, m, ty)
ConstantDataObjVar(const SVFValue* val, NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node, PNODEK ty = ConstantDataObjNode)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -1327,8 +1474,8 @@ class ConstantFPObjVar: public ConstantDataObjVar
//@}

/// Constructor
ConstantFPObjVar(const SVFValue* val, NodeID i, double dv, const MemObj* m, PNODEK ty = ConstantFPObjNode)
: ConstantDataObjVar(val, i, m, ty), dval(dv)
ConstantFPObjVar(const SVFValue* val, NodeID i, double dv, ObjTypeInfo* ti, const SVFBaseNode* node, PNODEK ty = ConstantFPObjNode)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -1402,8 +1549,8 @@ class ConstantIntObjVar: public ConstantDataObjVar
//@}

/// Constructor
ConstantIntObjVar(const SVFValue* val, NodeID i, s64_t sv, u64_t zv, const MemObj* m, PNODEK ty = ConstantIntObjNode)
: ConstantDataObjVar(val, i, m, ty), zval(zv), sval(sv)
ConstantIntObjVar(const SVFValue* val, NodeID i, s64_t sv, u64_t zv, ObjTypeInfo* ti, const SVFBaseNode* node, PNODEK ty = ConstantIntObjNode)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -1457,8 +1604,8 @@ class ConstantNullPtrObjVar: public ConstantDataObjVar
//@}

/// Constructor
ConstantNullPtrObjVar(const SVFValue* val, NodeID i, const MemObj* m, PNODEK ty = ConstantNullptrObjNode)
: ConstantDataObjVar(val, i, m, ty)
ConstantNullPtrObjVar(const SVFValue* val, NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node, PNODEK ty = ConstantNullptrObjNode)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -1655,8 +1802,8 @@ class DummyObjVar: public BaseObjVar
//@}

/// Constructor
DummyObjVar(NodeID i, const MemObj* m, PNODEK ty = DummyObjNode)
: BaseObjVar(nullptr, i, m, ty)
DummyObjVar(NodeID i, ObjTypeInfo* ti, const SVFBaseNode* node, PNODEK ty = DummyObjNode)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

memToFieldsMap[base].set(gepId);
return addObjNode(obj->getValue(), node, gepId);
return addObjNode(baseObj->hasValue()? baseObj->getValue(): nullptr, node, gepId);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this line is different from previous version? Why baseObj->hasValue() here?

@@ -468,7 +469,7 @@ NodeID SVFIR::addFIObjNode(const MemObj* obj)
//assert(findPAGNode(i) == false && "this node should not be created before");
NodeID base = obj->getId();
memToFieldsMap[base].set(obj->getId());
BaseObjVar*node = new BaseObjVar(obj->getValue(), obj->getId(), obj);
BaseObjVar* node = new BaseObjVar(obj->getValue(), obj->getId(), obj->getObjTypeInfo(), obj->getGNode());
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why we need to pass the parent class object "obj->getGNode()" here to create a subclass object?

@@ -479,14 +480,14 @@ NodeID SVFIR::addFunObjNode(NodeID id, const CallGraphNode* callGraphNode)
//assert(findPAGNode(i) == false && "this node should not be created before");
NodeID base = mem->getId();
memToFieldsMap[base].set(mem->getId());
FunObjVar*node = new FunObjVar(id, mem, callGraphNode);
FunObjVar* node = new FunObjVar(mem->getValue(), id, mem->getObjTypeInfo(), mem->getGNode(), callGraphNode);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

return addObjNode(nullptr,
new DummyObjVar(getConstantNode(), getConstantObj()),
getConstantNode());
return addObjNode(nullptr, new DummyObjVar(getConstantNode(), symInfo->getObjTypeInfo(getConstantNode())), getConstantNode());
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first and last arguments are the same?

inline NodeID addBlackholeObjNode()
{
return addObjNode(
nullptr, new DummyObjVar(getBlackHoleNode(), getBlackHoleObj()),
getBlackHoleNode());
nullptr, new DummyObjVar(getBlackHoleNode(), symInfo->getObjTypeInfo(getBlackHoleNode())), getBlackHoleNode());
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first and last arguments are the same?

inline const MemObj* addDummyMemObj(NodeID i, const SVFType* type)
{
return getSymbolInfo()->createDummyObj(i,type);
return addObjNode(nullptr, new DummyObjVar(i,symInfo->createObjTypeInfo(type)), i);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first and last arguments are the same?

@bjjwwang
Copy link
Contributor Author

--- SVF/nohup.out 2025-01-17 01:27:29.490423431 +1100
+++ base/SVF/nohup.out 2025-01-15 14:26:31.616841188 +1100
@@ -24,16 +24,16 @@
StoresNum 54384
TotalCallSite 40681
TotalFieldObjects 5886
-TotalObjects 9758
+TotalObjects 9820
TotalPTASVFStmts 220509
TotalPointers 497028
TotalSVFStmts 453003
VarArrayObj 831
VarStructObj 1663
----------------Time and memory stats--------------------
-LLVMIRTime 4.472
-SVFIRTime 2.969
-SymbolTableTime 0.55
+LLVMIRTime 4.03
+SVFIRTime 2.768
+SymbolTableTime 0.513
#######################################################

PTACallGraph Stats (Andersen analysis)******
@@ -60,11 +60,11 @@
CollapseTime 0
CopyGepTime 0
LoadStoreTime 0
-MemoryUsageVmrss 4.16603e+06
-MemoryUsageVmsize 4.16573e+06
+MemoryUsageVmrss 4.16599e+06
+MemoryUsageVmsize 4.16574e+06
SCCDetectTime 0
SCCMergeTime 0
-TotalTime 148.515
+TotalTime 116.717
UpdateCGTime 0
----------------Numbers stats----------------------------
AddrProcessed 17879
@@ -86,7 +86,7 @@
MaxOutLoadEdge 153
MaxOutStoreEdge 7137
MaxPtsSetSize 1743
-MemObjects 9758
+MemObjects 9820
NodesInCycles 3068
NullPointer 12175
NumOfAddrs 16160
@@ -107,7 +107,7 @@
SolveIterations 19
StoreProcessed 18514239
TotalCycleNum 595
-TotalObjects 15644
+TotalObjects 15706
TotalPWCCycleNum 145
TotalPointers 497028
#######################################################
@@ -115,32 +115,32 @@
Persistent Points-To Cache Statistics: Andersen's analysis bitvector
################ (program : redis-server.bc)###############
UniquePointsToSets 44826
-TotalUnions 672600
+TotalUnions 672608
PropertyUnions 222181
-UniqueUnions 19258
-LookupUnions 395181
-PreemptiveUnions 35980
+UniqueUnions 19260
+LookupUnions 395179
+PreemptiveUnions 35988
TotalComplements 3364058
PropertyComplements 2998447
UniqueComplements 16887
LookupComplements 331839
PreemptiveComplements 16885
-TotalIntersections 4184760
-PropertyIntersections 4147498
-UniqueIntersections 836
-LookupIntersections 2139
-PreemptiveIntersections 34287
+TotalIntersections 4184766
+PropertyIntersections 4147466
+UniqueIntersections 827
+LookupIntersections 2180
+PreemptiveIntersections 34293
#######################################################

Memory SSA Statistics******
################ (program : redis-server.bc)###############
----------------Time and memory stats--------------------
AverageRegSize 85.8766
-GenMUCHITime 1.855
-GenRegionTime 691.745
-InsertPHITime 0.527
-SSARenameTime 0.165
-TotalMSSATime 694.31
+GenMUCHITime 1.8
+GenRegionTime 536.025
+InsertPHITime 0.523
+SSARenameTime 0.081
+TotalMSSATime 538.436
----------------Numbers stats----------------------------
BBHasMSSAPhi 10656
CSChiNode 110781
@@ -163,13 +163,13 @@
SVFG Statistics******
################ (program : redis-server.bc)###############
----------------Time and memory stats--------------------
-ATNodeTime 0.997
+ATNodeTime 0.896
AvgWeight 168.49
ConnDirEdgeTime 0
-ConnIndEdgeTime 4.876
+ConnIndEdgeTime 4.55
OptTime 0
TLNodeTime 0
-TotalTime 5.873
+TotalTime 5.446
----------------Numbers stats----------------------------
ActualIn 162728
ActualOut 110781
@@ -233,16 +233,16 @@
GepTime 0
IndirectPropaTime 0
LoadTime 0
-MemoryUsageVmrss 1.48906e+07
-MemoryUsageVmsize 1.48898e+07
+MemoryUsageVmrss 1.48854e+07
+MemoryUsageVmsize 1.48846e+07
PhiTime 0
ProcessTime 0
PropagationTime 0
SCCTime 0
-SolveTime 6812.87
+SolveTime 5216.3
StoreTime 0
Strong/WeakUpdTime 0
-TotalTime 7673.78
+TotalTime 5886.65
UpdateCGTime 0
----------------Numbers stats----------------------------
AI_SNodesHaveIN 0
@@ -266,7 +266,7 @@
MaxPtsSize 1709
MaxSCCSize 361291
MaxTopLvlPtsSize 1709
-MemObjects 9758
+MemObjects 9820
NullPointer 14313
NumOfAddrTakenVar 2168910
NumOfNodesInSCC 365425
@@ -280,13 +280,13 @@
PotentialVarHaveOUT 0
ProcessedAParam 0
ProcessedAddr 107274
-ProcessedCopy 214305
+ProcessedCopy 213316
ProcessedFRet 0
-ProcessedGep 1094601
-ProcessedLoad 1965592
-ProcessedMSSANode 16691569
-ProcessedPhi 149687
-ProcessedStore 544622
+ProcessedGep 1088580
+ProcessedLoad 1943161
+ProcessedMSSANode 16415372
+ProcessedPhi 148932
+ProcessedStore 537548
SNodesHaveIN 0
SNodesHaveOUT 0
ST_SNodesHaveIN 0
@@ -294,7 +294,7 @@
SolveIterations 6
StoresNum 24167
StrongUpdates 3377
-TotalObjects 15670
+TotalObjects 15732
TotalPointers 497028
VarHaveEmptyIN 0
VarHaveEmptyOUT 0
@@ -318,12 +318,12 @@

Persistent Points-To Cache Statistics: flow-sensitive analysis bitvector
################ (program : redis-server.bc)###############
-UniquePointsToSets 34961
-TotalUnions 27774121657
-PropertyUnions 22239868993
-UniqueUnions 97376
-LookupUnions 5534026328
-PreemptiveUnions 128960
+UniquePointsToSets 34884
+TotalUnions 27217991213
+PropertyUnions 21751260038
+UniqueUnions 92879
+LookupUnions 5466515348
+PreemptiveUnions 122948
TotalComplements 0
PropertyComplements 0
UniqueComplements 0

@yuleisui yuleisui merged commit 89b8815 into SVF-tools:master Jan 17, 2025
5 checks passed
Geoffrey1014 pushed a commit to Geoffrey1014/SVF that referenced this pull request Jan 27, 2025
* AB Test, pass all ci

* AB Test removed, pass all ci

* remove MemObj

* fix asan err

* remove useless NodeID

---------

Co-authored-by: bjjwwang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants