NuSMV is a software tool for the formal verification of finite state systems. It has been developed jointly by FBK-IRST and by Carnegie Mellon University. NuSMV allows to check finite state systems against specifications in the temporal logic CTL. The input language of NuSMV is designed to allow the description of finite state systems that range from completely synchronous to completely asynchronous. The NuSMV language (like the language of SMV) provides for modular hierarchical descriptions and for the definition of reusable components. The basic purpose of the NuSMV language is to describe (using expressions in propositional calculus) the transition relation of a finite Kripke structure. This provides a great deal of flexibility, but at the same time it can introduce danger of inconsistency (for non expert users). Since NuSMV is intended to describe finite state machines, the only data types in the language are finite ones, i.e. boolean, scalar, bit vectors and fixed arrays of basic data types. NuSMV is a reimplementation and a reengineering of the SMV model checker developed by McMillan at Carnegie Mellon University during his PhD. With respect to SMV, NuSMV provides the following additional features:
For more details about NuSMV see the overview paper. |