Version 2.5.3
Jun 16, 2011
We are happy to announce the availability of a new version of the NuSMV model checker. NuSMV version 2.5.3 is available from https://nusmv.fbk.eu.
NuSMV 2 extends the previous versions of NuSMV with several new features, most notably with the possibility of performing SAT-based Bounded Model Checking (see the Overview below).
This is a minor release that provides many bug fixes, some internals improvement, and a few new features.
The main changes are listed below. For details please refer to the ChangeLog.
New features
-
System commands
- Command
compute
has been renamedcheck_compute
. Old commandcompute
is deprecated. - Command
clean_bdd_cache
has been renamedclean_sexp2bdd_cache
- Added option
-F <format>
to commandshow_property
, to print in tabular or xml formats. - Added options
-t
and-V
to commandshow_vars
, to print selected information about the variables in the model. - Added option
-k <length>
to commandsimulate
, to make uniform all simulation commands. Old syntaxsimulate <length>
is now deprecated. - Added options
-r
,-c <simp_constr>
and-t <next_constr>
to SAT-based simulation commands, both incremental and non incremental, in order to be more uniform with regard to the BDD-based ones.
- Command
-
Command line options and system variables
- Command line option and system variable
disable_bdd_cache
have been renamed todisable_sexp2bdd_caching
- New command line option and system variable
disable_syntactic_checks
which can improve performances by skipping checks on input files which are assumed to be syntactically correct by construction. - New command line option and system variable
keep_single_value_vars
to disable an optimization which by default converts enumerative variables to constants when their domain contains only a single element. - New system variable
default_simulation_steps
is used by simulation commands. Commandsimulate
now considers it if simulation steps are not specified; commandbmc_simulate
considers it instead of variablebmc_length
. - New system variable
parser_is_lax
can be used to force the parser to try completing parsing even with syntactic errors, reporting all found errors at the end. - New system variable
prop_print_method
can be used to select how properties are printed out.
- Command line option and system variable
-
Improvements (internals)
- New algorithms to compute COI (Cone of Influence) have been implemented.
- Encoding of scalar variables have been improved to fit with the BDD variable ordering. The new encoding proved to improve performances in many general cases.
- Fixed BDD encoding of variables to trigger less re-orderings.
- Some RBC operations now use much less stack space.
- New Symbol Table implementation, with huge performances and memory improvements.
- New system-widely-used NodeList implementation, which reduces global NuSMV memory usage
Bug fixes
About 30 bugs were fixed in this version. Many thanks to those users who reported issues, and helped improving NuSMV.
Here the most critical bug fixes are listed:
- Fixed a bug in CTL counter example generation, which was surfacing in some cases.
- Fixed a bug which was triggered when adding incorrect properties to te properties database.
- Fixed bug in command
bmc_pick_state
when used with COI. - Fixed compilation errors on recent GNU/Linux distributions
- Fixed compilation errors under Darwin.
- Fixed many memory leaks.
Documentation
- Added a FAQ containing a set of most frequently asked questions about NuSMV, and the SMV language.
- Added to the User Manual the description of some missing operators like
sizeof