Formal Methods Tools

Actively Maintained

Tool Description
Alt-Ergo Alt-Ergo is an automatic prover of mathematical formulas used behind software verification tools …
Bitwuzla Bitwuzla is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size …
CaDiCaL CaDiCaL is a simplified satisfiability solver.
CADP [ Closed-Source Tool ]  CADP (“Construction and Analysis of Distributed …
Caesar Storm is a tool for the analysis of systems involving random or probabilistic phenomena.
CGAAL CGAAL is a model checker of alternating-time temporal logic (ATL) properties on concurrent game …
Colibri Colibri is an SMT solver.
Concuerror Concuerror is a stateless model checking tool for Erlang programs.
CPAchecker [ Closed-Source Tool ]  CPAchecker is a tool for configurable software verification.
CryptoMiniSat CryptoMiniSat is a SAT solver. APIs and Bindings This tool is available through the following …
cvc5 cvc5 is an automatic theorem prover for SMT problems.
DSCheck DSCheck is an experimental model checker for testing concurrent OCaml programs.
E E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with …
Eldarica Eldarica is a model checker for Horn clauses, Numerical Transition Systems, and software programs.
ESBMC ESBMC is a context-bounded model checker based on satisfiability modulo theories for verifying …
Geyser Geyser is a simple symbolic model checker for propositional transition system systems.
Glucose Glucose is a SAT solver.
IMITATOR IMITATOR is a parametric timed model checker taking as input extensions of parametric timed …
ImSpin ImSpin is a frontend for the SPIN model checker, providing an environment for users engaged in model …
JANI The JANI specification defines the jani-model model interchange format and the jani-interaction tool …
Kind 2 Kind 2 is a multi-engine SMT-based automatic model checker for synchronous reactive systems.
LEAN cvc5 is an automatic theorem prover for SMT problems.
Lingeling Lingeling is a SAT solver.
LTSmin LTSmin started out as a generic toolset for manipulating labelled transition systems. Meanwhile the …
MathSAT [ Closed-Source Tool ]  MathSAT is an SMT solver supporting a wide range of theories …
mCRL2 mCRL2 is a formal specification language with an associated toolset. The toolset can be used for …
Momba Momba is a Python framework for dealing with quantitative models centered around the JANI-model …
NuSMV NuSMV is a symbolic model checker.
NuXMV [ Closed-Source Tool ]  nuXmv is a symbolic model checker for the analysis of synchronous …
OpenSMT OpenSMT is a compact and open-source SMT-solver written in C++, with the main goal of making …
ParaFROST ParaFROST is a parallel SAT solver with GPU-accelerated inprocessing capable of harnessing NVIDIA …
Pnmc Pnmc is a symbolic model checker for Petri nets.
PRISM PRISM is a probabilistic model checker, a tool for formal modelling and analysis of systems that …
pyPL pyPL is a naive model generator, model checker and theorem prover.
Roméo Romeo allows the modelling of complex systems using extensions of time Petri nets.
Rumur Rumur is a model checker.
Sally Sally is a model checker for infinite state systems described as transition systems.
SM(P/)T SMPT is a SMT-based model checker for Petri nets focused on reachability problems that takes …
SMT-RAT SMT-RAT is an SMT Real Algebra Toolbox. APIs and Bindings This tool is available through the …
SMTInterpol SMTInterpol is an SMT Solver that can compute Craig interpolants for various theories. APIs and …
SpaceEx The SpaceEx tool platform is designed to facilitate the implementation of algorithms related to …
Spin Spin is a model checker for multi-threaded software.
STAMINA A state-space truncation tool for Markov-Chains that can analyze infinite-sized models. Intefaces …
stateright stateright is a Rust library for model checking systems, with an emphasis on distributed systems.
Storm Storm is a tool for the analysis of systems involving random or probabilistic phenomena.
STP STP is a constraint solver for quantifier-free bitvectors. APIs and Bindings This tool is available …
TAPAAL TAPAAL is a tool for verification of timed-arc petri nets
TLA+ TLA+ is a high-level language for modeling programs and systems–especially concurrent and …
Uppaal [ Closed-Source Tool ]  Uppaal is an integrated tool environment for modeling, validation and …
Vampire Vampire is a theorem prover.
veriT veriT is an SMT solver developed by LORIA and ULiege. It supports a wide range of theories and is …
Yices 2 Yices is an SMT solver developed by SRI International. It is widely used for checking the …
Z3 Z3 is a general-purpose theorem prover widely used for SAT & SMT solving. APIs and Bindings This …
Zipperposition Zipperposition is an automated theorem prover for first-order logic with equality and theories.