Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
6524666
Add lazy instantiator
misonijnik Aug 6, 2020
27e1ddb
Add cfa
misonijnik Dec 11, 2020
44077ce
Refactor runKBLock
misonijnik Dec 11, 2020
27c137b
Update KBlock constructors
misonijnik Dec 11, 2020
8de1622
Fix splitByCall
misonijnik Aug 2, 2020
c0bc48e
Split runInstructions
misonijnik Dec 11, 2020
bdc4a67
Add prepareSymbolicStack
misonijnik Aug 31, 2020
24fe0ab
Add cfgStates
misonijnik Sep 2, 2020
911ba89
Initialize liSource
misonijnik Sep 3, 2020
9871061
Update cfgStates for recursive programms
misonijnik Dec 11, 2020
3a9baa3
Add clear() AddressSpace
misonijnik Dec 11, 2020
177949b
Fix deleting states in cfgStates
misonijnik Sep 24, 2020
89bf43e
Fix execute of store instruction
misonijnik Sep 24, 2020
8322854
Fix run callBlock
misonijnik Sep 27, 2020
11fe702
Add optimization under the flag
misonijnik Sep 30, 2020
bb01a96
Fix lazy instantiation of argument
misonijnik Dec 11, 2020
41e16f5
Add lazy instantiation of phi node
misonijnik Oct 5, 2020
8a7ca26
Fix tryPushPreviousStack
misonijnik Oct 5, 2020
35b5b1d
Fix prepareSymbolicArgs
misonijnik Oct 6, 2020
b32d3d4
Fix prepareSymbolicReturn
misonijnik Dec 11, 2020
f21b60e
Upgrade runFunctionAsBlockSequence and fix some bugs
misonijnik Dec 11, 2020
9e8a94c
Fix runFunctionAsBlockSequence
misonijnik Nov 6, 2020
666fa1c
Add dummy handlers for terminators in IsolationMode
misonijnik Nov 6, 2020
6d57137
Fix use of allocate
misonijnik Nov 14, 2020
6bc1637
multiple states for a BB
misonijnik Nov 14, 2020
99a6d1d
Add bound of registers indexes
misonijnik Dec 11, 2020
e23dcf9
Update eval
misonijnik Nov 18, 2020
545bcda
Exclude getAddressInfo
misonijnik Nov 18, 2020
7236542
Add symbolicEval
misonijnik Dec 11, 2020
87fe835
Fix symbolicEval and prepareSymbolicRegister
misonijnik Nov 22, 2020
0cb65a9
Fix usage of bindModuleConstants
misonijnik Nov 23, 2020
cdad902
Fix lazyInstantiateVariable
misonijnik Dec 11, 2020
4152a93
Fix lazyInstantiateRegister
misonijnik Dec 11, 2020
08cf40c
Fix resolve and resolveOne
misonijnik Nov 25, 2020
e09b33b
Clear executeMemoryOperation
misonijnik Dec 11, 2020
dd0a639
Fix prepareSymbolicValue
misonijnik Dec 11, 2020
b2d5208
Add GEPExpr
misonijnik Dec 2, 2020
e62a890
Fix MemoryObjectLT operator
misonijnik Dec 2, 2020
acb76ce
Add pausedStates
misonijnik Dec 11, 2020
ee67032
Exclude solver
misonijnik Dec 3, 2020
34e75d6
Add use GEPExpr
misonijnik Dec 3, 2020
6672974
FIx executeMemoryOperation
misonijnik Dec 9, 2020
624d041
Fix bug after rebase
misonijnik Dec 11, 2020
7cca6a3
Fix executeMemoryOperation
misonijnik Dec 15, 2020
165c9f5
Clear
misonijnik Dec 16, 2020
855cc81
Add executeTargetedTerminator
misonijnik Dec 17, 2020
7f22ef9
Add getCumulativeCFA
misonijnik Dec 23, 2020
e54d258
Add usage of erroneousStates
misonijnik Dec 24, 2020
afee3d7
Delete runFunctionAsBlockSequence
misonijnik Dec 27, 2020
6c69ef9
Add exitStates
misonijnik Dec 28, 2020
e4edd3e
Fix usage of CallSite
misonijnik Dec 29, 2020
3500018
Fix
misonijnik Jan 9, 2021
74be000
Add getExecutionResult
misonijnik Feb 1, 2021
6faef80
Add TargetedSearcher
misonijnik Feb 1, 2021
9bd654b
Add GuidedSearcher
misonijnik Jan 29, 2021
cc2ad15
Fix guidedRun
misonijnik Jan 29, 2021
f37324e
Clear code [WIP]
misonijnik Feb 2, 2021
cbabab4
Update GuidedSearcher
misonijnik Feb 7, 2021
8d5ad34
Clear
misonijnik Feb 7, 2021
d884663
Update GuidedSearcher
misonijnik Feb 7, 2021
d4eedd2
Fix registerMap
misonijnik Feb 7, 2021
bf35c5b
Fix formState
misonijnik Feb 7, 2021
3db71c9
Fix tryGetWeight
misonijnik Feb 8, 2021
c53cfc9
Clear
misonijnik Feb 8, 2021
5a1f5f5
Fix splitByCall
misonijnik Feb 9, 2021
6b46e63
Remove pauseStates
misonijnik Feb 9, 2021
e56ae78
Discard changes of fork
misonijnik Feb 9, 2021
736fba0
Update usage of GEPExpr
misonijnik Feb 9, 2021
e68424b
cc
ocelaiwo Feb 10, 2021
f59b4ae
Set default searcher
misonijnik Feb 10, 2021
c88d47f
Fix updateStates
misonijnik Feb 10, 2021
2fe27ad
Fix tests
misonijnik Feb 10, 2021
89dbaed
WIP
ocelaiwo Feb 11, 2021
1bd1eb8
Fix guided mode
misonijnik Feb 11, 2021
8384f18
Default main
misonijnik Feb 11, 2021
7651a0d
Fix guided mode
misonijnik Feb 12, 2021
3dbe2b4
Merge branch 'klee-guided-2.2_testcomp' into klee-guided-2.2
ocelaiwo Feb 12, 2021
d92c8f1
Fix TargetedSearcher
misonijnik Feb 12, 2021
4150ea6
Fix calculateTargetedStates
misonijnik Feb 12, 2021
b986cce
WIP
ocelaiwo Feb 12, 2021
2239ed8
Merge branch 'klee-guided-2.2' of gitlab.com:yummy-research-team/stat…
ocelaiwo Feb 12, 2021
381a7f9
Fix GuidedSearcher
misonijnik Feb 12, 2021
cf9ec8c
Add ExecutionMode
misonijnik Feb 12, 2021
2fb7236
Fix
misonijnik Feb 12, 2021
ba8e7f0
Benchexec and testcov
ocelaiwo Feb 13, 2021
71c3f89
Fix
ocelaiwo Feb 13, 2021
525736e
Upd
ocelaiwo Feb 13, 2021
dd71d08
Clear
misonijnik Feb 13, 2021
293e8a8
Fix style
misonijnik Feb 13, 2021
b680685
Add seed and rename
misonijnik Feb 13, 2021
5b7d835
Fix tests
misonijnik Feb 13, 2021
414098d
Fix targetedRun
misonijnik Feb 15, 2021
247d9ed
Some usability improvements
misonijnik Feb 16, 2021
6a7a627
Calculate backwarDistance lazily
misonijnik Feb 19, 2021
e1da0e9
Fix executeMemoryOperation
misonijnik Feb 19, 2021
97eec94
Add interleaved scheduler in GuidedSearcher
misonijnik Feb 20, 2021
48a0b65
Add getDistance
misonijnik Feb 23, 2021
cf0fa36
Now targets are calculated as soon as the state has paused
misonijnik Feb 24, 2021
f12b66c
New metric in TargetedSearcher
misonijnik Feb 24, 2021
f7d6088
Clear
misonijnik Mar 1, 2021
0598977
Fix KBlock constructor
misonijnik Jul 6, 2021
e11f729
Merge branch 'fix-libcxx-tests' into 'master'
misonijnik Jul 28, 2021
4acbbe3
Change set to unordered_set
misonijnik Apr 19, 2021
39e764f
Fix resolve
misonijnik Apr 24, 2021
66b5e64
Fix executeMemoryOperation
misonijnik May 17, 2021
36d33f0
Disable memory operation with global objects
misonijnik May 10, 2021
854adc3
Fix calculateTarget
misonijnik May 21, 2021
cc210c8
Implement lazy initialization
ocelaiwo Jun 9, 2021
a9c9b81
Add unrelated changes and fix unit tests.
misonijnik Jul 28, 2021
aeca244
Add TestCase destructor
ocelaiwo Aug 2, 2021
f639447
Fix TestCase
ocelaiwo Aug 10, 2021
7846e40
Add object addresses to TestCase format
ocelaiwo Aug 19, 2021
3288b49
Upgrade handle of GEPExpr
misonijnik Jul 18, 2021
b829926
Fix getRange
ocelaiwo Aug 7, 2021
63a1d2d
KLEE floating-point support.
Jul 14, 2021
3abb7af
Add build.sh
Jul 8, 2021
8065979
Integrate sanitizer
Jul 9, 2021
ddebd9a
Prepared KLEE for launching it with POSIX runtime. Added symbolic var…
Jul 9, 2021
2347940
Add timeouts
Jul 9, 2021
7eed5d7
Added possibility of installing as a library and launching as a function
Jul 9, 2021
00d9e9c
Test failure for WSL 1
Jun 17, 2021
609f434
Resolve diff with utbot klee
Jul 14, 2021
bdddfce
Prepare KLEE for open-source
Jul 23, 2021
7e4b560
Fix build after adding lazy_initialization
Jul 28, 2021
1e2326e
Resolve diff with utbot klee after adding lazy_initialization
Jul 28, 2021
85cc67f
Set pointers on lazy and symbolic variables
Sep 8, 2021
ae2c070
Resolve conflicts after rebasing on guided-klee/lazy_initialization
Sep 20, 2021
251745d
Removed uclibc from KLEE build
Oct 20, 2021
199ee04
Removed KLEE testing from UTBot build
Oct 21, 2021
d7a81fd
[fix] Fixed GEPExpr lazy instantiation handler
misonijnik Dec 16, 2021
65479c4
[fix] Included llvm::format in header
misonijnik Dec 16, 2021
cf4037f
Add CI
Feb 4, 2022
d66706f
update build.sh add workflow on utbot docker
Feb 9, 2022
19d533d
Merge pull request #6 from UnitTestBot/add_script_test_and_libcxx
sava-cska Feb 15, 2022
750a0b9
[test] Enabled ASan
misonijnik Feb 10, 2022
92db9ad
[test] Enable MSan
misonijnik Feb 18, 2022
da58fac
Fixed ASan and MSan
sava-cska Mar 9, 2022
13b215c
Refactor run_klee.cpp
Dec 29, 2021
6a09515
Add interactive mode
Mar 16, 2022
398d677
Add intrinsic replacement for 'sqrt'
operasfantom Mar 19, 2022
f63b9e9
Fix typo
operasfantom Mar 19, 2022
71335b0
Merge pull request #8 from UnitTestBot/interactive_mode
sava-cska Mar 25, 2022
b1218dc
Merge pull request #9 from UnitTestBot/sqrt
sava-cska Mar 29, 2022
c85ee3b
fix unclosed files
Lana243 Apr 6, 2022
29c1be0
Merge pull request #10 from UnitTestBot/fix/177/unclosed-files
Lana243 Apr 8, 2022
b836c78
Add TimeoutPerTest for generation tests for project
Apr 15, 2022
e1a2b06
[fix] base cannot be ConstantExpr
misonijnik Apr 24, 2022
73701e2
Clean files
Jun 7, 2022
d76a384
Inline asm external call
mishok2503 Jul 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/build-in-base-env.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Build in UTBot base_env

