IIDEAA tools are open-source and freely-available on GitHub repositories, under the AGPL 3.0 license. Please, obtain a copy and read the license befor staring to use it.
To facilitate the user who wants to use IIDEAA, a Docker image has been arranged containing all the necessary tools, as well as some example projects that illustrate how to configure Chimera and Bellerophon to cooperate to approximate a given application.
First of all you will need a Docker installation. If not present you can easily install it using this script.
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo usermod -aG docker your-user
Now, you are ready to build your IIDEAA Docker image from scratch, using the following commands:
$ git clone https://github.com/mariobarbareschi/iideaa-docker
$ cd iideaa-docker
$ chmod +x build_iideaa_docker
$ ./build_iideaa_docker
Grab a coffee: it will take several minutes to download and build everything.
It is recomended to spawn a container with:
$ ./run_iideaa_docker
This script will run the container with zsh
as default shell and it will mount the folder /root/mnt
of the container onto the folder /home/user/iideaa_shared
of the host.
Now you have an interactive shell in which you can use clang-chimera
and bellerophon
tools. You can use the container folder /root/mnt
to share data with host machine outside the container.
You can test IIDEAA looking at the project folder in /opt/projects
. In the following, **k-means** example will be considered.
Execute Clang-Chimera:
# cd /opt/projects/k-means/chimera
# ./launch.sh
Now check the mutants in /opt/projects/k-means/chimera/output
and run Bellerophon:
# cd ../bellerophon
# ./launch_bellerophon.sh
The output of Bellerophon will be displayed on terminal.