Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
7f42584
update latest SVF performance data
yuleisui Dec 16, 2024
010ae9c
update latest SVF performance data
yuleisui Dec 18, 2024
9a4673e
update latest SVF performance data
yuleisui Dec 18, 2024
f64c0c9
update latest SVF performance data
yuleisui Dec 19, 2024
bb1bd9f
update latest SVF performance data
yuleisui Dec 20, 2024
8be171b
update latest SVF performance data
yuleisui Dec 21, 2024
63beca3
update latest SVF performance data
yuleisui Dec 25, 2024
1854b52
update latest SVF performance data
yuleisui Jan 7, 2025
0ac4715
update latest SVF performance data
yuleisui Jan 8, 2025
0a59965
update latest SVF performance data
yuleisui Jan 9, 2025
a073f92
update latest SVF performance data
yuleisui Jan 10, 2025
09c94ff
update latest SVF performance data
yuleisui Jan 10, 2025
5213852
update latest SVF performance data
yuleisui Jan 17, 2025
aee88e6
update latest SVF performance data
yuleisui Jan 17, 2025
3090758
update latest SVF performance data
yuleisui Jan 22, 2025
dbab69e
remove cases related to SVFFileSystem
Jan 23, 2025
ba482cd
Revert "remove cases related to SVFFileSystem"
Jan 23, 2025
a04810b
remove options related to SVFFileSystem
Jan 23, 2025
afc2392
Merge pull request #152 from bjjwwang/master
yuleisui Jan 23, 2025
b6ac24d
update latest SVF performance data
yuleisui Jan 23, 2025
0b10724
update latest SVF performance data
yuleisui Jan 24, 2025
ac5f52b
update latest SVF performance data
yuleisui Jan 27, 2025
38126ea
update latest SVF performance data
yuleisui Jan 27, 2025
37b2b8b
update latest SVF performance data
yuleisui Jan 29, 2025
44bc884
update latest SVF performance data
yuleisui Jan 31, 2025
38394c0
update latest SVF performance data
yuleisui Jan 31, 2025
bb6e98a
update latest SVF performance data
yuleisui Jan 31, 2025
e0d7d0c
update latest SVF performance data
yuleisui Jan 31, 2025
6f110bc
update latest SVF performance data
yuleisui Feb 3, 2025
d42c79b
update latest SVF performance data
yuleisui Feb 3, 2025
b91abcf
update latest SVF performance data
yuleisui Feb 6, 2025
1f405f4
update latest SVF performance data
yuleisui Feb 10, 2025
0067a28
update latest SVF performance data
yuleisui Feb 11, 2025
e24cf78
update latest SVF performance data
yuleisui Feb 13, 2025
366ea89
update latest SVF performance data
yuleisui Feb 17, 2025
1a48d0e
update latest SVF performance data
yuleisui Feb 17, 2025
ae78ccb
update latest SVF performance data
yuleisui Feb 18, 2025
618d328
Create funptr-nested-struct.c
jumormt Feb 19, 2025
686d48c
Merge pull request #153 from jumormt/master
yuleisui Feb 19, 2025
0b5c729
update bc files
Feb 19, 2025
a8ff996
update latest SVF performance data
yuleisui Feb 19, 2025
6cc9c03
Create funptr-nested-struct-simple.c
jumormt Feb 19, 2025
12f3221
Merge pull request #154 from jumormt/master
yuleisui Feb 19, 2025
a3633ca
update bc files
Feb 19, 2025
0835d8f
update latest SVF performance data
yuleisui Feb 20, 2025
5b450a7
update latest SVF performance data
yuleisui Feb 21, 2025
ff14783
update latest SVF performance data
yuleisui Feb 24, 2025
7886cef
update latest SVF performance data
yuleisui Feb 25, 2025
4c38697
update latest SVF performance data
yuleisui Feb 25, 2025
2cc1602
update latest SVF performance data
yuleisui Feb 25, 2025
9ef97be
update latest SVF performance data
yuleisui Feb 27, 2025
baeefdd
update latest SVF performance data
yuleisui Mar 3, 2025
c0f61da
update latest SVF performance data
yuleisui Mar 3, 2025
1e07cde
update latest SVF performance data
yuleisui Mar 18, 2025
d77e532
update latest SVF performance data
yuleisui Mar 18, 2025
21deb80
update latest SVF performance data
yuleisui Mar 26, 2025
91b5830
update latest SVF performance data
yuleisui Apr 1, 2025
c59d6ee
update latest SVF performance data
yuleisui Apr 5, 2025
0cf9363
update latest SVF performance data
yuleisui Apr 7, 2025
861fa41
Categorize test cases into passed and failed
MingxiuWang Apr 8, 2025
ef982e5
delele all unrelevant files
MingxiuWang Apr 8, 2025
d385236
nullptr
MingxiuWang Apr 10, 2025
e1a90f3
Update CMakeLists.txt
MingxiuWang Apr 10, 2025
4137651
Merge pull request #155 from wmx66666/nullptr2
yuleisui Apr 14, 2025
ee4f7b9
update bc files
Apr 14, 2025
f320588
Basic test for some static return functions
Apr 25, 2025
8e278c5
remove bcs
Apr 28, 2025
81f4227
Merge pull request #158 from JoelYYoung/recursion
yuleisui Apr 28, 2025
117c308
fix ci
Apr 28, 2025
7e877a8
Merge pull request #159 from JoelYYoung/recursion
yuleisui Apr 28, 2025
a3cddd1
fix ci
Apr 28, 2025
3c7d9f3
Merge pull request #160 from JoelYYoung/recursion
yuleisui Apr 28, 2025
6ac5e7a
fix ci
Apr 28, 2025
280458f
Merge pull request #161 from bjjwwang/master
yuleisui Apr 28, 2025
af7a135
update bc files
Apr 28, 2025
5033700
add exception for deque3 and deque4
Apr 28, 2025
32702cc
Merge pull request #162 from bjjwwang/master
yuleisui Apr 28, 2025
5a58c27
widen-top -> widen-only
Apr 28, 2025
e73eb4d
recur-mode -> recur-handle
Apr 28, 2025
d238834
recur-handle -> handle_recur
Apr 28, 2025
256d688
make all recursion is widen-narrow
Apr 28, 2025
f82b746
Merge pull request #163 from bjjwwang/master
yuleisui Apr 28, 2025
ee032f4
update bc files
Apr 28, 2025
95febe3
update latest SVF performance data
yuleisui Apr 28, 2025
6770756
Merge remote-tracking branch 'origin/nullptr2' into nullptr_deref_test
MingxiuWang Apr 30, 2025
7838788
Merge pull request #157 from mortkever/master
yuleisui Apr 30, 2025
8264bee
update bc files
Apr 30, 2025
5458187
add ExeAPI like: strcpy, strcat, memcpy and memset, for nullptr-deref…
MingxiuWang Apr 30, 2025
bb6d8ce
add new file for nullptr-dereference
MingxiuWang Apr 30, 2025
d21bde3
4 extapi
Apr 30, 2025
0da060a
resume ae_nullptr_deref cases
Apr 30, 2025
8c46752
add some files for nullptr
MingxiuWang May 1, 2025
0ffea40
add new files for nullptr
MingxiuWang May 1, 2025
2d63f1f
add new files for nullptr
MingxiuWang May 1, 2025
c205ee8
modify CMakeLists.txt
MingxiuWang May 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 6 additions & 4 deletions .github/workflows/Test-Suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
# This workflow contains a single job called "build"
linux_build:
# The type of runner that the job will run on
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
Expand All @@ -26,9 +26,11 @@ jobs:
- name: env-setup
run: |
sudo apt-get update
sudo apt-get install unzip tar
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
mkdir -p "/opt/llvm" && tar -xf clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -C "/opt/llvm" --strip-components 1
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install cmake gcc g++ nodejs doxygen graphviz lcov libncurses5-dev libtinfo6 libzstd-dev unzip tar
wget https://github.com/SVF-tools/SVF/releases/download/SVF-3.0/llvm-16.0.0-ubuntu24-rtti-x86-64.tar.gz
mkdir -p "/opt/llvm" && tar -xf llvm-16.0.0-ubuntu24-rtti-x86-64.tar.gz -C "/opt/llvm" --strip-components 1
echo "/opt/llvm/bin" >> $GITHUB_PATH

