svf-tools 1.0.599 → 1.0.601
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/.gitignore +0 -1
- package/CMakeLists.txt +27 -29
- package/README.md +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/ExtAPI_8h.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +1 -2
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +0 -2
- package/SVF-doxygen/html/html/files.html +17 -18
- package/SVF-doxygen/html/html/globals_defs.html +0 -7
- package/SVF-doxygen/html/html/globals_p.html +1 -4
- package/SVF-doxygen/html/html/menudata.js +0 -1
- package/SVF-doxygen/html/html/search/all_10.js +0 -1
- package/SVF-doxygen/html/html/search/all_13.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +0 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/defines_a.js +4 -1
- package/SVF-doxygen/html/html/search/defines_b.js +3 -4
- package/SVF-doxygen/html/html/search/files_2.js +0 -1
- package/SVF-doxygen/html/html/search/searchdata.js +1 -1
- package/build.sh +5 -0
- package/package.json +1 -1
package/.gitignore
CHANGED
package/CMakeLists.txt
CHANGED
|
@@ -2,17 +2,12 @@ cmake_minimum_required(VERSION 3.13.4)
|
|
|
2
2
|
|
|
3
3
|
project("SVF")
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/.config.in ${CMAKE_CURRENT_SOURCE_DIR}/include/Util/config.h @ONLY)
|
|
5
|
+
configure_file(${CMAKE_SOURCE_DIR}/.config.in ${CMAKE_BINARY_DIR}/include/Util/config.h)
|
|
7
6
|
|
|
8
7
|
# To support both in- and out-of-source builds,
|
|
9
8
|
# we check for the presence of the add_llvm_loadable_module command.
|
|
10
9
|
# - if this command is not present, we are building out-of-source
|
|
11
10
|
if(NOT COMMAND add_llvm_library)
|
|
12
|
-
if (DEFINED LLVM_DIR)
|
|
13
|
-
set(ENV{LLVM_DIR} "${LLVM_DIR}")
|
|
14
|
-
endif()
|
|
15
|
-
if (DEFINED ENV{LLVM_DIR})
|
|
16
11
|
# We need to match the build environment for LLVM:
|
|
17
12
|
# In particular, we need C++14 and the -fno-rtti flag
|
|
18
13
|
set(CMAKE_CXX_STANDARD 14)
|
|
@@ -20,18 +15,30 @@ if(NOT COMMAND add_llvm_library)
|
|
|
20
15
|
# add -std=gnu++14
|
|
21
16
|
set(CMAKE_CXX_EXTENSIONS ON)
|
|
22
17
|
|
|
23
|
-
|
|
18
|
+
add_compile_options("-Werror" "-Wall")
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
find_package(LLVM REQUIRED CONFIG
|
|
21
|
+
HINTS "${LLVM_DIR}")
|
|
22
|
+
|
|
23
|
+
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
|
24
|
+
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
|
25
|
+
|
|
26
|
+
if (NOT LLVM_ENABLE_RTTI)
|
|
27
|
+
add_compile_options("-fno-rtti")
|
|
28
|
+
message(STATUS "Disable RTTI")
|
|
29
|
+
endif()
|
|
30
|
+
|
|
31
|
+
if (NOT LLVM_ENABLE_EH)
|
|
32
|
+
add_compile_options("-fno-exceptions")
|
|
33
|
+
message(STATUS "Disable exceptions")
|
|
34
|
+
endif()
|
|
35
|
+
|
|
36
|
+
if (SVF_COVERAGE OR DEFINED ENV{SVF_COVERAGE})
|
|
37
|
+
add_compile_options("-fprofile-arcs" "-ftest-coverage")
|
|
38
|
+
add_link_options("-fprofile-arcs" "-ftest-coverage")
|
|
39
|
+
message(STATUS "Enable coverage")
|
|
31
40
|
endif()
|
|
32
41
|
|
|
33
|
-
find_package(LLVM REQUIRED CONFIG)
|
|
34
|
-
|
|
35
42
|
list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
|
|
36
43
|
include(AddLLVM)
|
|
37
44
|
|
|
@@ -43,25 +50,15 @@ if(NOT COMMAND add_llvm_library)
|
|
|
43
50
|
else()
|
|
44
51
|
llvm_map_components_to_libnames(llvm_libs bitwriter core ipo irreader instcombine instrumentation target linker analysis scalaropts support transformutils)
|
|
45
52
|
endif()
|
|
46
|
-
|
|
47
|
-
else()
|
|
48
|
-
message(FATAL_ERROR "\
|
|
49
|
-
WARNING: The LLVM_DIR var was not set (required for an out-of-source build)!\n\
|
|
50
|
-
Please set this to environment variable to point to the LLVM build directory\
|
|
51
|
-
(e.g. on linux: export LLVM_DIR=/path/to/llvm/build/dir)")
|
|
52
|
-
endif()
|
|
53
53
|
else()
|
|
54
54
|
set(IN_SOURCE_BUILD 1)
|
|
55
55
|
endif()
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
find_library(Z3_LIBRARIES NAMES libz3.a libz3.so
|
|
61
|
-
HINTS $ENV{Z3_DIR}
|
|
62
|
-
PATH_SUFFIXES lib bin)
|
|
57
|
+
find_library(Z3_LIBRARIES NAMES z3
|
|
58
|
+
HINTS ${Z3_DIR} ENV Z3_DIR
|
|
59
|
+
PATH_SUFFIXES bin lib)
|
|
63
60
|
find_path(Z3_INCLUDES NAMES z3++.h
|
|
64
|
-
HINTS $
|
|
61
|
+
HINTS ${Z3_DIR} ENV Z3_DIR
|
|
65
62
|
PATH_SUFFIXES include z3)
|
|
66
63
|
if(NOT Z3_LIBRARIES OR NOT Z3_INCLUDES)
|
|
67
64
|
message(FATAL_ERROR "Z3 not found!")
|
|
@@ -70,6 +67,7 @@ message(STATUS "Found Z3: ${Z3_LIBRARIES}")
|
|
|
70
67
|
message(STATUS "Z3 include dir: ${Z3_INCLUDES}")
|
|
71
68
|
|
|
72
69
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
70
|
+
${CMAKE_BINARY_DIR}/include
|
|
73
71
|
${Z3_INCLUDES})
|
|
74
72
|
|
|
75
73
|
# checks if the test-suite is present, if it is then build bc files and add testing to cmake build
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* [SABER](https://github.com/SVF-tools/SVF/tree/master/include/SABER) (<b>memory error checking</b>): memory leaks and double-frees ([ISSTA'12](https://yuleisui.github.io/publications/issta12.pdf), [TSE'14](https://yuleisui.github.io/publications/tse14.pdf), [ICSE'18](https://yuleisui.github.io/publications/icse18a.pdf));
|
|
29
29
|
* [MTA](https://github.com/SVF-tools/SVF/tree/master/include/MTA) (<b>analysis of mutithreaded programs</b>): value-flows for multithreaded programs ([CGO'16](https://yuleisui.github.io/publications/cgo16.pdf));
|
|
30
30
|
* [CFL](https://github.com/SVF-tools/SVF/tree/master/include/CFL) (<b>context-free-reachability analysis</b>): standard CFL solver, graph and grammar ([OOPSLA'22](https://yuleisui.github.io/publications/oopsla22.pdf));
|
|
31
|
-
* [
|
|
31
|
+
* [SVFIR](https://github.com/SVF-tools/SVF/tree/master/include/SVFIR) and [MemoryModel](https://github.com/SVF-tools/SVF/tree/master/include/MemoryModel) (<b>SVFIR</b>): SVFIR, memory abstraction and points-to data structure ([SAS'21](https://yuleisui.github.io/publications/sas21.pdf));
|
|
32
32
|
* [Graphs](https://github.com/SVF-tools/SVF/tree/master/include/Graphs): <b> generating a variety of graphs</b>, including call graph, ICFG, class hirachary graph, constraint graph, value-flow graph for static analyses and code embedding ([OOPSLA'20](https://yuleisui.github.io/publications/oopsla20.pdf), [TOSEM'21](https://yuleisui.github.io/publications/tosem21.pdf))
|
|
33
33
|
|
|
34
34
|
<b>SVF</b>'s doxygen document is available [here](https://svf-tools.github.io/SVF-doxygen/html).
|