on:
pull_request:
branches: utbot-main
push:
branches: utbot-main

jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/unittestbot/utbotcpp/base_env:02-02-2022
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Run build.sh
run: |
./build.sh
- name: Run tests
run: |
cd build && ninja check
17 changes: 2 additions & 15 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI

on:
pull_request:
branches: master
branches: utbot-main
push:
branches: master
branches: utbot-main

# Defaults for building KLEE
env:
Expand Down Expand Up @@ -43,9 +43,6 @@ jobs:
"LLVM 7",
"LLVM 6",
"LLVM 5",
"LLVM 4",
"LLVM 3.9",
"LLVM 3.8",
"ASan",
"UBSan",
"MSan",
Expand Down Expand Up @@ -79,16 +76,6 @@ jobs:
- name: "LLVM 5"
env:
LLVM_VERSION: 5
- name: "LLVM 4"
env:
LLVM_VERSION: 4
- name: "LLVM 3.9"
env:
LLVM_VERSION: 3.9
- name: "LLVM 3.8"
env:
LLVM_VERSION: 3.8
USE_LIBCXX: 0
# Sanitizer builds. Do unoptimized build otherwise the optimizer might remove problematic code
- name: "ASan"
env:
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ Debug/
Debug+Asserts/
Output/

.idea
# commonly used as cmake build directory
/build

