svf-lib 1.0.1220 → 1.0.1221

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 (43) hide show
  1. package/SVF-linux/Release-build/lib/libSvf.a +0 -0
  2. package/SVF-linux/include/DDA/ContextDDA.h +29 -0
  3. package/SVF-linux/include/DDA/DDAClient.h +23 -0
  4. package/SVF-linux/include/DDA/DDAPass.h +22 -0
  5. package/SVF-linux/include/DDA/DDAStat.h +22 -0
  6. package/SVF-linux/include/DDA/DDAVFSolver.h +22 -0
  7. package/SVF-linux/include/DDA/FlowDDA.h +29 -0
  8. package/SVF-linux/include/MSSA/MSSAMuChi.h +1 -1
  9. package/SVF-linux/include/MSSA/MemPartition.h +1 -1
  10. package/SVF-linux/include/MSSA/MemRegion.h +5 -1
  11. package/SVF-linux/include/MSSA/MemSSA.h +7 -1
  12. package/SVF-linux/include/MSSA/SVFGBuilder.h +1 -1
  13. package/SVF-linux/include/MTA/FSMPTA.h +26 -0
  14. package/SVF-linux/include/MTA/LockAnalysis.h +22 -0
  15. package/SVF-linux/include/MTA/MHP.h +22 -0
  16. package/SVF-linux/include/MTA/MTA.h +27 -1
  17. package/SVF-linux/include/MTA/MTAStat.h +22 -0
  18. package/SVF-linux/include/MTA/PCG.h +22 -0
  19. package/SVF-linux/include/MTA/TCT.h +22 -0
  20. package/SVF-linux/include/MemoryModel/AbstractPointsToDS.h +34 -0
  21. package/SVF-linux/include/MemoryModel/ConditionalPT.h +1 -1
  22. package/SVF-linux/include/MemoryModel/LocationSet.h +1 -1
  23. package/SVF-linux/include/MemoryModel/MutablePointsToDS.h +32 -0
  24. package/SVF-linux/include/MemoryModel/PAGBuilderFromFile.h +2 -2
  25. package/SVF-linux/include/MemoryModel/PersistentPointsToCache.h +3 -1
  26. package/SVF-linux/include/MemoryModel/PersistentPointsToDS.h +10 -0
  27. package/SVF-linux/include/MemoryModel/PointerAnalysis.h +1 -1
  28. package/SVF-linux/include/MemoryModel/PointerAnalysisImpl.h +1 -1
  29. package/SVF-linux/include/MemoryModel/SVFStatements.h +1 -1
  30. package/SVF-linux/include/SABER/DoubleFreeChecker.h +1 -1
  31. package/SVF-linux/include/SABER/FileChecker.h +1 -1
  32. package/SVF-linux/include/SABER/LeakChecker.h +1 -1
  33. package/SVF-linux/include/SABER/ProgSlice.h +8 -1
  34. package/SVF-linux/include/SABER/SaberAnnotator.h +1 -1
  35. package/SVF-linux/include/SABER/SaberCheckerAPI.h +1 -1
  36. package/SVF-linux/include/SABER/SaberCondAllocator.h +1 -1
  37. package/SVF-linux/include/SABER/SaberSVFGBuilder.h +1 -1
  38. package/SVF-linux/include/SABER/SrcSnkDDA.h +8 -1
  39. package/SVF-linux/include/SABER/SrcSnkSolver.h +1 -1
  40. package/SVF-linux/include/WPA/Andersen.h +5 -0
  41. package/SVF-linux/include/WPA/TypeAnalysis.h +1 -1
  42. package/SVF-linux/include/WPA/VersionedFlowSensitive.h +4 -0
  43. package/package.json +1 -1
@@ -1,8 +1,37 @@
1
+ //===- ContextDDA.h -- Context-sensitive demand-driven analysis-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * ContextDDA.h
3
25
  *
4
26
  * Created on: Aug 17, 2014
5
27
  * Author: Yulei Sui
