-
Notifications
You must be signed in to change notification settings - Fork 21
Installation
The primary tools needed are as follows, though several prerequisites need to be installed first:
- CBMC: The C Bounded Model Checker
- CBMC Viewer: A report generator for CBMC proofs
To install and run CBMC and the Viewer you need several prerequisites; you likely have some of these installed already:
- Python3: A scripting language
- Exuberant Ctags: A source code indexing facility (required for the CBMC Viewer)
- Ninja: A performant build system
- GnuPlot: A graph generating tool for reports
- GraphViz: Another graph generating tool for reports
- Jinja2: A template library for Python
- Voluptuous: A Python validation library
-
If “brew” is not already in your path then install HomeBrew following the instructions on the HomeBrew home page (https://brew.sh/)
-
If “python3” is not already in your path then use HomeBrew to instal it as follows:
brew install python3
-
Use HomeBrew to install any of the non-Python prerequisites you may be missing
brew install ctags ninja gnuplot graphviz
-
Use the Python pip installer to install any of the Python prerequisites may be missing
sudo python3 -m pip install jinja2 voluptuous
-
Use apt-get to to install any of the non-Python prerequisites you may be missing
sudo apt-get install ctags ninja-build gnuplot graphviz
-
Use the Python pip installer to install any of the Python prerequisites may be missing
sudo python3 -m pip install jinja2 voluptuous
-
Download and install any of the non-Python prerequisites you may be missing
- ctags: Download from https://sourceforge.net/projects/ctags
- ninja: Download from https://github.com/ninja-build/ninja/releases
- gnuplot: Download from http://www.gnuplot.info/download.html
- graphviz: Download from https://graphviz.org/download/
-
Use the Python pip installer to install any of the Python prerequisites may be missing
python3 -m pip install jinja2 voluptuous
- CBMC: Follow the instructions on the CBMC release page.
- CBMC viewer: Follow the instructions on the CBMC viewer release page.