cmake-build-debug
cmake-build-release
cscope.*
*~

Expand All @@ -30,3 +32,5 @@ lit.site.cfg
autoconf/aclocal.m4
autoconf/autom4te.cache/
autom4te.cache/

.vscode
11 changes: 1 addition & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
###########################################################################

# Check a subset of the matrix of:
# LLVM : {3.8, 3.9, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0}
# LLVM : {5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0}
# SOLVERS : {Z3, STP, STP:Z3, metaSMT}
# STP_VERSION : {2.3.3, master}
# METASMT_VERSION : {v4.rc1}
Expand Down Expand Up @@ -74,15 +74,6 @@ jobs:
- name: "LLVM 5"
env: LLVM_VERSION=5.0

- name: "LLVM 4"
env: LLVM_VERSION=4.0

- name: "LLVM 3.9"
env: LLVM_VERSION=3.9

- name: "LLVM 3.8"
env: LLVM_VERSION=3.8 USE_LIBCXX=0

# Sanitizer builds. Do unoptimized build otherwise the optimizer might remove problematic code
- name: "ASan"
env: SANITIZER_BUILD=address ENABLE_OPTIMIZED=0 USE_TCMALLOC=0
Expand Down
56 changes: 54 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ include(CheckLibraryExists)
# Project version
###############################################################################
set(KLEE_VERSION_MAJOR 2)
set(KLEE_VERSION_MINOR 2)
set(KLEE_VERSION_MINOR 2-utbot_lazy_initialization)
set(KLEE_VERSION "${KLEE_VERSION_MAJOR}.${KLEE_VERSION_MINOR}")

