[klee-dev] questions about klee-array

Cadar, Cristian c.cadar at imperial.ac.uk
Wed Sep 4 15:37:28 BST 2019


Yes, our array acceleration work is integrated into the mainline (use 
option -optimize-array=all) and on your example it reduces the time on 
my machine from ~80s to only ~4s.  However, there is another issue 
there, which was discussed on the mailing list several times before: 
since the indexes are completely unconstrained, they could refer to any 
other memory object, causing a lot of unnecessary forking.  If you 
constrain the indexes to be in-bounds (klee_assume(x >= 0); 
klee_assume(x < 4096); same for y), KLEE should be much faster, even 
without the array optimization.

Cristian

On 04/09/2019 02:01, Qiao Kang wrote:
> Hi all,
> 
> When I run klee, I found it is quite slow to resolve array constraints 
> if the array size is large.
> 
> For instance (x, y are both symbolic variables):
> 
> int a[4096] = {0};
> a[x] = 1;
> if (a[y] > 0){
>    // path1
> } else {
>    // path2
> }
> 
> It takes serveral seconds to finish, and the time scales with the size 
> of the array.
> 
> Then I found a paper "Accelerating Array Constraints in Symbolic 
> Execution" - ISSTA 2017, and seems that this paper aims at address this 
> problem.
> 
> I'm quite interested in reproducing the results of this paper, but I 
> cannot build klee-array from source, because it relies on LLVM 3.4 and 
> it is not available from ubuntu software repos.
> 
> I'm downloading the vm image (ova file) but it is very slow (200K/s).
> 
> My questions are:
> 1) Is the poor performance I have observed expected?
> 2) Is klee-array integrated in the klee mainstream?
> 3) If not, how can I build klee-array from source which relies on 
> earlier version of LLVM?
> 4) Can I download the ova from other sources like google drive?
> 
> Thank you very much,
> Qiao
> 
> _______________________________________________
> 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