Skip to main content

Installing Caesar

You can install Caesar locally or build a Docker image.

Installing Dependencies

You will need to install some dependencies manually:

Rust: To install Rust, we recommend installation via rustup.

Fish Shell: We write some scripts written in fish.

Build Tools: Caesar builds Z3 itself, so we need Python and cmake.

# Install Rust via rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install CMake and fish
brew install cmake fish

Compiling Caesar

Simply run the following, and caesar will be available on the command-line. Because this will compile a large number of dependencies, this might take a couple of minutes (especially Z3 takes some time).

git clone git@github.com:moves-rwth/caesar.git
cd caesar
cargo install --path . caesar

Then, you can run an example:

caesar tests/zeroconf.heyvl 

And this will print:

tests/zeroconf.heyvl::arp: Verified.
tests/zeroconf.heyvl::zeroconf: Verified.

Option B: Docker

We also support building a Docker image. This does not require installing dependencies and will package everything in a Docker image named caesar.

git clone git@github.com:moves-rwth/caesar.git
cd caesar
docker build -t caesar -f docker/Dockerfile .

With the Docker image caesar built, you can enter the Docker container and work in there. The following command also mounts the ./caesar/ directory as /root/caesar/results/ inside the container.

docker run -it -v $PWD/results:/root/caesar/results/ caesar /bin/bash