Age | Commit message (Collapse) | Author |
|
CallBase::getCalledValue has been deprecated by getCalledOperand since LLVM 8
and has been removed in LLVM 11
See: https://reviews.llvm.org/D78882
|
|
The same applies to SmallString.
See: llvm/llvm-project@777180a#diff-497ba4c0c527a125d382b51a34f32542
|
|
|
|
|
|
used.
|
|
|
|
Currently, only 32bit vs. 64bit is supported.
|
|
|
|
We implement the Itanium ABI unwinding base-API, and leave the
C++-specific parts to libcxxabi.
Co-authored-by: Lukas Wölfer <lukas.woelfer@rwth-aachen.de>
|
|
* fill missing columns in rows with None
* fill previous rows with None if new column encountered
* error for --to-csv when more than one input directory given
|
|
|
|
klee-zesti takes concrete arguments, files and stdin of the program under tests
converts them to a seed and then runs klee with that seed. This emulates the interface of ZESTI.
|
|
outputting wrong data.
When KLEE crashes, it produces an empty info file, so it is not enough to check for the existence of an info file.
Previously, table columns would mismatch and return data labeled with the wrong directory names.
|
|
|
|
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
|
|
appropriate existing directories and a new directory Statistics; a few missing renames.
|
|
tly in lib/Core
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instructions
Last `Instructions` is not a good identifier to retrieve the correct row.
For the default setup, KLEE will generate two entries with the same last instruction.
One before clean-up and one after clean-up (i.e. if states are terminated on halt).
Using `rowid` will select the last line.
|
|
The number and order of statistics in klee-stats is hard coded.
Moreover, adding new statistics to KLEE lead to crashes.
Rewriting that part of the script generalises and streamlines the process.
List of changes:
* Extend legend: this is used for known columns to provide shorter names
* simplify sqlite handling and make it more robust and reading of data
* select columns based on internal KLEE names
* streamline addition of artificial columns and make it robust
* handle the case if different runs should be compared but not all have the same statistics
* fix calculation of summary row:
- avg of column if column is showing a relative value or avg value
- max of column if column is showing a max value
- sum of column entries, else
|
|
|
|
|
|
|
|
|
|
Providing a list of directories might sometimes not contain the stats file.
Check its existence before trying to access it.
|
|
|
|
|
|
Added units for some of the data and
modified klee-stats source code to provide solver time
as a fraction of walltime along with fork, resolve
and cexcache time.
|
|
Currently, arbitrary *.bc files or archives containing .bc files (.bca or .a) can
be linked using `--link-llvm-lib`. Change documentation of command line argument to make this clear.
This feature is useful to keep avoid linking the bitcode libraries with the application as bitcode file in the first place.
Fix error message in case library could not be loaded
|
|
|
|
|
|
|
|
|
|
|
|
that klee-replay creates a temporary directory for replay
|
|
|
|
executing the program.
|
|
|
|
"KLEE-REPLAY:" to distinguish them from those printed by the replayed program
|
|
/tmp instead of using a fixed name in the current directory.
|
|
The last modification time of the run.stats database was being used as
the starting time of klee. This was causing Grafana to show graphs
incorrectly.
Instead we now read the start time from the info file.
Co-Authored-By: Kenny Macheka <knm17@ic.ac.uk>
|
|
|
|
directory. This improves the organization of the code, and also makes it easier to reuse Expr outside KLEE.
|
|
consistent naming convention
|
|
this function can be used to modify the control flow of the program
on different paths, enabling self-modifying code.
|