[klee-dev] Testing Structures with klee
Saikat Dutta
saikatdutta.pro2011 at gmail.com
Thu Oct 3 18:06:00 BST 2013
Thanks.
But what about linked lists? If there exists a next pointer in a structure,
will it be taken care of by klee?Or do i need to fix the length of linked
list and declare every instance of that structure symbolically?I m a bit
confused.
On Thu, Oct 3, 2013 at 9:04 PM, Daniel Liew <daniel.liew at imperial.ac.uk>wrote:
> KLEE models memory at the bytes level so you can things like this...
>
> include <stdio.h>
>
> int main(int argc, char** argv)
> {
> typedef struct
> {
> int a;
> int b;
> } A;
>
> A instance;
>
> klee_make_symbolic(&instance, sizeof(A));
>
> if ( instance.a > 0 )
> printf("instance.a >0\n");
> else
> printf("instance.a <=0\n");
>
> }
>
> As for "Normally big application have..." that totally depends on what
> sort of programs you are talking about. KLEE has built-in support for
> declaring symbolic command line arguments and symbolic files as
> command line arguments for convenience. You can get info on the is by
> running
>
> $ klee --posix-runtime <program>.bc --help
>
> usage: (klee_init_env) [options] [program arguments]
> -sym-arg <N> - Replace by a symbolic argument with length N
> -sym-args <MIN> <MAX> <N> - Replace by at least MIN arguments and at most
> MAX arguments, each with maximum length N
> -sym-files <NUM> <N> - Make stdin and up to NUM symbolic files, each
> with maximum size N.
> -sym-stdout - Make stdout symbolic.
> -max-fail <N> - Allow up to <N> injected failures
> -fd-fail - Shortcut for '-max-fail 1'
>
> See the Coreutils webpage
> (http://ccadar.github.io/klee/TestingCoreutils.html) for an example of
> how to use these
>
> On 3 October 2013 15:46, Saikat Dutta <saikatdutta.pro2011 at gmail.com>
> wrote:
> > Hi,
> > Normally big application have structures and linked lists or arrays of
> such
> > structures as inputs to functions. Is there an easy way to symbolically
> > declare them using klee? Or does one have to declare each of their
> component
> > primitive variables?
> > Thanks.
> > -Saikat
>
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the klee-dev
mailing list