OCaml C Shell Ruby HTML Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
g2html @ dbfa20d g2html: smaller warning-windows Jun 8, 2016
includes
obj/.depend
scripts
spin
src
tests
unittest
webapp @ d8c3a06
.gitattributes
.gitignore
.gitmodules
.merlin
.travis.yml
LICENSE
LICENSE.libs
Makefile
README.md
Vagrantfile
_tags
dgoblint
goblint.dtd
ma.sublime-project
make.sh
myocamlbuild.ml
pgoblint.sh casts WIP, TODO: >long, race tests, ptr arith.? Oct 7, 2016

README.md

goblint   Travis-CI Circle CI In Progress Gitter

Setup

Linux

Install opam and then do

git clone https://github.com/goblint/analyzer.git
cd analyzer
make setup

to install OCaml and the latest versions of the dependencies for the current user. After that you can build goblint:

make

If something goes wrong, take a look at travis-ci.sh for an example setup. You may now try running goblint: ./goblint tests/regression/04-mutex/01-simple_rc.c.

Mac OS X

The above instructions for Linux work just as well for Mac OS X. Goblint successfully compiles, but it may fail to parse files. We need cpp in order to preprocess source files and current versions of the clang frontend will not work with goblint. You therefore have to do, e.g., brew install gcc (first do xcode-select --install if you don't want to build from source). You can check src/config.ml to see what command is used to call cpp.

Windows/Cygwin

For a goblint binary package, follow these instructions. For building from source, install Cygwin using setup-cygwin-dev.bat and then do

wget "https://raw.githubusercontent.com/goblint/analyzer/master/scripts/setup-cygwin-dev.sh" && source setup-cygwin-dev.sh

Virtual machine

A ready-to-use virtual machine can be set up using Vagrant:

vagrant up
vagrant ssh
sudo su -
cd analyzer

Docker container

Running goblint in a Docker container is even faster since everything is already installed:

docker pull voglerr/goblint
docker run voglerr/goblint /analyzer/goblint --help

Web frontend

Use make npm to setup the web frontend and start serving on http://localhost:3000. See its README for details.

g2html

Use make jar to build g2html.jar, which can be used like so

./goblint --html -o result path/to/file.c && firefox result/index.xml