[klee-dev] Experimental official Docker image

gwpublic at wp.pl gwpublic at wp.pl
Sat Apr 11 16:19:25 BST 2015


On Fri, Apr 10, 2015 at 11:34 AM, Dan Liew <dan at su-root.co.uk> wrote:
> Hi All,
>
> I've added a Docker file [1] to KLEE's git repo and linked it to our
> official Docker repo [2].
>
> I am aware that several others have built KLEE docker containers
> already. This image is different in that it uses the Ubuntu's official
> LLVM and clang packages (avoids building them in the container :D) and
> also runs the tests in the container (i.e. the image will only be
> successfully built if all the tests pass)
>
> The image will automatically be rebuilt every time new commits are
> pushed to the master branch.
>
> The image is built on top of Ubuntu 14.04LTS and uses LLVM 3.4.
>
> Right now you can try this out by running
>
> $ docker pull klee/klee
> $ docker run -ti klee/klee
>
> This will drop you into a shell as the "klee" user. You have sudo
> access (the password is "klee") so you can install extra packages if
> you need them.
>
> Ideally I'd like to get feedback on a few things before I add
> instructions on using the Docker container to KLEE's documentation
>
> * Is the image too large? If all the image is for is trying out KLEE
> (and not developing it) then we could shrink the image by installing
> KLEE and removing all the source and build files. The expanded size of
> the image 1.143GB but the download size may be smaller (I know docker
> compresses using xz on a push but I don't know about pull). We could
> also make an effort in the Dockerfile to do more things in a single
> step to reduce the number of layers in the final image.
>
> * Does the image ship with everything needed to try out KLEE?
>
> * Do we need an image that uses LLVM2.9? I'm really not keen on this,
> getting the image to build using Ubuntu's LLVM 3.4 packages was hard
> enough!
>
> [1] https://github.com/klee/klee/blob/master/Dockerfile
> [2] https://registry.hub.docker.com/u/klee/klee/
>
> Thanks,
> Dan.

Thanks for doing this!
I believe that making more images like Bootable Live Distros, or
Container images (like Docker), is very good direction for
distribution of Klee.

My wish is that such would keep updated with Klee and LLVM moving
forward, as my so far experience with such projects is that they get
outdated every time when creation of new images is not automated. So
ideally, I imagine a script downloading Klee, LLVM, Docker base , and
creating image as output. Thanks to that, others can try to run script
against newest versions (let's say to have fixed "tested-working"
versions as defaults, but easy way to change to newest version) and
eventually fix appropriately.

Best regards,
Greg



More information about the klee-dev mailing list