FREEDOM251

Freedom251 › Formal Verification Tools

VeriFast

Free plan ExtensionLinuxMacWindows

Visit VeriFast Alternatives Pricing

VeriFast's own site

What VeriFast is

VeriFast is a free, MIT-licensed research prototype for modular formal verification of C, Rust, and Java programs. It checks annotations expressing preconditions and postconditions in separation logic. Specifications can also use inductive datatypes, primitive recursive pure functions, and abstract separation logic predicates. Developers can write lemma functions as proofs; VeriFast checks that they terminate and have no side effects. The project describes verification time as predictable and low because the verifier and its SMT solver require little search. It offers a desktop IDE, command-line tool, and Visual Studio Code extension. The extension can verify the active C, Java, or Rust file and show symbolic execution failures with highlighted source locations. It requires a separate VeriFast installation and a configured path to the command-line tool. Nightly binaries and named releases are available, with build instructions for Windows, Linux, and macOS. The project says its CI workflow creates GitHub Artifact Attestations for binary packages. The VeriFast Docs and Rust reference are under construction, and informal community chat is available through its Zulip chatroom.

Who it suits

VeriFast suits developers working with C, Rust, or Java who want to verify annotated programs. It is intended for users comfortable with a research prototype and, for the VS Code extension, a separate installation and configuration.

What it does well

  • Supports C, Rust, and Java verification.
  • Offers a desktop IDE, command-line tool, and VS Code extension.
  • MIT-licensed source code and binaries are free.
  • Provides nightly binaries and named releases.

What to know first

  • VS Code extension requires a separate VeriFast installation.
  • Documentation and the Rust reference are under construction.

Limits

The VS Code extension requires a separate VeriFast installation and a configured path to its command-line tool. The VeriFast Docs and Rust reference are under construction.

Plans

PlanBilled and limitsPrice
Free and open sourceMIT-licensed source code and binaries · research prototypeFree

As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit the VeriFast GitHub project.
  2. Download a nightly binary or named release, or follow the build instructions for Windows, Linux, or macOS.
  3. Install VeriFast locally for self-hosted use.
  4. Choose the desktop IDE or command-line tool, or install the VS Code extension.
  5. If using the extension, configure its path to the VeriFast command-line tool.

Verdict

VeriFast offers several ways to check separation-logic specifications across three programming languages. Its prototype status and unfinished documentation are relevant considerations for adoption.

Questions

How much does VeriFast cost?

VeriFast is free and open source. Its source code and binaries are released under the MIT License.

Which programming languages does it verify?

VeriFast supports programs written in C, Rust, and Java.

Which interfaces are available?

VeriFast has a desktop IDE, a command-line tool, and a Visual Studio Code extension.

Does the VS Code extension need anything else?

Yes. It requires a separate VeriFast installation and a configured path to the command-line tool.

Can I run VeriFast on my operating system?

The project links build instructions for Windows, Linux, and macOS, and provides nightly binaries and named releases.

Is VeriFast open source?

Yes. The source code and binaries are released under the MIT License.

Facts from VeriFast's own pages

Documentation status
The VeriFast Docs and Rust reference are described as under construction. · github.com, 11 Oct 2026
Downloads
The project provides automatically built nightly binaries and named releases. · github.com, 11 Oct 2026
Extension requirement
The VS Code extension requires a separate VeriFast installation and a configured path to its command-line tool. · marketplace.visualstudio.com, 11 Oct 2026
Headquarters
Leuven, Belgium · github.com, 28 Sept 2026
Interfaces
The available interfaces are a desktop IDE, a command-line tool, and a Visual Studio Code extension. · github.com, 11 Oct 2026
License
The source code and binaries are released under the MIT License. · github.com, 11 Oct 2026
Proofs
Users can write lemma functions as proofs, and VeriFast checks that these functions terminate and have no side effects. · github.com, 11 Oct 2026
Purpose
VeriFast is a research prototype for modular formal verification of C, Rust, and Java programs. · github.com, 11 Oct 2026
Rich specifications
Users can define inductive datatypes, primitive recursive pure functions, and abstract separation logic predicates. · github.com, 11 Oct 2026
Specifications
Programs can be annotated with preconditions and postconditions written in separation logic. · github.com, 11 Oct 2026
Supply chain
The project says its CI workflow creates GitHub Artifact Attestations for binary packages. · github.com, 11 Oct 2026
Support
The maintainer and community can be reached for informal chat in the VeriFast Zulip chatroom. · github.com, 11 Oct 2026
Supported desktop systems
The repository links build instructions for Windows, Linux, and macOS. · github.com, 11 Oct 2026
Verification speed
The project says verification time is predictable and low because VeriFast and its SMT solver need little search. · github.com, 11 Oct 2026
VS Code integration
The extension can verify the active C, Java, or Rust file and display symbolic execution failures and highlighted source locations. · marketplace.visualstudio.com, 11 Oct 2026

Where VeriFast stands on Freedom251

Look at these too