Hi Rajdeep, in dynamic symbolic execution, only a subset of paths are usually explored. The number of completed paths is just the number of feasible paths successfully explored by KLEE in the given time budget. You might want to refer to the EXE and KLEE papers for more details on how this variant of symbolic execution works.

Cristian

On 06/01/16 05:44, RAJDEEP MUKHERJEE wrote:

Hi Dan,

Many thanks for your reply. I have another query regarding the
klee-statistics.

1> I used klee-stats (eg. klee-stats --print-all klee-last) to see the
statistics, but it does
not report any stats about the number of feasible and infeasible paths
in the program ?

When I run Klee on a program, the statistics dumped looks like as follows.
KLEE: done: total instructions = 272667
KLEE: done: completed paths = 1
KLEE: done: generated tests = 1

Is the number of completed paths same as number of feasible paths in the
program ?

2> How to get the statistics for the number of feasible, infeasible and
total paths ?

Many thanks in advance.

Best,
Rajdeep

On Tue, Jan 5, 2016 at 4:40 PM, Dan Liew <d...@su-root.co.uk
<mailto:d...@su-root.co.uk>> wrote:

    > Is the number of completed paths same as number of feasible paths in the
    > program ?
    >
    > 2> Does Klee invoke a SAT query at every branch point in the program by
    > default to determine
    > the eager infeasibility of a path ? Or is there other heuristics to
    > selectively chose branch points ?

    AFAIK KLEE issues a query at every branch point. This does not
    necessarily trigger a call to the underlying solver though as KLEE has
    some caching mechanisms that may fire.

    > 3>  Does Klee support SAT solvers in the backend like MiniSAT etc ?

    You are looking at the wrong level. KLEE works at the level of SMT
    solvers, not SAT solvers as it needs a logic over bitvectors, not
    booleans. Typically an SMT solver will be implemented in terms of a
    SAT solver but KLEE does not know this. STP itself supports two
    backends MiniSat and CryptoMinisat4. KLEE doesn't currently set the
    backend to use in STP but support could be added. I would happily
    review a pull request that added this.

    KLEE supports a few other SMT solvers via the MetaSMT interface
    (untested) and I am currently working on native Z3 support.

    > believe that the default SMT solver
    > used is STP. The follow-up to this question is that are there options to
    > dump the path-constraints
    > in DIMACS format to use with a SAT solver.

    KLEE supports emission of the constraints in its own custom language
    (KQuery) and as SMT-LIBv2.

    HTH,
    Dan.




--


Thank You
Rajdeep Mukherjee
D.Phil Student,
Dept. of Computer Science,
University of Oxford
Mob. :- 07405100369
Webpage :-
http://www.cs.ox.ac.uk/people/rajdeep.mukherjee/<http://cse.iitkgp.ac.in/~rajmukh/#research>


_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev


_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to