analyzer
                                
                                
                                
                                    analyzer copied to clipboard
                            
                            
                            
                        Static analysis framework for C
Goblint
Documentation can be browsed on Read the Docs or GitHub.
Installing
Both for using an up-to-date version of Goblint or developing it, the best way is to install from source by cloning this repository.
Linux
- Install opam.
 - Make sure the following are installed: 
git patch m4 autoconf libgmp-dev libmpfr-dev pkg-config. - Run 
make setupto install OCaml and dependencies via opam. - Run 
maketo build Goblint itself. - Run 
make installto install Goblint into the opam switch for usage via switch'sPATH. 
MacOS
- Install GCC with 
brew install gcc(first runxcode-select --installif you don't want to build it from source). Goblint requires GCC while macOS's defaultcppis Clang, which will not work. - ONLY for M1 (ARM64) processor: homebrew changed its install location from 
/usr/local/to/opt/homebrew/. For packages to find their dependecies executesudo ln -s /opt/homebrew/{include,lib} /usr/local/. - Continue using Linux instructions (the formulae in brew for 
patch libgmp-dev libmpfr-devaregpatch gmp mpfr, respectively). 
Windows
- Install WSL.
 - Continue using Linux instructions in WSL.
 
Other
- opam. Install opam and run 
opam install goblint. - devcontainer. Select "Reopen in Container" in VS Code and continue with 
makeusing Linux instructions in devcontainer. - Docker (GitHub Container Registry). Run 
docker pull ghcr.io/goblint/analyzer:latest(or:nightly). - Docker (repository). Clone and run 
docker build -t goblint .. - Vagrant. Clone and run 
vagrant up && vagrant ssh. 
Running
To confirm that building worked, you can try running Goblint as follows:
./goblint tests/regression/04-mutex/01-simple_rc.c
To confirm that installation into the opam switch worked, you can try running Goblint as follows:
goblint tests/regression/04-mutex/01-simple_rc.c
To confirm that the Docker container worked, you can try running Goblint as follows:
docker run -it --rm -v $(pwd):/data goblint /data/tests/regression/04-mutex/01-simple_rc.c
If pulled from GitHub Container Registry, use the container name ghcr.io/goblint/analyzer:latest (or :nightly) instead.
For further information, see documentation.