CBMC installation

MacOS

On MacOS, we recommend installing with brew. Install with

brew tap aws/tap
brew install cbmc cbmc-viewer cbmc-starter-kit litani universal-ctags

The brew home page gives instructions for installing brew. The first command taps the AWS repository that contains some of the brew packages, and the second command installs the packages. Installing ctags is recommended but optional, see below.

Ubuntu

On Ubuntu, we recommend installing by downloading the cbmc and litani installation packages for your operating system from the CBMC release page and the Litani release page. Install with

sudo apt install python3 python3-pip *cbmc*.deb *litani*.deb universal-ctags
python3 -m pip install cbmc-viewer cbmc-starter-kit

The python download page gives instructions for installing python and pip. Installing ctags is recommended but optional, see below. The pip installation packages for cbmc-viewer and cbmc-starter-kit can be used on any machine with python3 including MacOS.

Windows

On Windows, we recommend using the Windows Subsystem for Linux (WSL) and using the Ubuntu instructions above. CBMC and CBMC viewer will run natively on Windows, but Litani and the CBMC starter kit that depends on Litani are not supported on Windows. To install natively on Windows (without using WSL), download the Windows installation package from the CBMC release page and run

python3 -m pip install cbmc-viewer
msiexec /i cbmc*.msi
PATH="C:\Program Files\cbmc\bin";%PATH%

Installation notes

If you have difficulty installing these tools, please let us know by submitting a GitHub issue.

The installation of ctags is optional, but without ctags, cbmc-viewer will fail to link some symbols appearing in error traces to their definitions in the source code. The ctags tool has a long history. The original ctags was replaced by exuberant ctags which was replaced by universal ctags. Any version will work better than none, but we recommend universal ctags.