- name: stash-changes
Expand Down
32 changes: 25 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ endforeach()
# Run with: (ctest -R diff-perf-cruxbc-small -VV)
set(diff_tests_cruxbc_small
dc bc libbz2.so bunzip2 htop)
set(cmdw "wpa -vfspta -dump-vfg -dump-json=ir.json")
set(cmdw "wpa -vfspta -dump-vfg")
string(REPLACE " " ";" commandtempw ${cmdw})
set(commandw ${commandtempw})
foreach(file ${diff_tests_cruxbc_small})
Expand All @@ -289,7 +289,7 @@ endforeach()
# Crux bc Big: Filesystem & Performance regression testing
# Run with (ctest -R diff-perf-cruxbc-big -VV)
set(diff_tests_cruxbc_big libcurl.so bash)
set(cmdw "wpa -ander -dump-json=ir.json")
set(cmdw "wpa -ander")
string(REPLACE " " ";" commandtempw ${cmdw})
set(commandw ${commandtempw})
foreach(file ${diff_tests_cruxbc_big})
Expand Down Expand Up @@ -326,19 +326,37 @@ foreach(filename ${ae_overflow_files})
COMMAND ae -overflow -field-limit=1024 ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)
add_test(
NAME ae_recursion_tests/${filename}-widen-narrow
COMMAND ae -overflow -handle-recur=widen-narrow -field-limit=1024 ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)
endforeach()

