Yes, there are several, e.g., it's more general than CDE, which makes no guarantees about the ability to exercise new behaviours of the software being packaged; it is actively maintained (also as open-source); and it hosts a public registry which makes distribution easier.

Of course, I'm happy to see the CDE packaged up-to-date, and I opened a pull request about this in 2013 (https://github.com/klee/klee/issues/42), but nobody took up the job, and the discussion veered instead toward Docker.

Cristian

On 26/02/15 18:06, Pablo González de Aledo wrote:
Is there any benefit on using Docker over CDE?. As far as I know CDE is
open-source and was developed by a guy who worked in klee at some stages
(less relevant, but nice to know :-P).

Regards.

2015-02-26 18:58 GMT+01:00 Cristian Cadar <[email protected]
<mailto:[email protected]>>:

    Hi guys,

    That's great, thanks for sharing this with the list.  I think Docker
    is a nice medium for distributing KLEE, and in fact there were
    several other people who have "dockerized" KLEE recently:
    https://github.com/__riyadparvez/klee-docker
    <https://github.com/riyadparvez/klee-docker>
    https://registry.hub.docker.__com/u/petrhosek/klee/
    <https://registry.hub.docker.com/u/petrhosek/klee/>
    https://registry.hub.docker.__com/u/oscarsd/klee-release/
    <https://registry.hub.docker.com/u/oscarsd/klee-release/>
    https://registry.hub.docker.__com/u/kleeweb/klee/
    <https://registry.hub.docker.com/u/kleeweb/klee/>
    https://registry.hub.docker.__com/u/mbrt/klee/
    <https://registry.hub.docker.com/u/mbrt/klee/>
    etc.

    I think it would be useful to have an official repository for the
    dockerized KLEE, which we would recommend to new users on the KLEE
    website, and which would be maintained as part of the KLEE project
    on GitHub (https://github.com/klee).  Also, it would be useful to
    automatically update an associated KLEE Docker image and upload it
    to the Docker registry either after each KLEE commit, or at regular
    time intervals.

    These are just my initial thought though, and it would be useful to
    get other opinions.

    Best,
    Cristian


    On 26/02/15 16:14, Makula, Szymon wrote:

        Hello All,

        Docker is a relatively recent technology that developers and
        sysadmins
        use to build, ship, and run distributed applications. Compared to
        virtual machines, docker is more lightweight and efficient, since it
        provides an additional layer of abstraction of
        operating-system-level
        virtualization. You can read more about it at
        https://www.docker.com/.

        The use of docker makes Klee much easier to deploy and get
        started with.
        We have dockerized Klee and you can find the result of our labors at
        https://github.com/szymoniks/__Klee-Docker
        <https://github.com/szymoniks/Klee-Docker>.

        To install docker, please follow the guide at
        https://docs.docker.com/__installation/#installation
        <https://docs.docker.com/installation/#installation>. After the
        installation and cloning our project, you can simply execute the
        following command from the project root directory to build Klee:

        $sudo docker build -t [image_name] .

        Where image_name can be any name for the final image one
        fancies! :) By
        default, the number of jobs for make commands is 5, which one
        can change
        it in Dockerfile to adjust for their machine’s specification. We
        address
        the security concerns of sudo-ing this script below.

        This command builds Klee, following the instruction in the guide on
        http://klee.github.io/getting-__started/as
        <http://klee.github.io/getting-started/as> of 26/02/2015. The
        image is
        based on an official Ubuntu 14.04 docker image and will be
        supplied with
        LLVM-GCC 2.9, LLVM 2.9, STP r940 and uclibc (provided by Klee
        community
        at https://github.com/klee/klee-__uclibc.git
        <https://github.com/klee/klee-uclibc.git>).

        To work in the virtualized environment where Klee is installed,
        type the
        command:

        $sudo docker run -t -i [image_name] /bin/bash

        Again, we address the security concerns of sudo-ing this script
        below.

        We used the following options:

        ·-i : keep STDIN open even if not attached

        ·-t : allocate a pseudo-TTY

        For more information, please read README or check
        https://docs.docker.com/__reference/commandline/cli/
        <https://docs.docker.com/reference/commandline/cli/>.

        Please feel free to contact us with any questions.

        Best regards,

        Szymon Makula and Zheng Gao

        University College London

        *Security*

        Docker has been used and trusted by different companies, such as
        Gilt
        Groupe Inc., Yelp, and Baidu Inc, so we believe it does not
        contain any
        trojans or malware.

        We have used Docker version 1.2.0 and Klee is built on Ubuntu 14.04.

        The docker daemon always runs as the root user, and since Docker
        version
        0.5.2, the docker daemon binds to a Unix socket instead of a TCP
        port.
        By default that Unix socket is owned by the user root, and so, by
        default, you need to access it with sudo.

        Starting in version 0.5.3, if you (or your Docker installer)
        create a
        Unix group called docker and add users to it, then the docker daemon
        will make the ownership of the Unix socket read/writable by the
        docker
        group when the daemon starts. The docker daemon must always run
        as the
        root user, but if you run the docker client as a user in the docker
        group then you don't need to add sudo to all the client
        commands. As of
        0.9.0, you can specify that a group other than docker should own the
        Unix socket with the -G option. However, the docker group (or
        the group
        specified with -G) is root-equivalent.

        You can verify that the script does nothing more by inspection. The
        secure hash of the Dockerfile and two patches can be found in the
        checksum file.



        _________________________________________________
        klee-dev mailing list
        [email protected] <mailto:[email protected]>
        https://mailman.ic.ac.uk/__mailman/listinfo/klee-dev
        <https://mailman.ic.ac.uk/mailman/listinfo/klee-dev>


    _________________________________________________
    klee-dev mailing list
    [email protected] <mailto:[email protected]>
    https://mailman.ic.ac.uk/__mailman/listinfo/klee-dev
    <https://mailman.ic.ac.uk/mailman/listinfo/klee-dev>





_______________________________________________
klee-dev mailing list
[email protected]
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev


_______________________________________________
klee-dev mailing list
[email protected]
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to