Actively Maintained on Formal Methods Tools https://fmtools.fyi/maintenance/actively-maintained/ Recent content in Actively Maintained on Formal Methods Tools Hugo en-us Sat, 07 Jun 2025 00:00:00 +0000 Alt-Ergo https://fmtools.fyi/tools/sat-smt/alt-ergo/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/alt-ergo/ <p>Alt-Ergo is an automatic prover of mathematical formulas used behind software verification tools such as Frama-C, SPARK, Why3, Atelier-B and Caveat.</p> Bitwuzla https://fmtools.fyi/tools/sat-smt/bitwuzla/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/bitwuzla/ <p>Bitwuzla is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size bit-vectors, floating-point arithmetic, arrays, uninterpreted functions and their combinations.</p> CaDiCaL https://fmtools.fyi/tools/sat-smt/cadical/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/cadical/ <p>CaDiCaL is a simplified satisfiability solver.</p> CADP https://fmtools.fyi/tools/mc/cadp/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/cadp/ <p><div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(226, 181, 59);"></span> <span style="display:none">[</span> <span style="color: rgb(226, 181, 59); font-size: 1rem;">Closed-Source Tool</span> <span style="display:none">]&nbsp;</span> </div> CADP (&ldquo;Construction and Analysis of Distributed Processes&rdquo;, formerly known as &ldquo;CAESAR/ALDEBARAN Development Package&rdquo;) is a toolbox for the design of asynchronous concurrent systems, such as communication protocols, distributed systems, asynchronous circuits, multiprocessor architectures, web services, etc.</p> Caesar https://fmtools.fyi/tools/prob/caesar/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/prob/caesar/ <p>Storm is a tool for the analysis of systems involving random or probabilistic phenomena.</p> CGAAL https://fmtools.fyi/tools/mc/cgaal/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/cgaal/ <p>CGAAL is a model checker of alternating-time temporal logic (ATL) properties on concurrent game structures (CGSs).</p> Colibri https://fmtools.fyi/tools/sat-smt/colibri/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/colibri/ <p>Colibri is an SMT solver.</p> Concuerror https://fmtools.fyi/tools/mc/concuerror/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/concuerror/ <p>Concuerror is a stateless model checking tool for Erlang programs.</p> CPAchecker https://fmtools.fyi/tools/mc/cpachecker/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/cpachecker/ <p><div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(226, 181, 59);"></span> <span style="display:none">[</span> <span style="color: rgb(226, 181, 59); font-size: 1rem;">Closed-Source Tool</span> <span style="display:none">]&nbsp;</span> </div> CPAchecker is a tool for configurable software verification.</p> CryptoMiniSat https://fmtools.fyi/tools/sat-smt/cryptominisat/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/cryptominisat/ <p>CryptoMiniSat is a SAT solver.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C++ Namespace:</strong> Documentation on <a href="https://www.msoos.org/cryptominisat5/" target="_blank" >homepage</a></li> <li><strong>Python package:</strong> <a href="https://pypi.org/project/pycryptosat/" target="_blank" >PyPI package</a></li> </ul> cvc5 https://fmtools.fyi/tools/sat-smt/cvc5/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/cvc5/ <p>cvc5 is an automatic theorem prover for SMT problems.</p> DSCheck https://fmtools.fyi/tools/mc/dscheck/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/dscheck/ <p>DSCheck is an experimental model checker for testing concurrent OCaml programs.</p> E https://fmtools.fyi/tools/sat-smt/e/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/e/ <p>E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with equality.</p> Eldarica https://fmtools.fyi/tools/mc/eldarica/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/eldarica/ <p>Eldarica is a model checker for Horn clauses, Numerical Transition Systems, and software programs.</p> ESBMC https://fmtools.fyi/tools/mc/esbmc/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/esbmc/ <p>ESBMC is a context-bounded model checker based on satisfiability modulo theories for verifying single- and multi-threaded C/C++ programs.</p> Geyser https://fmtools.fyi/tools/mc/geyser/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/geyser/ <p>Geyser is a simple symbolic model checker for propositional transition system systems.</p> Glucose https://fmtools.fyi/tools/sat-smt/glucose/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/glucose/ <p>Glucose is a SAT solver.</p> IMITATOR https://fmtools.fyi/tools/mc/imitator/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/imitator/ <p>IMITATOR is a parametric timed model checker taking as input extensions of parametric timed automata, and synthesizing parameter valuations for safety properties and more.</p> ImSpin https://fmtools.fyi/tools/mc/imspin/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/imspin/ <p>ImSpin is a frontend for the <a href="../spin" >SPIN</a> model checker, providing an environment for users engaged in model checking tasks.</p> JANI https://fmtools.fyi/tools/mod/jani/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mod/jani/ <p>The JANI specification defines the jani-model model interchange format and the jani-interaction tool interaction and automation protocol.</p> Kind 2 https://fmtools.fyi/tools/mc/kind2/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/kind2/ <p>Kind 2 is a multi-engine SMT-based automatic model checker for synchronous reactive systems.</p> LEAN https://fmtools.fyi/tools/sat-smt/lean/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/lean/ <p>cvc5 is an automatic theorem prover for SMT problems.</p> Lingeling https://fmtools.fyi/tools/sat-smt/lingeling/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/lingeling/ <p>Lingeling is a SAT solver.</p> LTSmin https://fmtools.fyi/tools/mc/ltsmin/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/ltsmin/ <p>LTSmin started out as a generic toolset for manipulating labelled transition systems. Meanwhile the toolset was extended to a a full (LTL/CTL/μ-calculus) model checker, while maintaining its language-independent characteristics.</p> MathSAT https://fmtools.fyi/tools/sat-smt/mathsat/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/mathsat/ <p><div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(226, 181, 59);"></span> <span style="display:none">[</span> <span style="color: rgb(226, 181, 59); font-size: 1rem;">Closed-Source Tool</span> <span style="display:none">]&nbsp;</span> </div> MathSAT is an SMT solver supporting a wide range of theories (including e.g. equality and uninterpreted functions, linear arithmetic, bit-vectors, and arrays) and functionalities (including e.g. computation of Craig interpolants, extraction of unsatisfiable cores, generation of models and proofs, and the ability of working incrementally).</p> mCRL2 https://fmtools.fyi/tools/mc/mcrl2/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/mcrl2/ <p>mCRL2 is a formal specification language with an associated toolset. The toolset can be used for modelling, validation and verification of concurrent systems and protocols.</p> Momba https://fmtools.fyi/tools/mod/momba/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mod/momba/ <p>Momba is a Python framework for dealing with quantitative models centered around the <a href="../jani" >JANI-model</a> interchange format.</p> NuSMV https://fmtools.fyi/tools/mc/nusmv/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/nusmv/ <p>NuSMV is a symbolic model checker.</p> NuXMV https://fmtools.fyi/tools/mc/nuxmv/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/nuxmv/ <p><div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(226, 181, 59);"></span> <span style="display:none">[</span> <span style="color: rgb(226, 181, 59); font-size: 1rem;">Closed-Source Tool</span> <span style="display:none">]&nbsp;</span> </div> nuXmv is a symbolic model checker for the analysis of synchronous finite-state and infinite-state systems.</p> OpenSMT https://fmtools.fyi/tools/sat-smt/opensmt/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/opensmt/ <p>OpenSMT is a compact and open-source SMT-solver written in C++, with the main goal of making SMT-Solvers easy to understand and use as a computational engine for formal verification. OpenSMT is built on top of <a href="https://fmtools.fyi/tools/minisat" >MiniSAT</a>.</p> ParaFROST https://fmtools.fyi/tools/sat-smt/parafrost/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/parafrost/ <p>ParaFROST is a parallel SAT solver with GPU-accelerated inprocessing capable of harnessing NVIDIA CUDA-enabled GPUs in applying modern inprocessing tecnhiques in parallel.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://z3prover.github.io/api/html/group__capi.html" target="_blank" >Z3 C API Reference</a></li> <li><strong>C++ API:</strong> <a href="https://z3prover.github.io/api/html/namespacez3.html" target="_blank" >Z3 C++ Namespace Reference</a></li> <li><strong>.NET API:</strong> <a href="https://z3prover.github.io/api/html/namespace_microsoft_1_1_z3.html" target="_blank" >Z3 .NET Namespace Reference</a></li> <li><strong>Java API:</strong> <a href="https://z3prover.github.io/api/html/namespacecom_1_1microsoft_1_1z3.html" target="_blank" >Z3 Java API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://pypi.org/project/z3-solver/" target="_blank" >z3-solver PyPI package</a> (<a href="https://z3prover.github.io/api/html/z3.html" target="_blank" >Documentation</a>)</li> <li><strong>Rust bindings:</strong> <a href="https://crates.io/crates/z3" target="_blank" >z3 crate on crates.io</a></li> </ul> Pnmc https://fmtools.fyi/tools/mc/pnmc/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/pnmc/ <p>Pnmc is a symbolic model checker for Petri nets.</p> PRISM https://fmtools.fyi/tools/prob/prism/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/prob/prism/ <p>PRISM is a probabilistic model checker, a tool for formal modelling and analysis of systems that exhibit random or probabilistic behaviour.</p> pyPL https://fmtools.fyi/tools/mc/pypl/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/pypl/ <p>pyPL is a naive model generator, model checker and theorem prover.</p> Roméo https://fmtools.fyi/tools/mc/romeo/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/romeo/ <p>Romeo allows the modelling of complex systems using extensions of time Petri nets.</p> Rumur https://fmtools.fyi/tools/mc/rumur/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/rumur/ <p>Rumur is a model checker.</p> Sally https://fmtools.fyi/tools/mc/sally/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/sally/ <p>Sally is a model checker for infinite state systems described as transition systems.</p> SM(P/)T https://fmtools.fyi/tools/mc/smpt/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/smpt/ <p>SMPT is a SMT-based model checker for Petri nets focused on reachability problems that takes advantage of net reductions (polyhedral reductions).</p> SMT-RAT https://fmtools.fyi/tools/sat-smt/smt-rat/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/smt-rat/ <p>SMT-RAT is an SMT Real Algebra Toolbox.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C++ API:</strong> <a href="https://ths-rwth.github.io/smtrat/dc/dad/md__builds_ths_smt_smtrat_doc_markdown_07_using_smtrat.html#autotoc_md25" target="_blank" >C++ API Reference</a></li> </ul> SMTInterpol https://fmtools.fyi/tools/sat-smt/smtinterpol/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/smtinterpol/ <p>SMTInterpol is an SMT Solver that can compute Craig interpolants for various theories.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>Java API:</strong> <a href="https://ultimate.informatik.uni-freiburg.de/smtinterpol/doc/index.html" target="_blank" >Java API Reference</a></li> </ul> SpaceEx https://fmtools.fyi/tools/mc/spaceex/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/spaceex/ <p>The SpaceEx tool platform is designed to facilitate the implementation of algorithms related to reachability and safety verification in continuous and hybrid systems.</p> Spin https://fmtools.fyi/tools/mc/spin/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/spin/ <p>Spin is a model checker for multi-threaded software.</p> STAMINA https://fmtools.fyi/tools/prob/stamina/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/prob/stamina/ <p>A state-space truncation tool for Markov-Chains that can analyze infinite-sized models. Intefaces with either <a href="../storm" >Storm</a> or <a href="../prism" >PRISM</a>.</p> stateright https://fmtools.fyi/tools/mc/stateright/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/stateright/ <p><code>stateright</code> is a Rust library for model checking systems, with an emphasis on distributed systems.</p> Storm https://fmtools.fyi/tools/prob/storm/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/prob/storm/ <p>Storm is a tool for the analysis of systems involving random or probabilistic phenomena.</p> STP https://fmtools.fyi/tools/sat-smt/stp/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/stp/ <p>STP is a constraint solver for quantifier-free bitvectors.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://stp.readthedocs.io/en/latest/#c-library-usage" target="_blank" >stp C API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://stp.readthedocs.io/en/latest/#python-usage" target="_blank" >stp PyPI package</a></li> </ul> TAPAAL https://fmtools.fyi/tools/mc/tapaal/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/tapaal/ <p>TAPAAL is a tool for verification of timed-arc petri nets</p> TLA+ https://fmtools.fyi/tools/mod/tlaplus/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mod/tlaplus/ <p>TLA+ is a high-level language for modeling programs and systems&ndash;especially concurrent and distributed ones.</p> Uppaal https://fmtools.fyi/tools/mc/uppaal/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/uppaal/ <p><div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(226, 181, 59);"></span> <span style="display:none">[</span> <span style="color: rgb(226, 181, 59); font-size: 1rem;">Closed-Source Tool</span> <span style="display:none">]&nbsp;</span> </div> Uppaal is an integrated tool environment for modeling, validation and verification of real-time systems modeled as networks of timed automata, extended with data types (bounded integers, arrays, etc.).</p> Vampire https://fmtools.fyi/tools/sat-smt/vampire/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/vampire/ <p>Vampire is a theorem prover.</p> veriT https://fmtools.fyi/tools/sat-smt/verit/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/verit/ <p>veriT is an SMT solver developed by LORIA and ULiege. It supports a wide range of theories and is designed for use in formal verification, automated reasoning, and related research areas. veriT accepts input in SMT-LIB2 and DIMACS formats and provides a command-line interface for ease of integration into verification workflows. The solver is actively maintained and distributed under the BSD license, making it suitable for both academic and industrial applications.</p> Yices 2 https://fmtools.fyi/tools/sat-smt/yices/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/yices/ <p>Yices is an SMT solver developed by SRI International. It is widely used for checking the satisfiability of logical formulas over various theories. It supports the SMT-LIB standard and its own input language, and provides APIs for several programming languages, making it suitable for research and industrial applications in software and hardware verification.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>General API:</strong> <a href="https://yices.csl.sri.com/doc/index.html" target="_blank" >Yices API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://pypi.org/project/yices/" target="_blank" >yices2 PyPI package</a></li> <li><strong>Rust bindings:</strong> <a href="https://crates.io/crates/yices2" target="_blank" >yices2 crate on crates.io</a></li> </ul> Z3 https://fmtools.fyi/tools/sat-smt/z3/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/z3/ <p>Z3 is a general-purpose theorem prover widely used for SAT &amp; SMT solving.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://z3prover.github.io/api/html/group__capi.html" target="_blank" >Z3 C API Reference</a></li> <li><strong>C++ API:</strong> <a href="https://z3prover.github.io/api/html/namespacez3.html" target="_blank" >Z3 C++ Namespace Reference</a></li> <li><strong>.NET API:</strong> <a href="https://z3prover.github.io/api/html/namespace_microsoft_1_1_z3.html" target="_blank" >Z3 .NET Namespace Reference</a></li> <li><strong>Java API:</strong> <a href="https://z3prover.github.io/api/html/namespacecom_1_1microsoft_1_1z3.html" target="_blank" >Z3 Java API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://pypi.org/project/z3-solver/" target="_blank" >z3-solver PyPI package</a> (<a href="https://z3prover.github.io/api/html/z3.html" target="_blank" >Documentation</a>)</li> <li><strong>Rust bindings:</strong> <a href="https://crates.io/crates/z3" target="_blank" >z3 crate on crates.io</a></li> </ul> Zipperposition https://fmtools.fyi/tools/sat-smt/zipperposition/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/zipperposition/ <p>Zipperposition is an automated theorem prover for first-order logic with equality and theories.</p>