# loops over ae_nullptr_files and run "ae $bc_file"
file(GLOB ae_nullptr_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/test_cases_bc/ae_nullptr_deref_tests/*.bc")
# loops over ae_nullptr_deref_files and run "ae -null-ptr-deref $bc_file"
file(GLOB ae_nullptr_deref_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/test_cases_bc/ae_nullptr_deref_tests/*.bc")

foreach(filename ${ae_nullptr_files})
foreach(filename ${ae_nullptr_deref_files})
add_test(
NAME ae_nullptr/${filename}
COMMAND ae -nullptr ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
NAME ae_nullptr_deref_tests/${filename}
COMMAND ae -null-ptr-deref ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)

endforeach()

# loops over ae_recursion_files and run "ae -overflow $bc_file" under 3 recursion modes
file(GLOB ae_recursion_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/test_cases_bc/ae_recursion_tests/*.bc")

foreach(filename ${ae_recursion_files})
add_test(
NAME ae_recursion_tests/${filename}-widen-narrow
COMMAND ae -overflow -handle-recur=widen-narrow -field-limit=1024 -widen-delay=10 ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)
endforeach()


## symbolic abstraction tests (ctest -R symabs -VV)
set(cmd "ae -symabs")
string(REPLACE " " ";" commandtemp ${cmd})
Expand Down
2 changes: 2 additions & 0 deletions diff_tests/difftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ def comparer_andersen(stats1: Stats, stats2: Stats):
delta = abs(d1 - d2) / d1
exceptions = [
('basic_cpp_tests/queue-1.cpp.bc', 0.01), # 0.00604714303344439
('basic_cpp_tests/deque-3.cpp.bc', 0.01), # 0.0010105589240854218
('basic_cpp_tests/deque-4.cpp.bc', 0.01), # 0.0010217113665389242
('basic_cpp_tests/stack-1.cpp.bc', 0.01), # 0.0022123893805308967
('basic_cpp_tests/vector-1.cpp.bc', 0.15), # 0.1426766811269205
('basic_cpp_tests/vector-3.cpp.bc', 0.17), # 0.15063392744891338
Expand Down
Loading