PyNuSMV community is a tool developed to try to understand the community structure of SAT instances generated by a bounded model checking (BMC) verification.
_Note:_ This project will be presented at PhD-ifm17 in Torino.
To use this tool, you need to open a terminal and type in the commu
command.
To get a help detailing the available options of the tool, type commu --help
.
_Note:_ All the outputs produced by the tool will be generated (saved) in
sub-directories of the current folder. The structure of these directories
should be straightforward and be orthogonal to the commands (options) you
passed to the `commu` tool.
Before getting started, please make sure python3
version 3.5 or above is
installed on your machine. Please ensure also that the appropriate version of
pip
is installed on your machine.
_Note:_ This tool (and more generally, PyNuSMV) has *never* been tested on the
Windows platform. It is therefore very probable that you encounter many some
troubles if you try to use it on that platform. If that is an option for you,
we do recommend you to use OSX since that's the OS that has been used to
develop PyNuSMV and this tool.
The installation process could hardly be simpler: it only necessitates that you
type the pip3 install pynusmv-community
command in your shell. Everything should
be automatic as of that moment.
If you don't want to use the version of pynusmv-community
that we've packaged
for you, you might just as well rebuild it from the sources. Therefore, you
should proceed as follows:
python3 setup.py sdist install
We've made our best to keep this tool self-contained and easy to use. However,
even though the libraries we've used to build the functionality of pynusmv-community
are widely accepted, they're not 100% perfect. This means that some of their
hiccups percolate through the use of our tool. For instance, using commu
within
a virtual env. will make some of the functionalities of the tool fail. This is
ie a consequence of our use of matplotlib
and pyplot
as a backend for plotting
statistics. If using a virtual environment is mandatory for you, you might want
to apply the solution proposed here:
http://blog.rousek.name/2015/11/29/adventure-with-matplotlib-virtualenv-and-macosx/