28
+ *
29
+ * The implementation is based on
30
+ * (1) Yulei Sui and Jingling Xue. "On-Demand Strong Update Analysis via Value-Flow Refinement".
31
+ * ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE'16)
32
+ *
33
+ * (2) Yulei Sui and Jingling Xue. "Value-Flow-Based Demand-Driven Pointer Analysis for C and C++".
34
+ * IEEE Transactions on Software Engineering (TSE'18)
6
35
  */
7
36
 
8
37
  #ifndef ContextDDA_H_
@@ -1,3 +1,26 @@
1
+ //===- DDAClient.h -- Clients of demand-driven analysis-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
23
+
1
24
  /*
2
25
  * @file: DDAClient.h
3
26
  * @author: yesen
@@ -1,3 +1,25 @@
1
+ //===- DDAPass.h -- Demand-driven analysis driver pass-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * @file: DDAPass.h
3
25
  * @author: Yulei Sui
@@ -1,3 +1,25 @@
1
+ //===- DDAStat.h -- Statistics for demand-driven pass-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * DDAStat.h
3
25
  *
@@ -1,3 +1,25 @@
1
+ //===- DDAVFSolver.h -- Demand-driven analysis value-flow solver------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * DDAVFSolver.h
3
25
  *
@@ -1,8 +1,37 @@
1
+ //===- FlowDDA.h -- Flow-sensitive demand-driven analysis -------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * FlowDDA.h
3
25
  *
4
26
  * Created on: Jun 30, 2014
5
27
  * Author: Yulei Sui, Sen Ye
28
+ *
29
+ * The implementation is based on
30
+ * (1) Yulei Sui and Jingling Xue. "On-Demand Strong Update Analysis via Value-Flow Refinement".
31
+ * ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE'16)
32
+ *
33
+ * (2) Yulei Sui and Jingling Xue. "Value-Flow-Based Demand-Driven Pointer Analysis for C and C++".
34
+ * IEEE Transactions on Software Engineering (TSE'18)
6
35
  */
7
36
 
8
37
  #ifndef FlowDDA_H_
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -25,6 +25,10 @@
25
25
  *
26
26
  * Created on: Jul 14, 2013
27
27
  * Author: Yulei Sui
28
+ * The implementation is based on
29
+ * Yulei Sui, Hua Yan, Yunpeng Zhang, Jingling Xue and Zheng Zheng.
30
+ * "Parallel Construction of Interprocedural Memory SSA Form".
31
+ * Journal of Systems and Software (JSS'16)
28
32
  */
29
33
 
30
34
  #ifndef MEMORYREGION_H_
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -25,8 +25,14 @@
25
25
  *
26
26
  * Created on: Jul 14, 2013
27
27
  * Author: Yulei Sui
28
+ *
29
+ * The implementation is based on
30
+ * Yulei Sui, Hua Yan, Yunpeng Zhang, Jingling Xue and Zheng Zheng.
31
+ * "Parallel Construction of Interprocedural Memory SSA Form".
32
+ * Journal of Systems and Software (JSS'16), Algorithm 3 in the paper
28
33
  */
29
34
 
35
+
30
36
  #ifndef MEMORYSSAPASS_H_
31
37
  #define MEMORYSSAPASS_H_
32
38
 
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -1,8 +1,34 @@
1
+ //===- FSMPTA.h -- Flow-sensitive analysis of multithreaded programs-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * FSMPTA.h
3
25
  *
4
26
  * Created on: Jul 29, 2015
5
27
  * Author: Yulei Sui, Peng Di
28
+ *
29
+ * The implementation is based on
30
+ * Yulei Sui, Peng Di, and Jingling Xue. "Sparse Flow-Sensitive Pointer Analysis for Multithreaded Programs".
31
+ * 2016 International Symposium on Code Generation and Optimization (CGO'16)
6
32
  */
7
33
 
8
34
  #ifndef FSPTANALYSIS_H_
@@ -1,3 +1,25 @@
1
+ //===- LockAnalysis.h -- Analysis of locksets-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * LockAnalysis.h
3
25
  *
@@ -1,3 +1,25 @@
1
+ //===- MHP.h -- May-happen-in-parallel analysis-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * MHP.h
3
25
  *
@@ -1,8 +1,34 @@
1
+ //===- MTA.h -- Analysis of multithreaded programs-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
- * RaceDetector.h
24
+ * MTA.h
3
25
  *
4
26
  * Created on: May 14, 2014
5
27
  * Author: Yulei Sui, Peng Di
28
+ *
29
+ * The implementation is based on
30
+ * Yulei Sui, Peng Di, and Jingling Xue. "Sparse Flow-Sensitive Pointer Analysis for Multithreaded Programs".
31
+ * 2016 International Symposium on Code Generation and Optimization (CGO'16)
6
32
  */
7
33
 
8
34
  #ifndef MTA_H_
@@ -1,3 +1,25 @@
1
+ //===- MTAStat.h -- Statistics for MTA-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * MTAStat.h
3
25
  *
@@ -1,3 +1,25 @@
1
+ //===- PCG.h -- Procedure creation graph-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * MHP.h
3
25
  *
@@ -1,3 +1,25 @@
1
+ //===- TCT.h -- Thread creation tree-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /*
2
24
  * TCT.h
3
25
  *
@@ -1,3 +1,26 @@
1
+ //===- AbstractPointsToDS.h -- Abstract points-to data structure-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
23
+
1
24
  /// Contains abstract classes for:
2
25
  /// PTData: basic points-to data structure derived by all others.
3
26
  /// DiffPTData: PTData which only propagates new changes, not entire points-to sets.
@@ -16,6 +39,17 @@
16
39
  /// |
17
40
  /// MutableIncDFPTData
18
41
 
42
+
43
+ /*
44
+ * AbstractPointsToDS.h
45
+ *
46
+ * Authors: Mohamad Barbar and Yulei Sui
47
+ *
48
+ * The implementation is based on
49
+ * Mohamad Barbar and Yulei Sui. Hash Consed Points-To Sets.
50
+ * 28th Static Analysis Symposium (SAS'21)
51
+ */
52
+
19
53
  #ifndef ABSTRACT_POINTSTO_H_
20
54
  #define ABSTRACT_POINTSTO_H_
21
55
 
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -1,6 +1,38 @@
1
+ //===- MutablePointsToDS.h -- Mutable points-to data structure-------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
1
23
  /// PTData (AbstractPointsToDS.h) implementations with a mutable backend.
2
24
  /// Each Key is given a points-to set which is itself updated till the analysis terminates.
3
25
 
26
+ /*
27
+ * MutablePointsToDS.h
28
+ *
29
+ * Authors: Mohamad Barbar and Yulei Sui
30
+ *
31
+ * The implementation is based on
32
+ * Mohamad Barbar and Yulei Sui. Hash Consed Points-To Sets.
33
+ * 28th Static Analysis Symposium (SAS'21)
34
+ */
35
+
4
36
  #ifndef MUTABLE_POINTSTO_H_
5
37
  #define MUTABLE_POINTSTO_H_
6
38
 
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2018> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -24,7 +24,7 @@
24
24
  * PAGBuilderFromFile.h
25
25
  *
26
26
  * Created on: 20 Sep. 2018
27
- * Author: 136884
27
+ * Author: Yulei Sui
28
28
  */
29
29
 
30
30
  #ifndef INCLUDE_MEMORYMODEL_PAGBUILDERFROMFILE_H_
@@ -3,7 +3,9 @@
3
3
  /*
4
4
  * PersistentPointsToCache.h
5
5
  *
6
- * Persistent, hash-consed points-to sets
6
+ * The implementation is based on
7
+ * Mohamad Barbar and Yulei Sui. Hash Consed Points-To Sets.
8
+ * 28th Static Analysis Symposium (SAS'21)
7
9
  *
8
10
  * Created on: Sep 28, 2020
9
11
  * Author: Mohamad Barbar
@@ -1,6 +1,16 @@
1
1
  /// PTData (AbstractPointsToDS.h) implementations with a persistent backend.
2
2
  /// Each Key is given a cheap points-to ID which refers to some real points-to set.
3
3
 
4
+ /*
5
+ * PersistentPointsToDS.h
6
+ *
7
+ * Authors: Mohamad Barbar
8
+ *
9
+ * The implementation is based on
10
+ * Mohamad Barbar and Yulei Sui. Hash Consed Points-To Sets.
11
+ * 28th Static Analysis Symposium (SAS'21)
12
+ */
13
+
4
14
  #ifndef PERSISTENT_POINTSTO_H_
5
15
  #define PERSISTENT_POINTSTO_H_
6
16
 
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -1,4 +1,4 @@
1
- //===- PointerAnalysis.h -- Base class of pointer analyses--------------------//
1
+ //===- PointerAnalysisImpl.h -- Pointer analysis implementation--------------------//
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -25,6 +25,13 @@
25
25
  *
26
26
  * Created on: Apr 1, 2014
27
27
  * Author: Yulei Sui
28
+ *
29
+ * The implementation is based on
30
+ * (1) Yulei Sui, Ding Ye, and Jingling Xue. "Static Memory Leak Detection Using Full-Sparse Value-Flow Analysis".
31
+ * 2012 International Symposium on Software Testing and Analysis (ISSTA'12)
32
+ *
33
+ * (2) Yulei Sui, Ding Ye, and Jingling Xue. "Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis".
34
+ * IEEE Transactions on Software Engineering (TSE'14)
28
35
  */
29
36
 
30
37
  #ifndef PROGSLICE_H_
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -25,6 +25,13 @@
25
25
  *
26
26
  * Created on: Apr 1, 2014
27
27
  * Author: Yulei Sui
28
+ *
29
+ * The implementation is based on
30
+ * (1) Yulei Sui, Ding Ye, and Jingling Xue. "Static Memory Leak Detection Using Full-Sparse Value-Flow Analysis".
31
+ * 2012 International Symposium on Software Testing and Analysis (ISSTA'12)
32
+ *
33
+ * (2) Yulei Sui, Ding Ye, and Jingling Xue. "Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis".
34
+ * IEEE Transactions on Software Engineering (TSE'14)
28
35
  */
29
36
 
30
37
  #ifndef SRCSNKANALYSIS_H_
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
5
- // Copyright (C) <2013-2017> <Yulei Sui>
5
+ // Copyright (C) <2013-> <Yulei Sui>
6
6
  //
7
7
 
8
8
  // This program is free software: you can redistribute it and/or modify
@@ -25,6 +25,11 @@
25
25
  *
26
26
  * Created on: Nov 12, 2013
27
27
  * Author: Yulei Sui
28
+ *
29
+ * The field-sensitive implementation is improved based on
30
+ *
31
+ * Yuxiang Lei and Yulei Sui. "Fast and Precise Handling of Positive Weight Cycles for Field-sensitive Pointer Analysis".
32
+ * 26th International Static Analysis Symposium (SAS'19)
28
33
  */
29
34
 
30
35
  #ifndef INCLUDE_WPA_ANDERSEN_H_
@@ -1,4 +1,4 @@
1
- //===- Andersen.h -- Field-sensitive Andersen's pointer analysis-------------//
1
+ //===- TypeAnalysis.h -- Fast type-based analysis without pointer analysis---------//
2
2
  //
3
3
  // SVF: Static Value-Flow Analysis
4
4
  //
@@ -5,6 +5,10 @@
5
5
  *
6
6
  * Created on: Jun 26, 2020
7
7
  * Author: Mohamad Barbar
8
+ *
9
+ * The implementation is based on
10
+ * Mohamad Barbar, Yulei Sui and Shiping Chen. "Object Versioning for Flow-Sensitive Pointer Analysis".
11
+ * International Symposium on Code Generation and Optimization (CGO'21)
8
12
  */
9
13
 
10
14
  #ifndef VFS_H_
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.1220",
3
+ "version": "1.0.1221",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {