Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-07-01 | Use constraint sets and separate metadata for timing solver invocation | Martin Nowack | |
Decouple ExecutionState from TimingSolver Instead of providing an execution state to the timing solver use a set of constraints and an additional object for metadata. Fixes: * correct accounting of metadata to a specific state * accounting of all solver invocations (e.g. solver-getRange was not accounted) * allows to invoke the solver without a state (avoids costly copying of states/constraints) | |||
2020-07-01 | Use `unique_ptr` for solver in timing solver | Martin Nowack | |
2020-07-01 | Separate constraint set and constraint manager | Martin Nowack | |
2020-07-01 | Move constraint implementation from header to cpp files | Martin Nowack | |
2020-06-29 | Enable subsets for RandomPathSearcher | Timotej Kapus | |
2020-06-29 | [PTree] Replace left/right with PointerIntPair | Timotej Kapus | |
2020-06-29 | Revert "refactor PTree: use unique_ptr" | Timotej Kapus | |
This reverts commit 0aed7731210d0eb41c0ea767edb8067130cf6252. | |||
2020-06-29 | Implement fshr/fshl intrinsics | Alastair Reid | |
Changes: - IntrinsicCleaner accepts fshr/fshl as accepted intrinsics - Executor::executeCall converts fshr/fshl to urem/zext/concat/shift/extract - Klee/main suppresses warnings about externals that are LLVM reserved (i.e., begin with "llvm.") - New test exercises 32 and 7 bit versions including oversize shift values Test values are based on LLVM's test for fshl/fshr - Changes that depend on existence of fshr/fshl are guarded by #if LLVM_VERSION_CODE >= LLVM_VERSION(7, 0) or ; REQUIRES: geq-llvm-7.0 | |||
2020-06-26 | [FreeBSD] Assume always yes for installing packages as well | Martin Nowack | |
2020-06-26 | Switch to a more recent version of SQLite in the CI | Cristian Cadar | |
2020-06-26 | Revert to FreeBSD 12.1-STABLE (13.0-CURRENT has started running into issues) | Cristian Cadar | |
2020-06-25 | Enforce fork/branch limits in branch() and fix double termination | Frank Busse | |
* extend help messages for -max-memory and -max-memory-inhibit * introduces branchingPermitted() * enforces fork/branch limits in branch() (vector version) * changes main loop * calls updateStates() before checkMemoryUsage() * calls updateStates() again in case we early terminate states This should prevent double termination for now. Other solutions are imho more expensive as we would have to compare possibly large vectors of states (either states(arr) in checkMemoryUsage() or removedStates in terminateState()). | |||
2020-06-25 | fix Executor: initializeGlobalAliases | Julian Büning | |
2020-06-25 | Executor: consolidate initialization of global objects | Julian Büning | |
2020-06-25 | Executor: light refactoring of {allocate,initialize}GlobalObjects | Julian Büning | |
mainly range-based for, code deduplication | |||
2020-06-25 | Executor: split initializeGlobals | Julian Büning | |
2020-06-25 | ExecutorUtil: assert that GlobalValue is already known | Julian Büning | |
2020-06-25 | add simple unknown bitcast alias test from the original issue | Julian Büning | |
2020-06-25 | add known bitcast test for comparison | Julian Büning | |
2020-06-25 | regression test for unknown bitcast alias | Julian Büning | |
2020-06-24 | StatsTracker: initialize indexed stats when user searcher requires MD2U | Adrian Herrera | |
This is the same check used in Executor::setModule. Without this check, KLEE will segfault in StatisticsManager::incrementIndexedValue, getIndexedValue, and setIndexedValue when `-output-stats=false` or `-output-istats=false` because StatisticsManager::indexedStats has not been allocated. | |||
2020-06-24 | print stateID with --debug-print-instructions | Frank Busse | |
2020-06-24 | add ExecutionState IDs | Frank Busse | |
* add getID()/setID() * use ExecutionStateIDCompare in Executor::states set * output state id in .err files | |||
2020-06-24 | slightly update ExecutionState, remove holes in struct | Frank Busse | |
2020-06-19 | Added test reported in https://github.com/klee/klee/issues/189 for byval ↵ | Cristian Cadar | |
variadic arguments | |||
2020-06-19 | Renamed Vararg.c to VarArg.c for consistency with the other var arg tests ↵ | Cristian Cadar | |
and reformatted comments. | |||
2020-06-19 | Added test checking for correct alignment of variadic arguments | Cristian Cadar | |
2020-06-19 | Correctly copy variadic arguments with byval attribute | Cristian Cadar | |
2020-06-19 | Renamed loop index from "i" to "k" in executeCall() so that we can reuse ↵ | Cristian Cadar | |
"Instruction *i" declared at the beginning of the function. Reformatted this function. | |||
2020-06-19 | Added test checking that KLEE correctly handles variadic arguments with the ↵ | Cristian Cadar | |
byval attribute | |||
2020-06-17 | remove cmake warning | Frank Busse | |
* rename SQLITE3 to SQLite3 CMake Warning (dev) at /usr/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message): The package name passed to `find_package_handle_standard_args` (SQLITE3) does not match the name of the calling package (SQLite3). This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern. Call Stack (most recent call first): cmake/modules/FindSQLite3.cmake:26 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:430 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. | |||
2020-06-06 | [Module] Add testcase for inline asm lifting | Martin Nowack | |
2020-06-06 | [Module] Disable lifting for inline asm resembling memory fences with return ↵ | Martin Nowack | |
values Inline asm used for memory barriers might use their operands and propagate them as return value. This is currently not supported. Tighten check for this condition and do not to lift those inline asm instructions. Fixes #1252 | |||
2020-05-01 | Add test case from #1257 to reproduce behaviour | Martin Nowack | |
2020-05-01 | [Solver:STP] Fix handling of array names | Martin Nowack | |
Array names used for STP queries used to be restricted to 32 characters, with the last characters replaced by a unique number. Similarly, an array is made unique by `klee_make_symbolic`. Unfortunately, both combined can lead to the generation of the same STP array name for different arrays. This leads to wrong queries with invalid results. This is more likely be triggered with longer names for `klee_make_symbolic` Fixes #1257 | |||
2020-04-30 | docker: install KLEE headers in system include path | Xiao Liang | |
Co-authored with @MartinNowack | |||
2020-04-30 | Moved header files that were placed directly in include/klee/ into ↵ | Cristian Cadar | |
appropriate existing directories and a new directory Statistics; a few missing renames. | |||
2020-04-30 | Removed include/klee/util and moved header files to appropriate places | Cristian Cadar | |
2020-04-30 | Created include/klee/Core directory and moved appropriate files direc\ | Cristian Cadar | |
tly in lib/Core | |||
2020-04-30 | Move header files from lib/Expr to include/klee/Expr to eliminate includes ↵ | Cristian Cadar | |
using "../" | |||
2020-04-30 | Removed the Internal directory from include/klee | Cristian Cadar | |
2020-04-20 | Consistently define variable using notation VAR=value; fixed comment placement | Cristian Cadar | |
2020-04-20 | Named jobs in Travis CI for better visualization of results | Cristian Cadar | |
2020-04-09 | [posix-runtime] Improve model to handle full-path symbolic files | Timotej Kapus | |
2020-04-09 | [posix-runtime] Add test for full path consistency for symbolic files | Timotej Kapus | |
2020-04-08 | readStringAtAddress: support pointer into objects | Marek Chalupa | |
The code assumed that the passed pointer points at the beginning of the object. Remove this assumption and support any (constant) pointer. The string is read util either the end of the object is hit (in which case a warning is issued as the string was not zero terminated) or until the terminating zero is found. | |||
2020-04-08 | test: add a new test for readStringAtAddress | Marek Chalupa | |
Read strings from different parts of objects. | |||
2020-04-08 | readStringAtAddress: use stringstream to obtain the string | Marek Chalupa | |
The code is simpler and more in the spirit of C++. | |||
2020-04-08 | stats: rename QueriesConstructs to QueryConstructs | Frank Busse | |
2020-04-08 | Statistic: slightly modernise class definition | Frank Busse | |