This artifact works on Windows, Intel/Apple Silicon Macs, and Linux systems running Intel processors. Note that, if you are running on ARM architecture (e.g., Apple Silicon), Python will have to build Z3 from scratch, meaning your system must have CMake. Furthermore, FlowDroid experiments cannot currently be performed on ARM architectures. We are actively working on resolving this issue.
We have not tested on systems with AMD processors, but have no reason to believe there would be any issues.
In terms of software requirements, the user must have:
- A Python executable of at least version 3.10, including the venv and development packages (
python3.XX-dev
andpython3.XX-venv
on Ubuntu). Note that if you installed viabrew
or the Windows installer, your Python should already have these. - A C and C++ compiler, e.g.,
gcc
andg++
. - GNU
Make
- For ARM architectures, you may also require
CMake
.
For example, setting up these dependencies on Ubuntu 22.04 looks like:
sudo apt install python3.11 python3.11-dev python3.11-venv g++ gcc make cmake
In addition, you must have a working Docker installation (https://docs.docker.com/get-docker/).
Running our full experiments takes tens of thousands of machine hours, so we have provided instructions on how to run a small subset of experiments and read/interpret the results. Please refer to INSTALL.md on setup instructions, and to README.md for usage examples.