svf-lib 1.0.1820 → 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.
Files changed (109) hide show
  1. package/SVF-osx/Release-build/svf/libSvfCore.a +0 -0
  2. package/SVF-osx/Release-build/svf-llvm/libSvfLLVM.a +0 -0
  3. package/SVF-osx/svf/include/AbstractExecution/BoundedZ3Expr.h +2 -0
  4. package/SVF-osx/svf/include/AbstractExecution/CFBasicBlockGWTO.h +83 -0
  5. package/SVF-osx/svf/include/AbstractExecution/ConsExeState.h +8 -0
  6. package/SVF-osx/svf/include/AbstractExecution/ExeState.h +8 -0
  7. package/SVF-osx/svf/include/AbstractExecution/ICFGWTO.h +78 -0
  8. package/SVF-osx/svf/include/AbstractExecution/IntervalExeState.h +7 -0
  9. package/SVF-osx/svf/include/AbstractExecution/IntervalValue.h +3 -0
  10. package/SVF-osx/svf/include/AbstractExecution/NumericLiteral.h +2 -0
  11. package/SVF-osx/svf/include/AbstractExecution/RelExeState.h +1 -0
  12. package/SVF-osx/svf/include/AbstractExecution/RelationSolver.h +1 -0
  13. package/SVF-osx/svf/include/AbstractExecution/SVFIR2ConsExeState.h +1 -0
  14. package/SVF-osx/svf/include/AbstractExecution/SVFIR2ItvExeState.h +4 -0
  15. package/SVF-osx/svf/include/AbstractExecution/SingleAbsValue.h +2 -0
  16. package/SVF-osx/svf/include/AbstractExecution/SymState.h +4 -0
  17. package/SVF-osx/svf/include/CFL/CFGrammar.h +4 -0
  18. package/SVF-osx/svf/include/CFL/CFLAlias.h +1 -0
  19. package/SVF-osx/svf/include/CFL/CFLGraphBuilder.h +1 -0
  20. package/SVF-osx/svf/include/CFL/CFLStat.h +1 -0
  21. package/SVF-osx/svf/include/CFL/CFLVF.h +1 -0
  22. package/SVF-osx/svf/include/DDA/ContextDDA.h +1 -0
  23. package/SVF-osx/svf/include/DDA/DDAClient.h +5 -0
  24. package/SVF-osx/svf/include/DDA/DDAPass.h +3 -2
  25. package/SVF-osx/svf/include/DDA/DDAVFSolver.h +2 -2
  26. package/SVF-osx/svf/include/FastCluster/fastcluster.h +1 -0
  27. package/SVF-osx/svf/include/Graphs/CDG.h +3 -0
  28. package/SVF-osx/svf/include/Graphs/CFBasicBlockG.h +3 -0
  29. package/SVF-osx/svf/include/Graphs/CFLGraph.h +1 -0
  30. package/SVF-osx/svf/include/Graphs/CHG.h +4 -2
  31. package/SVF-osx/svf/include/Graphs/ConsGEdge.h +5 -0
  32. package/SVF-osx/svf/include/Graphs/ConsGNode.h +1 -0
  33. package/SVF-osx/svf/include/Graphs/DOTGraphTraits.h +1 -0
  34. package/SVF-osx/svf/include/Graphs/GenericGraph.h +1 -0
  35. package/SVF-osx/svf/include/Graphs/GraphPrinter.h +3 -0
  36. package/SVF-osx/svf/include/Graphs/GraphTraits.h +2 -2
  37. package/SVF-osx/svf/include/Graphs/ICFG.h +1 -0
  38. package/SVF-osx/svf/include/Graphs/ICFGNode.h +3 -0
  39. package/SVF-osx/svf/include/Graphs/ICFGStat.h +2 -0
  40. package/SVF-osx/svf/include/Graphs/IRGraph.h +1 -0
  41. package/SVF-osx/svf/include/Graphs/PTACallGraph.h +3 -0
  42. package/SVF-osx/svf/include/Graphs/SCC.h +354 -0
  43. package/SVF-osx/svf/include/Graphs/SVFG.h +2 -0
  44. package/SVF-osx/svf/include/Graphs/SVFGEdge.h +1 -0
  45. package/SVF-osx/svf/include/Graphs/SVFGNode.h +7 -0
  46. package/SVF-osx/svf/include/Graphs/SVFGOPT.h +3 -0
  47. package/SVF-osx/svf/include/Graphs/SVFGStat.h +3 -1
  48. package/SVF-osx/svf/include/Graphs/ThreadCallGraph.h +3 -0
  49. package/SVF-osx/svf/include/Graphs/VFG.h +2 -0
  50. package/SVF-osx/svf/include/Graphs/VFGEdge.h +3 -0
  51. package/SVF-osx/svf/include/Graphs/VFGNode.h +8 -0
  52. package/SVF-osx/svf/include/Graphs/WTO.h +859 -0
  53. package/SVF-osx/svf/include/MSSA/MSSAMuChi.h +4 -0
  54. package/SVF-osx/svf/include/MSSA/MemPartition.h +1 -0
  55. package/SVF-osx/svf/include/MSSA/MemRegion.h +4 -3
  56. package/SVF-osx/svf/include/MSSA/MemSSA.h +1 -0
  57. package/SVF-osx/svf/include/MTA/FSMPTA.h +6 -0
  58. package/SVF-osx/svf/include/MTA/LockAnalysis.h +5 -0
  59. package/SVF-osx/svf/include/MTA/MHP.h +3 -0
  60. package/SVF-osx/svf/include/MTA/MTA.h +1 -0
  61. package/SVF-osx/svf/include/MTA/MTAResultValidator.h +2 -0
  62. package/SVF-osx/svf/include/MTA/TCT.h +3 -2
  63. package/SVF-osx/svf/include/MemoryModel/AbstractPointsToDS.h +2 -0
  64. package/SVF-osx/svf/include/MemoryModel/AccessPath.h +5 -0
  65. package/SVF-osx/svf/include/MemoryModel/ConditionalPT.h +5 -0
  66. package/SVF-osx/svf/include/MemoryModel/PersistentPointsToDS.h +1 -0
  67. package/SVF-osx/svf/include/MemoryModel/PointerAnalysis.h +6 -5
  68. package/SVF-osx/svf/include/MemoryModel/PointerAnalysisImpl.h +1 -0
  69. package/SVF-osx/svf/include/MemoryModel/PointsTo.h +1 -0
  70. package/SVF-osx/svf/include/SABER/DoubleFreeChecker.h +1 -0
  71. package/SVF-osx/svf/include/SABER/ProgSlice.h +1 -0
  72. package/SVF-osx/svf/include/SABER/SaberCondAllocator.h +4 -0
  73. package/SVF-osx/svf/include/SABER/SaberSVFGBuilder.h +1 -0
  74. package/SVF-osx/svf/include/SVFIR/SVFIR.h +2 -0
  75. package/SVF-osx/svf/include/SVFIR/SVFStatements.h +2 -0
  76. package/SVF-osx/svf/include/SVFIR/SVFType.h +2 -0
  77. package/SVF-osx/svf/include/SVFIR/SVFValue.h +3 -0
  78. package/SVF-osx/svf/include/SVFIR/SVFVariables.h +5 -0
  79. package/SVF-osx/svf/include/SVFIR/SymbolTableInfo.h +5 -0
  80. package/SVF-osx/svf/include/Util/CDGBuilder.h +8 -0
  81. package/SVF-osx/svf/include/Util/CallGraphBuilder.h +2 -0
  82. package/SVF-osx/svf/include/Util/Casting.h +2 -1
  83. package/SVF-osx/svf/include/Util/CommandLine.h +1 -0
  84. package/SVF-osx/svf/include/Util/CxtStmt.h +4 -0
  85. package/SVF-osx/svf/include/Util/DPItem.h +2 -0
  86. package/SVF-osx/svf/include/Util/NodeIDAllocator.h +2 -2
  87. package/SVF-osx/svf/include/Util/PTAStat.h +1 -0
  88. package/SVF-osx/svf/include/Util/SVFBugReport.h +1 -0
  89. package/SVF-osx/svf/include/Util/SVFStat.h +1 -0
  90. package/SVF-osx/svf/include/Util/SVFUtil.h +1 -0
  91. package/SVF-osx/svf/include/Util/ThreadAPI.h +1 -0
  92. package/SVF-osx/svf/include/Util/WorkList.h +1 -0
  93. package/SVF-osx/svf/include/Util/Z3Expr.h +4 -0
  94. package/SVF-osx/svf/include/Util/iterator.h +2 -2
  95. package/SVF-osx/svf/include/WPA/Andersen.h +6 -0
  96. package/SVF-osx/svf/include/WPA/AndersenPWC.h +3 -0
  97. package/SVF-osx/svf/include/WPA/CSC.h +3 -3
  98. package/SVF-osx/svf/include/WPA/WPAFSSolver.h +5 -0
  99. package/SVF-osx/svf/include/WPA/WPAPass.h +2 -0
  100. package/SVF-osx/svf/include/WPA/WPASolver.h +2 -0
  101. package/SVF-osx/svf/include/WPA/WPAStat.h +1 -0
  102. package/SVF-osx/svf-llvm/include/SVF-LLVM/BreakConstantExpr.h +1 -0
  103. package/SVF-osx/svf-llvm/include/SVF-LLVM/DCHG.h +1 -0
  104. package/SVF-osx/svf-llvm/include/SVF-LLVM/GEPTypeBridgeIterator.h +3 -0
  105. package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMModule.h +1 -0
  106. package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMUtil.h +1 -0
  107. package/SVF-osx/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +1 -0
  108. package/SVF-osx/svf-llvm/include/SVF-LLVM/SymbolTableBuilder.h +1 -0
  109. package/package.json +1 -1
