Boogie
6.4#8 in formal verification toolsFree planFree planLinuxmacOSWindows
Visit| Fact | Boogie | Why3 |
|---|---|---|
| Installation | Releases are packaged as a .NET global tool and can be installed with dotnet tool install --global boogie. | Why3 can be installed via Opam, run from a Docker image, or compiled from source. |
| Integrations | The repository lists VCC and HAVOC for C, and Dafny, Chalice, Spec#, and Move verifiers as projects built on Boogie. | The project lists EasyCrypt, Frama-C, and SPARK 2014 among projects that use Why3. |
| License | Boogie is licensed under the MIT License. | TryWhy3 is distributed under the GNU Lesser General Public License version 2.1 with a special linking exception. |
| Purpose | Boogie is an intermediate modeling and verification language used as a layer for building program verifiers for other languages. | Why3 is a platform for deductive program verification that uses WhyML and external theorem provers to discharge verification conditions. |
| Support | The project directs users to its GitHub issue tracker to ask questions and report issues. | The project provides a user mailing list, a Zulip chat, and a bug tracking system. |
Boogie suits developers building verifiers for other languages or expressing and checking contracts with Boogie input. It may also suit users modeling concurrent or distributed systems through Civl.
Why3 suits developers and researchers working on deductive verification with contracts and WhyML. It may also fit users who need to connect external provers or use its OCaml API.