svf-lib 1.0.1819 → 1.0.1821
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/svf/libSvfCore.a +0 -0
- package/SVF-linux/svf/include/AbstractExecution/CFBasicBlockGWTO.h +83 -0
- package/SVF-linux/svf/include/AbstractExecution/ICFGWTO.h +78 -0
- package/SVF-linux/svf/include/DDA/DDAPass.h +2 -2
- package/SVF-linux/svf/include/DDA/DDAVFSolver.h +2 -2
- package/SVF-linux/svf/include/Graphs/SCC.h +354 -0
- package/SVF-linux/svf/include/Graphs/SVFGStat.h +1 -1
- package/SVF-linux/svf/include/Graphs/WTO.h +859 -0
- package/SVF-linux/svf/include/MSSA/MemRegion.h +3 -3
- package/SVF-linux/svf/include/MTA/TCT.h +2 -2
- package/SVF-linux/svf/include/MemoryModel/PointerAnalysis.h +5 -5
- package/SVF-linux/svf/include/WPA/CSC.h +3 -3
- package/SVF-osx/Release-build/svf/libSvfCore.a +0 -0
- package/SVF-osx/Release-build/svf-llvm/libSvfLLVM.a +0 -0
- package/SVF-osx/svf/include/AbstractExecution/BoundedZ3Expr.h +2 -0
- package/SVF-osx/svf/include/AbstractExecution/CFBasicBlockGWTO.h +83 -0
- package/SVF-osx/svf/include/AbstractExecution/ConsExeState.h +8 -0
- package/SVF-osx/svf/include/AbstractExecution/ExeState.h +8 -0
- package/SVF-osx/svf/include/AbstractExecution/ICFGWTO.h +78 -0
- package/SVF-osx/svf/include/AbstractExecution/IntervalExeState.h +7 -0
- package/SVF-osx/svf/include/AbstractExecution/IntervalValue.h +3 -0
- package/SVF-osx/svf/include/AbstractExecution/NumericLiteral.h +2 -0
- package/SVF-osx/svf/include/AbstractExecution/RelExeState.h +1 -0
- package/SVF-osx/svf/include/AbstractExecution/RelationSolver.h +1 -0
- package/SVF-osx/svf/include/AbstractExecution/SVFIR2ConsExeState.h +1 -0
- package/SVF-osx/svf/include/AbstractExecution/SVFIR2ItvExeState.h +4 -0
- package/SVF-osx/svf/include/AbstractExecution/SingleAbsValue.h +2 -0
- package/SVF-osx/svf/include/AbstractExecution/SymState.h +4 -0
- package/SVF-osx/svf/include/CFL/CFGrammar.h +4 -0
- package/SVF-osx/svf/include/CFL/CFLAlias.h +1 -0
- package/SVF-osx/svf/include/CFL/CFLGraphBuilder.h +1 -0
- package/SVF-osx/svf/include/CFL/CFLStat.h +1 -0
- package/SVF-osx/svf/include/CFL/CFLVF.h +1 -0
- package/SVF-osx/svf/include/DDA/ContextDDA.h +1 -0
- package/SVF-osx/svf/include/DDA/DDAClient.h +5 -0
- package/SVF-osx/svf/include/DDA/DDAPass.h +3 -2
- package/SVF-osx/svf/include/DDA/DDAVFSolver.h +2 -2
- package/SVF-osx/svf/include/FastCluster/fastcluster.h +1 -0
- package/SVF-osx/svf/include/Graphs/CDG.h +3 -0
- package/SVF-osx/svf/include/Graphs/CFBasicBlockG.h +3 -0
- package/SVF-osx/svf/include/Graphs/CFLGraph.h +1 -0
- package/SVF-osx/svf/include/Graphs/CHG.h +4 -2
- package/SVF-osx/svf/include/Graphs/ConsGEdge.h +5 -0
- package/SVF-osx/svf/include/Graphs/ConsGNode.h +1 -0
- package/SVF-osx/svf/include/Graphs/DOTGraphTraits.h +1 -0
- package/SVF-osx/svf/include/Graphs/GenericGraph.h +1 -0
- package/SVF-osx/svf/include/Graphs/GraphPrinter.h +3 -0
- package/SVF-osx/svf/include/Graphs/GraphTraits.h +2 -2
- package/SVF-osx/svf/include/Graphs/ICFG.h +1 -0
- package/SVF-osx/svf/include/Graphs/ICFGNode.h +3 -0
- package/SVF-osx/svf/include/Graphs/ICFGStat.h +2 -0
- package/SVF-osx/svf/include/Graphs/IRGraph.h +1 -0
- package/SVF-osx/svf/include/Graphs/PTACallGraph.h +3 -0
- package/SVF-osx/svf/include/Graphs/SCC.h +354 -0
- package/SVF-osx/svf/include/Graphs/SVFG.h +2 -0
- package/SVF-osx/svf/include/Graphs/SVFGEdge.h +1 -0
- package/SVF-osx/svf/include/Graphs/SVFGNode.h +7 -0
- package/SVF-osx/svf/include/Graphs/SVFGOPT.h +3 -0
- package/SVF-osx/svf/include/Graphs/SVFGStat.h +3 -1
- package/SVF-osx/svf/include/Graphs/ThreadCallGraph.h +3 -0
- package/SVF-osx/svf/include/Graphs/VFG.h +2 -0
- package/SVF-osx/svf/include/Graphs/VFGEdge.h +3 -0
- package/SVF-osx/svf/include/Graphs/VFGNode.h +8 -0
- package/SVF-osx/svf/include/Graphs/WTO.h +859 -0
- package/SVF-osx/svf/include/MSSA/MSSAMuChi.h +4 -0
- package/SVF-osx/svf/include/MSSA/MemPartition.h +1 -0
- package/SVF-osx/svf/include/MSSA/MemRegion.h +4 -3
- package/SVF-osx/svf/include/MSSA/MemSSA.h +1 -0
- package/SVF-osx/svf/include/MTA/FSMPTA.h +6 -0
- package/SVF-osx/svf/include/MTA/LockAnalysis.h +5 -0
- package/SVF-osx/svf/include/MTA/MHP.h +3 -0
- package/SVF-osx/svf/include/MTA/MTA.h +1 -0
- package/SVF-osx/svf/include/MTA/MTAResultValidator.h +2 -0
- package/SVF-osx/svf/include/MTA/TCT.h +3 -2
- package/SVF-osx/svf/include/MemoryModel/AbstractPointsToDS.h +2 -0
- package/SVF-osx/svf/include/MemoryModel/AccessPath.h +5 -0
- package/SVF-osx/svf/include/MemoryModel/ConditionalPT.h +5 -0
- package/SVF-osx/svf/include/MemoryModel/PersistentPointsToDS.h +1 -0
- package/SVF-osx/svf/include/MemoryModel/PointerAnalysis.h +6 -5
- package/SVF-osx/svf/include/MemoryModel/PointerAnalysisImpl.h +1 -0
- package/SVF-osx/svf/include/MemoryModel/PointsTo.h +1 -0
- package/SVF-osx/svf/include/SABER/DoubleFreeChecker.h +1 -0
- package/SVF-osx/svf/include/SABER/ProgSlice.h +1 -0
- package/SVF-osx/svf/include/SABER/SaberCondAllocator.h +4 -0
- package/SVF-osx/svf/include/SABER/SaberSVFGBuilder.h +1 -0
- package/SVF-osx/svf/include/SVFIR/SVFIR.h +2 -0
- package/SVF-osx/svf/include/SVFIR/SVFStatements.h +2 -0
- package/SVF-osx/svf/include/SVFIR/SVFType.h +2 -0
- package/SVF-osx/svf/include/SVFIR/SVFValue.h +3 -0
- package/SVF-osx/svf/include/SVFIR/SVFVariables.h +5 -0
- package/SVF-osx/svf/include/SVFIR/SymbolTableInfo.h +5 -0
- package/SVF-osx/svf/include/Util/CDGBuilder.h +8 -0
- package/SVF-osx/svf/include/Util/CallGraphBuilder.h +2 -0
- package/SVF-osx/svf/include/Util/Casting.h +2 -1
- package/SVF-osx/svf/include/Util/CommandLine.h +1 -0
- package/SVF-osx/svf/include/Util/CxtStmt.h +4 -0
- package/SVF-osx/svf/include/Util/DPItem.h +2 -0
- package/SVF-osx/svf/include/Util/NodeIDAllocator.h +2 -2
- package/SVF-osx/svf/include/Util/PTAStat.h +1 -0
- package/SVF-osx/svf/include/Util/SVFBugReport.h +1 -0
- package/SVF-osx/svf/include/Util/SVFStat.h +1 -0
- package/SVF-osx/svf/include/Util/SVFUtil.h +1 -0
- package/SVF-osx/svf/include/Util/ThreadAPI.h +1 -0
- package/SVF-osx/svf/include/Util/WorkList.h +1 -0
- package/SVF-osx/svf/include/Util/Z3Expr.h +4 -0
- package/SVF-osx/svf/include/Util/iterator.h +2 -2
- package/SVF-osx/svf/include/WPA/Andersen.h +6 -0
- package/SVF-osx/svf/include/WPA/AndersenPWC.h +3 -0
- package/SVF-osx/svf/include/WPA/CSC.h +3 -3
- package/SVF-osx/svf/include/WPA/WPAFSSolver.h +5 -0
- package/SVF-osx/svf/include/WPA/WPAPass.h +2 -0
- package/SVF-osx/svf/include/WPA/WPASolver.h +2 -0
- package/SVF-osx/svf/include/WPA/WPAStat.h +1 -0
- package/SVF-osx/svf-llvm/include/SVF-LLVM/BreakConstantExpr.h +1 -0
- package/SVF-osx/svf-llvm/include/SVF-LLVM/DCHG.h +1 -0
- package/SVF-osx/svf-llvm/include/SVF-LLVM/GEPTypeBridgeIterator.h +3 -0
- package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMModule.h +1 -0
- package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMUtil.h +1 -0
- package/SVF-osx/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +1 -0
- package/SVF-osx/svf-llvm/include/SVF-LLVM/SymbolTableBuilder.h +1 -0
- package/package.json +1 -1
|
@@ -32,9 +32,11 @@
|
|
|
32
32
|
*
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
+
|
|
35
36
|
#ifndef SVFGOPT_H_
|
|
36
37
|
#define SVFGOPT_H_
|
|
37
38
|
|
|
39
|
+
|
|
38
40
|
#include "Graphs/SVFG.h"
|
|
39
41
|
#include "Util/WorkList.h"
|
|
40
42
|
|
|
@@ -343,6 +345,7 @@ private:
|
|
|
343
345
|
}
|
|
344
346
|
//@}
|
|
345
347
|
|
|
348
|
+
|
|
346
349
|
NodeIDToNodeIDMap actualInToDefMap; ///< map actual-in to its def-site node
|
|
347
350
|
NodeIDToNodeIDMap formalOutToDefMap; ///< map formal-out to its def-site node
|
|
348
351
|
NodeBS defNodes; ///< preserved def nodes of formal-in/actual-out
|
|
@@ -32,12 +32,13 @@
|
|
|
32
32
|
*
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
+
|
|
35
36
|
#ifndef SVFGSTAT_H_
|
|
36
37
|
#define SVFGSTAT_H_
|
|
37
38
|
|
|
38
39
|
#include "Graphs/SVFG.h"
|
|
40
|
+
#include "SCC.h"
|
|
39
41
|
#include "Util/PTAStat.h"
|
|
40
|
-
#include "Util/SCC.h"
|
|
41
42
|
|
|
42
43
|
namespace SVF
|
|
43
44
|
{
|
|
@@ -87,6 +88,7 @@ private:
|
|
|
87
88
|
MemSSA* mssa;
|
|
88
89
|
};
|
|
89
90
|
|
|
91
|
+
|
|
90
92
|
class SVFGStat : public PTAStat
|
|
91
93
|
{
|
|
92
94
|
public:
|
|
@@ -153,6 +153,7 @@ public:
|
|
|
153
153
|
typedef GenericNode<PTACallGraphNode, HareParForEdge>::GEdgeSetTy ParForEdgeSet;
|
|
154
154
|
};
|
|
155
155
|
|
|
156
|
+
|
|
156
157
|
/*!
|
|
157
158
|
* Thread sensitive call graph
|
|
158
159
|
*/
|
|
@@ -196,6 +197,7 @@ public:
|
|
|
196
197
|
/// Update join edge using pointer analysis results
|
|
197
198
|
void updateJoinEdge(PointerAnalysis* pta);
|
|
198
199
|
|
|
200
|
+
|
|
199
201
|
/// Get call graph edge via call instruction
|
|
200
202
|
//@{
|
|
201
203
|
/// whether this call instruction has a valid call graph edge
|
|
@@ -360,6 +362,7 @@ public:
|
|
|
360
362
|
void addIndirectParForEdge(const CallICFGNode* cs, const SVFFunction* callee);
|
|
361
363
|
//@}
|
|
362
364
|
|
|
365
|
+
|
|
363
366
|
/// map call instruction to its CallGraphEdge map
|
|
364
367
|
inline void addThreadForkEdgeSetMap(const CallICFGNode* cs, ThreadForkEdge* edge)
|
|
365
368
|
{
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
#ifndef INCLUDE_UTIL_VFG_H_
|
|
31
31
|
#define INCLUDE_UTIL_VFG_H_
|
|
32
32
|
|
|
33
|
+
|
|
33
34
|
#include "SVFIR/SVFIR.h"
|
|
34
35
|
#include "Graphs/PTACallGraph.h"
|
|
35
36
|
#include "Graphs/VFGNode.h"
|
|
@@ -82,6 +83,7 @@ public:
|
|
|
82
83
|
typedef Set<const VFGNode*> GlobalVFGNodeSet;
|
|
83
84
|
typedef Set<const PAGNode*> PAGNodeSet;
|
|
84
85
|
|
|
86
|
+
|
|
85
87
|
protected:
|
|
86
88
|
NodeID totalVFGNode;
|
|
87
89
|
PAGNodeToDefMapTy PAGNodeToDefMap; ///< map a pag node to its definition SVG node
|
|
@@ -134,6 +134,7 @@ public:
|
|
|
134
134
|
virtual const std::string toString() const;
|
|
135
135
|
};
|
|
136
136
|
|
|
137
|
+
|
|
137
138
|
/*!
|
|
138
139
|
* SVFG edge representing direct value-flows
|
|
139
140
|
*/
|
|
@@ -168,6 +169,7 @@ public:
|
|
|
168
169
|
virtual const std::string toString() const;
|
|
169
170
|
};
|
|
170
171
|
|
|
172
|
+
|
|
171
173
|
/*!
|
|
172
174
|
* Intra SVFG edge representing direct intra-procedural value-flows
|
|
173
175
|
*/
|
|
@@ -202,6 +204,7 @@ public:
|
|
|
202
204
|
virtual const std::string toString() const;
|
|
203
205
|
};
|
|
204
206
|
|
|
207
|
+
|
|
205
208
|
/*!
|
|
206
209
|
* SVFG call edge representing direct value-flows from a caller to its callee at a callsite
|
|
207
210
|
*/
|
|
@@ -316,6 +316,7 @@ public:
|
|
|
316
316
|
const std::string toString() const override;
|
|
317
317
|
};
|
|
318
318
|
|
|
319
|
+
|
|
319
320
|
/*!
|
|
320
321
|
* VFGNode for compare instruction, e.g., bool b = (a!=c);
|
|
321
322
|
*/
|
|
@@ -387,6 +388,7 @@ public:
|
|
|
387
388
|
const std::string toString() const override;
|
|
388
389
|
};
|
|
389
390
|
|
|
391
|
+
|
|
390
392
|
/*!
|
|
391
393
|
* VFGNode for binary operator instructions, e.g., a = b + c;
|
|
392
394
|
*/
|
|
@@ -701,6 +703,7 @@ public:
|
|
|
701
703
|
const std::string toString() const override;
|
|
702
704
|
};
|
|
703
705
|
|
|
706
|
+
|
|
704
707
|
/*
|
|
705
708
|
* Intra LLVM PHI Node
|
|
706
709
|
*/
|
|
@@ -753,6 +756,7 @@ public:
|
|
|
753
756
|
const std::string toString() const override;
|
|
754
757
|
};
|
|
755
758
|
|
|
759
|
+
|
|
756
760
|
class AddrVFGNode: public StmtVFGNode
|
|
757
761
|
{
|
|
758
762
|
private:
|
|
@@ -791,6 +795,7 @@ public:
|
|
|
791
795
|
const std::string toString() const override;
|
|
792
796
|
};
|
|
793
797
|
|
|
798
|
+
|
|
794
799
|
class ArgumentVFGNode : public VFGNode
|
|
795
800
|
{
|
|
796
801
|
|
|
@@ -886,6 +891,7 @@ public:
|
|
|
886
891
|
const std::string toString() const override;
|
|
887
892
|
};
|
|
888
893
|
|
|
894
|
+
|
|
889
895
|
/*
|
|
890
896
|
* ICFG Node stands for formal parameter node (top level pointers)
|
|
891
897
|
*/
|
|
@@ -1140,6 +1146,8 @@ private:
|
|
|
1140
1146
|
const CallICFGNode* callInst;
|
|
1141
1147
|
};
|
|
1142
1148
|
|
|
1149
|
+
|
|
1150
|
+
|
|
1143
1151
|
/*!
|
|
1144
1152
|
* Dummy Definition for undef and null pointers
|
|
1145
1153
|
*/
|