about summary refs log tree commit diff homepage
path: root/tools
AgeCommit message (Collapse)Author
2020-11-11klee-stats: add (readable) csv format (--table-format=readable-csv/csv)Frank Busse
2020-11-11Do not redefine fgetc_unlocked and fputc_unlocked unconditionally.Gleb Popov
2020-11-09Added fortified library (for -D_FORTIFY_SOURCE), to be linked when uclibc is ↵Cristian Cadar
used.
2020-11-04Rename FreeStanding to Freestanding where appropriateMartin Nowack
2020-11-04Link to the different runtime libraries depending on the application to test.Martin Nowack
Currently, only 32bit vs. 64bit is supported.
2020-10-12Exception handling only for LLVM >= 8.0.0Julian Büning
2020-10-12Implemented support for C++ ExceptionsFelix Rath
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>
2020-09-30klee-stats: fix behaviour for broken/empty DBsFrank Busse
* 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
2020-09-17[gen-bout] Support multiple symbolic filesTimotej Kapus
2020-09-17Add klee-zesti a ZESTI like wrapper scriptTimotej Kapus
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.
2020-08-23klee-stats: check for a run.stats file in the klee-out directory, to prevent ↵Jordy Ruiz
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.
2020-07-01Separate constraint set and constraint managerMartin Nowack
2020-06-29Implement fshr/fshl intrinsicsAlastair 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-04-30Moved 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-30Created include/klee/Core directory and moved appropriate files direc\Cristian Cadar
tly in lib/Core
2020-04-30Removed the Internal directory from include/kleeCristian Cadar
2020-04-08stats: rename QueriesConstructs to QueryConstructsFrank Busse
2020-03-31Fixed some messages, particularly Klee -> KLEECristian Cadar
2020-03-17Fixed compiler warning when printing variable of type off_tCristian Cadar
2020-03-17stat64 is deprecated on macOS; use stat insteadCristian Cadar
2020-03-01[klee-stats] Grafana: Limit number of entries to query for column namesMartin Nowack
2020-03-01[klee-stats] Use the last row inserted instead of the row with highest ↵Martin Nowack
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.
2020-03-01[klee-stats] Refactor preparing and printing the tableMartin Nowack
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
2020-03-01[klee-stats] Check for existence of stats file for Grafana as wellMartin Nowack
2020-03-01[klee-stats] Do not crash if tabulate is not installed but requestedMartin Nowack
2020-03-01[klee-stats] Refactor writing table into own functionMartin Nowack
2020-03-01[klee-stats] Refactor CSV printout in own functionMartin Nowack
2020-03-01[klee-stats] Check if stats file exist before trying to open itMartin Nowack
Providing a list of directories might sometimes not contain the stats file. Check its existence before trying to access it.
2020-02-24Add leading zeros to genboutTimotej Kapus
2020-01-17Add support to provid a specific host address and port for grafana serverMartin Nowack
2020-01-17Extended the grafana dashboard.knm17
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.
2020-01-17Fixed documentation for command line argument link-llvm-libMartin Nowack
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
2019-11-07Allow main with 3 argumentsCristian Cadar
2019-10-31support compilation against LLVM 9.0Julian Büning
2019-10-29[klee-replay] Fix relative executable pathsTimotej Kapus
2019-09-03Moved solver-related header files into a separate klee/Solver/ directory.Cristian Cadar
2019-08-15replace fprintf with fputs/fputcFrank Busse
2019-08-14Delete functions delete_file() and delete_dir() which are not needed now ↵Cristian Cadar
that klee-replay creates a temporary directory for replay
2019-08-14Replace sprintf with snprintf throughout codebaseCristian Cadar
2019-08-14Create all files in the replay directory and chdir to this directory before ↵Cristian Cadar
executing the program.
2019-08-14Added an option to klee-replay to keep replay directoryCristian Cadar
2019-08-14Cleaned up messages emitted by klee-replay, and prefixed them all with ↵Cristian Cadar
"KLEE-REPLAY:" to distinguish them from those printed by the replayed program
2019-08-14Changed klee-replay to create a temporary directory with a random name in ↵Cristian Cadar
/tmp instead of using a fixed name in the current directory.
2019-08-08Read Klee's start time correctly in klee-statsGeorge Ordish
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>
2019-08-01gen(-random)-bout: add --bout-file flagFrank Busse
2019-07-30Consolidated Expr-related include files into a single include/klee/Expr ↵Cristian Cadar
directory. This improves the organization of the code, and also makes it easier to reuse Expr outside KLEE.
2019-06-04Fixed identifiers used in ifdefs to (1) not use reserved names and (2) use a ↵Cristian Cadar
consistent naming convention
2019-05-30remove klee_alias_function()Julian Büning
this function can be used to modify the control flow of the program on different paths, enabling self-modifying code.
2019-04-29Fix gen-random-bout to build on FreeBSD.Gleb Popov
2019-04-12Fix handling of time in grafanaTimotej Kapus