The Ultimate Formal Methods Toolbox on Formal Methods Tools https://fmtools.fyi/ Recent content in The Ultimate Formal Methods Toolbox on Formal Methods Tools Hugo en-us Sat, 07 Jun 2025 00:00:00 +0000 About https://fmtools.fyi/about/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/about/ <p>The Formal Methods Tools project is dedicated to developing, maintaining, and promoting tools that support the application of formal methods in software engineering. The goal of this website is to make formal verification, specification, and analysis techniques accessible and practical for both researchers and practitioners.</p> <h2 id="key-objectives">Key Objectives</h2> <ul> <li>Provide a comprehensive list of tools for formal methods.</li> <li>Group tools by rich metadata to support collaboration and boost tools&rsquo; strengths.</li> <li>Foster a collaborative community for tool development and support.</li> </ul> <h2 id="whos-behind-this">Who&rsquo;s Behind This?</h2> <p>Howdy. My name is Landon Taylor. I sometimes go by mossBiscuits. This is one of my hobby projects. I have a passion for formal methods. When I started learning about verification, there was a sharp barrier to entry due partially to the sprawl of content online. I wanted to solve this problem, so I have been chipping away at this website for a while now.</p> 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> BLAST https://fmtools.fyi/tools/mc/blast/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/blast/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2012</span> <span style="display:none">]</span> </div> BLAST (Berkeley Lazy Abstraction Software verification Tool) is a static software verification tool for C language that solves the reachability problem, i.e. whether a given program location can be reached from an entry point (main function) by a valid execution.</p> Boolector https://fmtools.fyi/tools/sat-smt/boolector/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/boolector/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2024</span> <span style="display:none">]</span> </div> Boolector is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size bit-vectors, arrays and uninterpreted functions. Succeeded by <a href="../bitwuzla" >Bitwuzla</a></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> COMICS https://fmtools.fyi/tools/prob/comics/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/prob/comics/ <p>COMICS is a stand-alone tool which performs model checking and the generation of counterexamples for discrete-time Markov Chains (DTMCs).</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> Contribute https://fmtools.fyi/contribute/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/contribute/ <p>Instructions coming soon. Please see <a href="https://gitmoss.fyi/fmtools/content/wiki/Contribute" target="_blank" >https://gitmoss.fyi/fmtools/content/wiki/Contribute</a> for temporary instructions.</p> <h2 id="quick-links">Quick Links</h2> <ul> <li>Request addding a tool: <a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2fadd_tool.md" target="_blank" >Submit Git Issue</a></li> <li>Request fixing a tool: <a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md" target="_blank" >Submit Git Issue</a></li> </ul> 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> cvc4 https://fmtools.fyi/tools/sat-smt/cvc4/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/cvc4/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2021</span> <span style="display:none">]</span> </div> cvc4 is an automatic theorem prover for SMT problems. It is succeeded by <a href="../cvc5" >cvc5</a></p> 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> dReal https://fmtools.fyi/tools/sat-smt/dreal/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/dreal/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2023</span> <span style="display:none">]</span> </div> dReal is an automated reasoning tool. It focuses on solving problems that can be encoded as first-order logic formulas over the real numbers. Its special strength is in handling problems that involve a wide range of nonlinear real functions.</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> Intrepyd https://fmtools.fyi/tools/mc/intrepyd/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/intrepyd/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2021</span> <span style="display:none">]</span> </div> Intrepyd is a python module that provides a simulator and a model checker in form of a rich API, to allow the rapid prototyping of formal methods algorithms for the rigorous analysis of circuits, specifications, models.</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> LTSA https://fmtools.fyi/tools/mc/ltsa/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/ltsa/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2018</span> <span style="display:none">]</span> </div> LTSA is a verification tool for concurrent systems. It mechanically checks that the specification of a concurrent system satisfies the properties required of its behaviour. In addition, LTSA supports specification animation to facilitate interactive exploration of system behaviour.</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> mcltl-rs https://fmtools.fyi/tools/mc/mcltlrs/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/mcltlrs/ <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2020</span> <span style="display:none">]</span> </div> <p>mcltl-rs is an experimental model checker for LTL written in Rust.</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> Mercury https://fmtools.fyi/tools/mc/mercury/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/mercury/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2020</span> <span style="display:none">]</span> </div> Mercury is a Model Checker developed for multicore, multiprocessors machine with shared memory.</p> MiniSat https://fmtools.fyi/tools/sat-smt/minisat/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/minisat/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2013</span> <span style="display:none">]</span> </div> MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers alike to get started on SAT.</p> MIT License https://fmtools.fyi/license/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/license/ <p>MIT License</p> <p>Copyright (c) 2025 Landon Taylor.</p> <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &ldquo;Software&rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</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> MUNTA https://fmtools.fyi/tools/mc/munta/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/munta/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2020</span> <span style="display:none">]</span> </div> MUNTA is a model checker for the popular realtime systems modeling formalism of Timed Automata</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> Privacy https://fmtools.fyi/privacy/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/privacy/ <p>This website does not collect or track any personal data from visitors. No cookies, personalized analytics, or tracking scripts are used. No ads are shown on this website, and there is no money to be made from this project.</p> <p>If you choose to contribute content (including emails, issues, and pull requests), any information you voluntarily provide may be stored as part of the website&rsquo;s content and source code. Only the data you explicitly submit will be saved, and data is not sold by the website&rsquo;s owner. Due to the public nature of its disclosure, this information is not considered private and may be used by the general public as allowed by respective laws and policies. Your privacy is respected, and no unnecessary data is collected or shared.</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> Q3B https://fmtools.fyi/tools/sat-smt/q3b/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/q3b/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2023</span> <span style="display:none">]</span> </div> Q3B is an SMT solver for the quantified bit-vector formulas which uses BDDs.</p> Riss https://fmtools.fyi/tools/sat-smt/riss/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/sat-smt/riss/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2017</span> <span style="display:none">]</span> </div> Riss is a SAT solving tool collection.</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> TimeSolver https://fmtools.fyi/tools/mc/timesolver/ Sat, 07 Jun 2025 00:00:00 +0000 https://fmtools.fyi/tools/mc/timesolver/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2019</span> <span style="display:none">]</span> </div> TimeSolver is a Model Checker for timed automata that uses pes (predicate equation systems).</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>