@@ -192,8 +192,8 @@ public:
192
192
 
193
193
  // From all the candidates, returns the best mapping for pointsToSets (points-to set -> # occurrences).
194
194
  static inline std::pair<hclust_fast_methods, std::vector<NodeID>> determineBestMapping(
195
- const std::vector<std::pair<hclust_fast_methods, std::vector<NodeID>>> &candidates,
196
- Map<PointsTo, unsigned> pointsToSets, const std::string &evalSubtitle, double &evalTime);
195
+ const std::vector<std::pair<hclust_fast_methods, std::vector<NodeID>>> &candidates,
196
+ Map<PointsTo, unsigned> pointsToSets, const std::string &evalSubtitle, double &evalTime);
197
197
 
198
198
  };
199
199
  };
@@ -69,6 +69,7 @@ public:
69
69
 
70
70
  void callgraphStat() override;
71
71
 
72
+
72
73
  protected:
73
74
  PointerAnalysis* pta;
74
75
  u32_t _vmrssUsageBefore;
@@ -47,6 +47,7 @@ namespace SVF
47
47
  * Bug Detector Recoder
48
48
  */
49
49
 
50
+
50
51
  class SVFBugEvent
51
52
  {
52
53
  public:
@@ -33,6 +33,7 @@
33
33
  namespace SVF
34
34
  {
35
35
 
36
+
36
37
  /*!
37
38
  * Pointer Analysis Statistics
38
39
  */
@@ -671,6 +671,7 @@ template <typename... Ts>
671
671
  constexpr bool is_sequence_container_v = is_sequence_container<Ts...>::value;
672
672
  ///@}
673
673
 
674
+
674
675
  } // End namespace SVFUtil
675
676
 
676
677
  } // End namespace SVF
