svf-lib 1.0.1989 → 1.0.1991
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-linux/Release-build/bin/ae +0 -0
- package/SVF-linux/Release-build/bin/svf-ex +0 -0
- package/SVF-linux/Release-build/include/AE/Core/AbstractValue.h +15 -0
- package/SVF-linux/Release-build/include/AE/Svfexe/AbstractInterpretation.h +4 -4
- package/SVF-linux/Release-build/include/AE/Svfexe/SVFIR2AbsState.h +1 -1
- package/SVF-linux/Release-build/lib/libSvfCore.a +0 -0
- package/SVF-osx/Release-build/bin/ae +0 -0
- package/SVF-osx/Release-build/bin/svf-ex +0 -0
- package/SVF-osx/Release-build/include/AE/Core/AbstractValue.h +15 -0
- package/SVF-osx/Release-build/include/AE/Svfexe/AbstractInterpretation.h +4 -4
- package/SVF-osx/Release-build/include/AE/Svfexe/SVFIR2AbsState.h +1 -1
- package/SVF-osx/Release-build/lib/libSvfCore.a +0 -0
- package/SVF-osx/Release-build/lib/libSvfLLVM.a +0 -0
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
@@ -125,6 +125,21 @@ public:
|
|
|
125
125
|
}
|
|
126
126
|
return *this;
|
|
127
127
|
}
|
|
128
|
+
|
|
129
|
+
AbstractValue& operator=(const IntervalValue& other)
|
|
130
|
+
{
|
|
131
|
+
type = IntervalType;
|
|
132
|
+
interval = other;
|
|
133
|
+
return *this;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
AbstractValue& operator=(const AddressValue& other)
|
|
137
|
+
{
|
|
138
|
+
type = AddressType;
|
|
139
|
+
addr = other;
|
|
140
|
+
return *this;
|
|
141
|
+
}
|
|
142
|
+
|
|
128
143
|
AbstractValue operator==(const AbstractValue& other) const
|
|
129
144
|
{
|
|
130
145
|
assert(isInterval() && other.isInterval());
|
|
@@ -364,10 +364,10 @@ private:
|
|
|
364
364
|
|
|
365
365
|
protected:
|
|
366
366
|
// helper functions in handleCycle
|
|
367
|
-
bool
|
|
368
|
-
|
|
369
|
-
bool
|
|
370
|
-
|
|
367
|
+
bool isFixPointAfterWidening(const ICFGNode* cycle_head,
|
|
368
|
+
AbstractState& pre_as);
|
|
369
|
+
bool isFixPointAfterNarrowing(const SVF::ICFGNode* cycle_head,
|
|
370
|
+
SVF::AbstractState& pre_as);
|
|
371
371
|
|
|
372
372
|
AbstractState& getAbsState(const ICFGNode* node)
|
|
373
373
|
{
|
|
@@ -84,7 +84,7 @@ public:
|
|
|
84
84
|
AbstractValue getByteOffset(const AbstractState& es, const GepStmt *gep);
|
|
85
85
|
|
|
86
86
|
/// Return the offset expression of a GepStmt
|
|
87
|
-
AbstractValue
|
|
87
|
+
AbstractValue getElementIndex(const AbstractState& es, const GepStmt *gep);
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
static z3::context &getContext()
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -125,6 +125,21 @@ public:
|
|
|
125
125
|
}
|
|
126
126
|
return *this;
|
|
127
127
|
}
|
|
128
|
+
|
|
129
|
+
AbstractValue& operator=(const IntervalValue& other)
|
|
130
|
+
{
|
|
131
|
+
type = IntervalType;
|
|
132
|
+
interval = other;
|
|
133
|
+
return *this;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
AbstractValue& operator=(const AddressValue& other)
|
|
137
|
+
{
|
|
138
|
+
type = AddressType;
|
|
139
|
+
addr = other;
|
|
140
|
+
return *this;
|
|
141
|
+
}
|
|
142
|
+
|
|
128
143
|
AbstractValue operator==(const AbstractValue& other) const
|
|
129
144
|
{
|
|
130
145
|
assert(isInterval() && other.isInterval());
|
|
@@ -364,10 +364,10 @@ private:
|
|
|
364
364
|
|
|
365
365
|
protected:
|
|
366
366
|
// helper functions in handleCycle
|
|
367
|
-
bool
|
|
368
|
-
|
|
369
|
-
bool
|
|
370
|
-
|
|
367
|
+
bool isFixPointAfterWidening(const ICFGNode* cycle_head,
|
|
368
|
+
AbstractState& pre_as);
|
|
369
|
+
bool isFixPointAfterNarrowing(const SVF::ICFGNode* cycle_head,
|
|
370
|
+
SVF::AbstractState& pre_as);
|
|
371
371
|
|
|
372
372
|
AbstractState& getAbsState(const ICFGNode* node)
|
|
373
373
|
{
|
|
@@ -84,7 +84,7 @@ public:
|
|
|
84
84
|
AbstractValue getByteOffset(const AbstractState& es, const GepStmt *gep);
|
|
85
85
|
|
|
86
86
|
/// Return the offset expression of a GepStmt
|
|
87
|
-
AbstractValue
|
|
87
|
+
AbstractValue getElementIndex(const AbstractState& es, const GepStmt *gep);
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
static z3::context &getContext()
|
|
Binary file
|
|
Binary file
|