# If a patch is needed, we can add KLEE_VERSION_PATCH
Expand Down Expand Up @@ -516,6 +516,40 @@ else()
message(STATUS "POSIX runtime disabled")
endif()

################################################################################
# KLEE floating point support
################################################################################
option(ENABLE_FLOATING_POINT "Enable KLEE's floating point extension" OFF)
if (ENABLE_FLOATING_POINT)
if (NOT ${ENABLE_Z3})
message (FATAL_ERROR "Floating point extension is availible only when using Z3 backend."
"You should enable Z3 by passing the following option to cmake:\n"
"\"-DENABLE_SOLVER_Z3=ON\"\n")
else()
set(ENABLE_FP 1) # For config.h
message(STATUS "Floating point extension enabled")
endif()
else()
set(ENABLE_FP 0) # For config.h
message(STATUS "Floating point extension disabled")
endif()

################################################################################
# KLEE floating point runtime
################################################################################
option(ENABLE_FP_RUNTIME "Enable KLEE's floating point runtime" OFF)
if (ENABLE_FP_RUNTIME)
if (NOT ENABLE_FLOATING_POINT)
message (FATAL_ERROR "Floating point runtime is availible only when using KLEE fp extension."
"You should enable it by passing the following option to cmake:\n"
"\"-DENABLE_FLOATING_POINT=ON\"\n")
else()
message(STATUS "Floating point runtime enabled")
endif()
else()
message(STATUS "Floating point runtime disabled")
endif()

################################################################################
# KLEE uclibc support
################################################################################
Expand Down Expand Up @@ -718,6 +752,11 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(KLEE_UTILS_DIR ${CMAKE_SOURCE_DIR}/utils)

################################################################################
# Set install destination paths for targets
################################################################################
set(RUN_KLEE_MAIN_LIB_DEST "lib/run_klee")
set(RUN_KLEE_LIB_DEST "${RUN_KLEE_MAIN_LIB_DEST}/${CMAKE_BUILD_TYPE}")

################################################################################
# Report the value of various variables to aid debugging
Expand Down Expand Up @@ -824,4 +863,17 @@ endif()
################################################################################
# Miscellaneous install
################################################################################
install(FILES include/klee/klee.h DESTINATION include/klee)
install(FILES include/klee/klee.h include/klee/ADT/KTest.h include/klee/ADT/TestCase.h DESTINATION include/klee)
INSTALL(FILES lib/Core/Executor.h DESTINATION include/klee/Core)
INSTALL(DIRECTORY include/klee/Expr DESTINATION include/klee)
INSTALL(DIRECTORY include/klee/Module DESTINATION include/klee)
INSTALL(DIRECTORY include/klee/Statistics DESTINATION include/klee)
INSTALL(DIRECTORY include/klee/Support DESTINATION include/klee)

install(EXPORT run_klee
DESTINATION "${RUN_KLEE_LIB_DEST}"
)

install(FILES cmake/run_klee-config.cmake
DESTINATION "${RUN_KLEE_MAIN_LIB_DEST}"
)
Loading