klee-stats
klee-stats是一个Python脚本,用于从KLEE执行过程运行中形成的文件run.stats中抽取一些统计信息,并且用表格来表示。运行中的统计信息包括:
1.1 执行的指令数:The number of executed instructions
1.2 LLVM位代码上指令的覆盖率:Instruction coverage in the LLVM bitcode (%)
1.3 LLVM位代码上分支的覆盖率:Branch coverage in the LLVM bitcode (%)
1.4 LLVM位代码上的总的静态指令数:Total static instructions in the LLVM bitcode
1.5 当前活动状态数:The number of currently active states
1.6 使用的内存情况:Megabytes of memory currently used
1.7 提交给SMT Solver的查询数量:The number of queries issued to the SMT solver
1.8 The average number of query constructs per query
1.9~1.14是一些时间花费情况:
1.9 Various time statistics:Total user time
1.10 Total wall time
1.11 Time spent in the constraint solver
1.12 Time spent in the counterexample caching code
1.13 Time spent forking
1.14 Time spent in object resolution
klee-stats的应用格式:klee-stats [options] directories
参数directories对应着klee-out-*目录,如果是最近一次的运行结果,则可以用klee-last链接。
为了从values of measured times设定要打印的信息,可以通过下面的一些参数进行设置:
--print-rel-times 显示有关measured execution time的信息
--print-abs-times 显示绝对的实际值
--precision 用于设置精度,缺省情况下保留两位小数。
其它更详细的可以参考命令的帮助,格式如下:
$ klee-stats --help