@@ -253,6 +253,7 @@ public:
253
253
  }
254
254
  //@}
255
255
 
256
+
256
257
  /// Return true if this call exits/terminate a thread
257
258
  //@{
258
259
  inline bool isTDExit(const SVFInstruction *inst) const
@@ -32,6 +32,7 @@
32
32
  *
33
33
  */
34
34
 
35
+
35
36
  #ifndef WORKLIST_H_
36
37
  #define WORKLIST_H_
37
38
 
@@ -93,6 +93,7 @@ public:
93
93
  /// release z3 solver
94
94
  static void releaseSolver();
95
95
 
96
+
96
97
  /// null expression
97
98
  static z3::expr nullExpr()
98
99
  {
@@ -272,6 +273,7 @@ public:
272
273
  /// output Z3 expression as a string
273
274
  static std::string dumpStr(const Z3Expr &z3Expr);
274
275
 
276
+
275
277
  /// get the number of subexpression of a Z3 expression
276
278
  static u32_t getExprSize(const Z3Expr &z3Expr);
277
279
 
@@ -281,6 +283,7 @@ public:
281
283
  return getContext().bool_val(true);
282
284
  }
283
285
 
286
+
284
287
  /// Return the unique false condition
285
288
  static inline Z3Expr getFalseCond()
