NuSMV vs PVS
NuSMV
nusmv.fbk.euPVS
pvs.csl.sri.comSide by side
| Figure | NuSMV | PVS |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 2 |
| Spec score · Formal Verification Tools | 7.7 (#18) | 8.3 (#4) |
| Platforms | The downloads page lists current binaries for GNU/Linux, macOS, and Windows. | Current listed releases target 64-bit Linux and macOS; the site says Windows can run PVS 7.1 or later through Vagrant and VirtualBox. |
| Purpose | NuSMV is a software tool for formally verifying finite state systems. | PVS is a verification system combining a specification language, support tools, and a theorem prover. |
| Support | The project directs general questions and bug reports to its users mailing list and provides a separate list for announcements. | Support is offered through developer and bug-report email addresses, GitHub issues, Google Groups, and moderated mailing lists. |
Plans
In their own words
NuSMV
NuSMV is a self-hosted software tool for formally verifying finite state systems. It checks systems against CTL specifications and supports LTL and PSL model checking. NuSMV 2 combines BDD-based model checking with SAT-based bounded model checking. Its SMV input language supports hierarchical descriptions, reusable components and finite data types, including booleans, scalars, bit vectors and fixed arrays. Other capabilities include an interactive text shell, invariant analysis and partitioning methods; the SAT component can connect to the Minisat solver. The project describes uses in industrial design verification, custom verification tools and research into formal verification techniques. NuSMV runs on Linux, macOS and Windows, and version 2 is open source under LGPL v2.1. The project directs general questions and bug reports to its users mailing list, with a separate list for announcements. Its FAQ says there is no current tutorial for developers extending the tool. It also warns that processes are deprecated because they can behave incorrectly with relational constructs such as TRANS, INIT or INVAR.
PVS
PVS is a mechanized environment for formal specification and verification, intended for work such as mathematical formalization and hardware or algorithm verification. Its language is based on typed higher-order logic and supports predicate subtypes, dependent types, and parameterized theories. The system combines predefined theories, a type checker, interactive theorem prover, symbolic model checker, utilities, libraries, documentation, and examples. Proof support includes induction, rewriting, simplification with decision procedures, abstraction, and symbolic model checking; command-line tools can re-prove theories and libraries in batch mode. PVS also integrates the Yices SMT solver, supports random testing during proofs, and includes PVSio for evaluation and animation. GNU or X Emacs provides the integrated interface, with Tcl/Tk displays for proof trees and theory hierarchies. It runs on Linux, macOS, and Windows and is self-hosted. Noncommercial use is listed at free. Sources are under GPL, but the Allegro runtime has a separate click-through license, and commercial users need a current PVS license or must contact SRI about licensing.