about summary refs log tree commit diff homepage
path: root/www/klee-tools.html
blob: 80ae5d358e70582ff2a04c0f755c2cd0ee1199fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
          "http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>The KLEE Symbolic Virtual Machine</title>
  <link type="text/css" rel="stylesheet" href="menu.css">
  <link type="text/css" rel="stylesheet" href="content.css">
</head>
<body>
<!--#include virtual="menu.html.incl"-->
<div id="content">
  <!--*********************************************************************-->
  <h1>KLEE Tools</h1>
  <!--*********************************************************************-->

 <h3>
  <a href="#ktest-tool">  1. ktest-tool</a> <br/>
  <a href="#klee-stats"> 2. klee-stats</a> <br/>
  </h3>

  <h2 id="ktest-tool">ktest-tool</h2> 

  <h2 id="klee-stats">klee-stats</h2>
  <b><i>klee-stats</i></b> is a Python script used to extract and present in a
  tabular form runtime statistics for a KLEE execution. The runtime statistics include:
  <ul>
    <li>The number of executed instructions</li>
    <li>Instruction coverage in the LLVM bitcode (%)</li>
    <li>Branch coverage in the LLVM bitcode (%)</li>
    <li>Total static instructions in the LLVM bitcode</li>
    <li>The number of currently active states</li>
    <li>Megabytes of memory currently used</li>
    <li>The number of queries issued to STP</li>
    <li>The average number of query constructs per query</li>
    <li>Various time statistics:
    <ul>
      <li>Total user time</li>
      <li>Total wall time</li>
      <li>Time spent in the constraint solver</li>
      <li>Time spent in the counterexample caching code</li>
      <li>Time spent forking</li>
      <li>Time spent in object resolution</li>
    </ul></li>
  </ul>


  <i>klee-stats</i> extracts statistics information from the <i>run.stats</i> file
  present in the <i>klee-out-*</i> directory created during a KLEE execution.
  The exact usage of <i>klee-stats</i> is as follows: 
  <pre>klee-stats [options] directories</pre>
  The <i>directories</i> parameter is a list of <i>klee-out-*</i> directories
  created by KLEE.  A common scenario is to simply run <i>klee-stats</i> on <i>klee-last</i>.

  <p>
  In order to limit printed information only to the values of measured times, 
  the following options can be used:
 
  <ul>
    <li><i>--print-rel-times</i>&#8212;display time values relative
    to measured execution time</li>
    
    <li><i>--print-abs-times</i>&#8212;display absolute time values</li>
  </ul>
 
  The <i>--precision</i> option can be used to configure the number of fractional
  digits displayed in floating point values. By default, 2 fractional digits
  are displayed, but in some cases that might be not sufficient&#8212;if the value
  is very small, e.g. 0.0001, with 2-digits precision it will be printed as 0.00.
  </p>

  <p> Various other options can be used to specify what values are
  displayed and how they are displayed. Options for comparison of
  statistics are also provided. More information about available
  options can be obtained using the command:
  <pre>klee-stats --help</pre>
  </p>

  <br/>
  
</div>
</body>
</html>