Files generated by KLEE
Standard Global Files
These are global files are always generated on a KLEE execution:
- info: This is a text file containing various information
related to a KLEE run. In particular, it records the exact
command-line with which KLEE was run, and the total time taken by
the execution. E.g.:
$ cat info
klee --write-pcs demo.o
PID: 12460
Started: 2009-05-20 22:31:41
BEGIN searcher description
DFSSearcher
END searcher description
Finished: 2009-05-20 22:31:41
Elapsed: 00:00:00
KLEE: done: explored paths = 3
KLEE: done: avg. constructs per query = 6
KLEE: done: total queries = 3
KLEE: done: valid queries = 0
KLEE: done: invalid queriers = 3
KLEE: done: query cex = 3
KLEE: done: total instructions = 67
KLEE: done: completed paths = 3
KLEE: done: generated tests = 3
- warnings.txt: This is a text file containing all warnings emitted by KLEE.
- messages.txt: This is a text file containing all other messages emitted by KLEE.
- assembly.ll: This file contains a human readable version
of the LLVM bitcode executed by KLEE
- run.stats: This is a text file containing various
statistics emitted by KLEE. While this file can be inspected
manually, you should use the klee-stats
tool for that.
- run.istats: This is a binary file containing global
statistics emitted by KLEE for each line of code in the program.
Other Global Files
- all-queries.pc: This file contains all the queries KLEE
made during execution in the KQuery
format. Note these are the queries before any optimisation
(e.g. caching, constraint independence) so it is possible that
some of the queries logged are never executed by KLEE's underlying
solver or are modified before being executed by KLEE's underlying
solver. The generation of this file can be enabled by specifying
the option --use-query-log=all:pc to KLEE.
- all-queries.smt2: This file contains all the queries KLEE made during execution in the SMT-LIBv2
.It contains the same information as all-queries.pc.
The generation of this file can be enabled by specifying the option --use-query-log=all:smt2 to KLEE.
- solver-queries.pc: This file contains all the queries passed to KLEE's underlying solver during execution in the
KQuery format. Note these are the
queries after all optimisations (e.g. caching, constraint
independence) are performed. The generation of this file can be
enabled by specifying the
option --use-query-log=solver:pc to KLEE.
- solver-queries.smt2: This file contains all the queries passed to KLEE's underlying solver during execution in the
SMT-LIBv2
format. It contains the same information as solver-queries.pc.
The generation of this file can be enabled by specifying the option --use-query-log=solver:smt2 to KLEE.
Per-path files
-
test<N>.ktest: Contains the test case generated by
KLEE on that path. Use ktest-tool
to read the contents. The generation of .ktest files
can be disabled using the --no-output option.
-
test<N>.<error-type>.err: Generated for paths
where KLEE found an error. Contains information about the error
in textual form.
- test<N>.pc: Contains the constraints associated with the given
path, in KQuery format. The generation
of these files can be enabled via the --write-cvcs flag.
-
test<N>.cvc: Contains the constraints associated
with the given path,
in CVC
format. The generation of these files can be enabled via
the --write-pcs flag. (This is the same information as
in the corresponding .pc file.)
-
test<N>.smt2: Contains the constraints associated
with the given path,
in SMT-LIBv2
format. The generation of these files can be enabled via
the --write-smt2s flag. (This is the same information as
in the corresponding .pc file.)