286
289
  {
@@ -312,3 +315,4 @@ struct std::hash<SVF::Z3Expr>
312
315
  };
313
316
 
314
317
  #endif //Z3_EXAMPLE_Z3EXPR_H
318
+
@@ -352,7 +352,7 @@ struct pointee_iter
352
352
  template <typename RangeT, typename WrappedIteratorT =
353
353
  decltype(std::begin(std::declval<RangeT>()))>
354
354
  iter_range<pointee_iter<WrappedIteratorT>>
355
- make_pointee_range(RangeT &&Range)
355
+ make_pointee_range(RangeT &&Range)
356
356
  {
357
357
  using PointeeIteratorT = pointee_iter<WrappedIteratorT>;
358
358
  return make_range(PointeeIteratorT(std::begin(std::forward<RangeT>(Range))),
@@ -388,7 +388,7 @@ public:
388
388
  template <typename RangeT, typename WrappedIteratorT =
389
389
  decltype(std::begin(std::declval<RangeT>()))>
390
390
  iter_range<pointer_iterator<WrappedIteratorT>>
391
- make_pointer_range(RangeT &&Range)
391
+ make_pointer_range(RangeT &&Range)
392
392
  {
393
393
  using PointerIteratorT = pointer_iterator<WrappedIteratorT>;
394
394
  return make_range(PointerIteratorT(std::begin(std::forward<RangeT>(Range))),
@@ -156,6 +156,7 @@ protected:
156
156
  class Andersen: public AndersenBase
157
157
  {
158
158
 
159
+
159
160
  public:
160
161
  typedef SCCDetection<ConstraintGraph*> CGSCC;
161
162
  typedef OrderedMap<CallSite, NodeID> CallSite2DummyValPN;
@@ -231,6 +232,7 @@ public:
231
232
  return getPTDataTy()->unionPts(id,ptd);
232
233
  }
233
234
 
235
+
234
236
  void dumpTopLevelPtsTo();
235
237
 
236
238
  void setDetectPWC(bool flag)
@@ -339,6 +341,8 @@ protected:
339
341
  /// SCC detection
340
342
  virtual NodeStack& SCCDetect();
341
343
 
344
+
345
+
342
346
  /// Sanitize pts for field insensitive objects
343
347
  void sanitizePts()
344
348
  {
@@ -372,6 +376,8 @@ protected:
372
376
  virtual void cluster(void) const;
373
377
  };
374
378
 
379
+
380
+
375
381
  /**
376
382
  * Wave propagation with diff points-to set.
377
383
  */
@@ -30,6 +30,7 @@
30
30
  #ifndef PROJECT_ANDERSENSFR_H
31
31
  #define PROJECT_ANDERSENSFR_H
32
32
 
33
+
33
34
  #include "WPA/Andersen.h"
34
35
  #include "WPA/CSC.h"
35
36
  #include "MemoryModel/PointsTo.h"
@@ -93,6 +94,8 @@ protected:
93
94
 
94
95
  };
95
96
 
97
+
98
+
96
99
  /*!
97
100
  * Selective Cycle Detection with Stride-based Field Representation
98
101
  */
@@ -30,13 +30,13 @@
30
30
  #ifndef PROJECT_CSC_H
31
31
  #define PROJECT_CSC_H
32
32
 
33
- #include "Util/SCC.h"
34
- #include "SVFIR/SVFValue.h" // for NodeBS
35
33
  #include "Graphs/ConsG.h"
34
+ #include "Graphs/SCC.h"
35
+ #include "SVFIR/SVFValue.h" // for NodeBS
36
36
  #include "Util/WorkList.h"
37
37
  #include <limits.h>
38
- #include <stack>
39
38
  #include <map>
39
+ #include <stack>
40
40
 
41
41
  namespace SVF
42
42
  {
@@ -32,6 +32,7 @@
32
32
  *
33
33
  */
34
34
 
35
+
35
36
  #ifndef WPAFSSOLVER_H_
36
37
  #define WPAFSSOLVER_H_
37
38
 
@@ -97,6 +98,8 @@ protected:
97
98
  }
98
99
  };
99
100
 
101
+
102
+
100
103
  /*!
101
104
  * Solver based on SCC cycles.
102
105
  */
@@ -168,6 +171,8 @@ protected:
168
171
  NodeID curSCCID; ///< index of current SCC.
169
172
  };
170
173
 
174
+
175
+
171
176
  /*!
172
177
  * Only solve nodes which need to be analyzed.
173
178
  */
@@ -20,6 +20,7 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
+
23
24
  /*
24
25
  * @file: WPA.h
25
26
  * @author: yesen
@@ -32,6 +33,7 @@
32
33
  *
33
34
  */
34
35
 
36
+
35
37
  #ifndef WPA_H_
36
38
  #define WPA_H_
37
39
 
@@ -20,6 +20,7 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
+
23
24
  /*
24
25
  * WPASolver.h
25
26
  *
@@ -171,6 +172,7 @@ protected:
171
172
  /// print out statistics for i-th iteration
172
173
  u32_t iterationForPrintStat;
173
174
 
175
+
174
176
  /// Get node on the graph
175
177
  inline GNODE* Node(NodeID id)
176
178
  {
@@ -20,6 +20,7 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
+
23
24
  /*
24
25
  * FlowSensitiveStat.h
25
26
  *
@@ -44,6 +44,7 @@ public:
44
44
  virtual bool runOnModule (Module & M);
45
45
  };
46
46
 
47
+
47
48
  //
48
49
  // Pass: MergeFunctionRets
49
50
  //
@@ -447,6 +447,7 @@ private:
447
447
  return nullptr;
448
448
  }
449
449
 
450
+
450
451
  /// Creates an edge between from t1 to t2.
451
452
  DCHEdge* addEdge(const DIType* t1, const DIType* t2, DCHEdge::GEdgeKind et);
452
453
  /// Returns the edge between t1 and t2 if it exists, returns nullptr otherwise.
@@ -100,6 +100,7 @@ public:
100
100
  return const_cast<Value*>(&**OpIt);
101
101
  }
102
102
 
103
+
103
104
  generic_bridge_gep_type_iterator& operator++()
104
105
  {
105
106
  if ( CurTy.getInt() )
@@ -132,6 +133,7 @@ public:
132
133
  return *this;
133
134
  }
134
135
 
136
+
135
137
  generic_bridge_gep_type_iterator operator++(int)
136
138
  {
137
139
  generic_bridge_gep_type_iterator tmp = *this;
@@ -141,6 +143,7 @@ public:
141
143
 
142
144
  };
143
145
 
146
+
144
147
  typedef generic_bridge_gep_type_iterator<> bridge_gep_iterator;
145
148
 
146
149
  inline bridge_gep_iterator bridge_gep_begin(const User* GEP)
@@ -322,6 +322,7 @@ public:
322
322
  return it->second;
323
323
  }
324
324
 
325
+
325
326
  Module* getMainLLVMModule() const
326
327
  {
327
328
  return getModule(0);
@@ -466,6 +466,7 @@ std::string dumpValue(const Value* val);
466
466
 
467
467
  std::string dumpType(const Type* type);
468
468
 
469
+
469
470
  /**
470
471
  * See more: https://github.com/SVF-tools/SVF/pull/1191
471
472
  *
@@ -114,6 +114,7 @@ public:
114
114
  }
115
115
  //@}
116
116
 
117
+
117
118
  /// Our visit overrides.
118
119
  //@{
119
120
  // Instructions that cannot be folded away.
@@ -57,6 +57,7 @@ public:
57
57
  /// Return size of this object based on LLVM value
58
58
  u32_t getNumOfElements(const Type* ety);
59
59
 
60
+
60
61
  protected:
61
62
 
62
63
  /// collect the syms
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.1820",
3
+ "version": "1.0.1821",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {