[klee-dev] Independent Solver
Cristian Cadar
c.cadar at imperial.ac.uk
Tue Feb 10 15:27:17 GMT 2015
Hi Eric,
Yes, you are right, that part could be optimised as you say. If you
have such a patch, I would be happy to review it and incorporate it into
the mainline.
Best,
Cristian
On 22/01/15 21:29, eric.rizzi at huskers.unl.edu wrote:
> Sorry for the barrage of emails.
>
>
> I have a question about how the IndependentSolver handles calls to
> computeInitialValues(). The other 3 functions for this phase of the
> Solver (computeValues, computeTruth, and computeValidity) do some type
> of independence analysis. The goal, it seems, is to only pass forward
> the expressions that are directly related to the newest part of the state.
>
>
> With computeInitialValues(), however, the entire query is forwarded
> without any analysis at all. This seems to be suboptimal since every
> previous call only evaluated (and therefore cached) pieces of the
> query. Therefore, by not breaking the query down, the cached
> information can not be easily utilized.
>
>
> What I would instead expect is the solver splitting the query up into
> smaller factors. It would then forward each of these pieces, one by
> one, to the next solver instance. Once all the pieces had been
> evaluated, it could then recombine the answers from each in order to get
> a complete answer. It seems that taking this approach would greatly
> increase the chances that the following stages (cache or cex) will hit,
> avoiding a SMT call.
>
>
> My question is, is this intuition correct, and, if not, what am I missing.
>
> Thanks,
>
> Eric Rizzi
>
>
>
> _______________________________________________
> klee-dev mailing list
> klee-dev at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
>
More information about the klee-dev
mailing list