https://gitlab.lrde.epita.fr/akheireddine/bmctool
Raw File
Tip revision: 37073044543a37346c2369f1d4f7c985724edd09 authored by akheireddine on 30 August 2021, 12:42:36 UTC
get minimum attempts script for edacc csv :
Tip revision: 3707304
README.md
# BMCTool

This tool aims to combine NuSMV with SAT solvers (namely Painless)
in order to perform Bounded Model Checking (BMC) on SMV programs.

# Dependecies
```
# NuSMV
To build NuSMV, CUDD, MiniSat and/or ZChaff as them are distributed,
you will need:

  * An ANSI C compiler (gcc will do, as will several versions of cc)
  * An ANSI C++ compiler (g++ will do)
  * GNU Flex version 2.5 or greater
  * GNU Bison version 1.22 or greater
  * cmake utility version 2.8 or greater
  * GNU make utility version 3.74 or greater
  * GNU patch utility
  * GNU tar and gzip utilities
  * Library libxml2
  * A fully working 'latex' environment for generation of documentation
  * Program 'doxygen' for generation of the programmer's documentation
  * Library 'readline' for a shell usability improvement.

For more information see NuSMV-2.6.0/NuSMV/README.txt

# painless/periplo
You will need:

  * autoconf
  * libtool
  * bison
  * flex

For more information about PeRIPLO installation : https://code.google.com/archive/p/periplo/wikis/BuildPeRIPLOFromSources.wiki


You also need :
  
  * gmp library
  * math library

```

# Compile Project

Type the following instructions:
```
# Just after cloning the repository, do not forget to clone submodules.
git submodule update --init
cd painless && git checkout ak/bmc && cd ..

# Build NuSMV
make build-nusmv

# Build PeRIPLO
cd painless/periplo &&  libtoolize && autoreconf --install --force && cd ../..

# Build painless
make build-painless

# Build bmctool
make build

#If dynamic NuSMV libraries could not be found, you have to setup LD_LIBRARY_PATH variable
export LD_LIBRARY_PATH=<PATH_TO_DYN_LIB>/NuSMV-2.6.0/NuSMV/lib:$LD_LIBRARY_PATH

```

Optionnaly if you want to live at HEAD from remote painless branch 
```
# update your submodule
git submodule update --remote
```
back to top