Viper
pm.inf.ethz.ch
Spec sheet
- Purpose
- Viper is a language and suite of tools for building program verifiers and prototyping verification techniques.Read 8 Oct 2026 · pm.inf.ethz.ch
- Intended users
- Viper is used to develop verification tools and prototypes, and the maker also describes manual encoding of verification problems as a use case.Read 8 Oct 2026 · pm.inf.ethz.ch
- Support
- The maker directs users to the Viper Zulip channel and Stack Overflow for support.Read 8 Oct 2026 · pm.inf.ethz.ch
- Headquarters
- Zürich, SwitzerlandRead 28 Sep 2026 · pm.inf.ethz.ch
- Browser learning
- The Viper tutorial provides runnable examples that readers can edit and try in the browser.Read 8 Oct 2026 · viper.ethz.ch
- Browser tutorial
- The interactive tutorial includes runnable examples that users can edit and verify in the browser.Read 8 Oct 2026 · viper.ethz.ch
- Command line platforms
- The maker offers command-line tool downloads for 64-bit Windows, Linux, macOS, and ARM macOS.Read 8 Oct 2026 · pm.inf.ethz.ch
- Front ends
- The project lists Gobra for Go, Nagini for Python, and Prusti for Rust as verifiers built on Viper.Read 8 Oct 2026 · pm.inf.ethz.ch
- IDE
- Viper IDE is a Visual Studio Code extension, and the maker recommends using it with the latest VS Code version.Read 8 Oct 2026 · pm.inf.ethz.ch
- IDE requirement
- Viper IDE requires 64-bit Java 11 or newer and downloads approximately 100 MB of dependencies.Read 8 Oct 2026 · pm.inf.ethz.ch
- Language features
- The Viper language includes imperative constructs, specifications, permission reasoning, mathematical types, user-defined predicates, and pure functions.Read 8 Oct 2026 · pm.inf.ethz.ch
- Permission reasoning
- Viper natively supports permission or ownership reasoning, including approaches such as separation logic.Read 8 Oct 2026 · pm.inf.ethz.ch
- Program reasoning
- Viper is designed to verify sequential and concurrent programs with mutable state using permissions or ownership.Read 8 Oct 2026 · pm.inf.ethz.ch
- Security and compliance
- The opened project and download pages do not state a security certification or compliance standard.Read 8 Oct 2026 · pm.inf.ethz.ch
- SMT solver
- Both backends use the Z3 SMT solver to discharge proof obligations.Read 8 Oct 2026 · viper.ethz.ch
- Source code
- The maker says the source code for Viper's core projects is open source and available on GitHub.Read 8 Oct 2026 · pm.inf.ethz.ch
- System requirement
- Viper IDE requires 64-bit Java 11 or newer and recommends the latest available VS Code version.Read 8 Oct 2026 · pm.inf.ethz.ch
- Verification backends
- Viper provides a verification-condition-generation backend and a symbolic-execution backend, both of which use the Z3 SMT solver.Read 8 Oct 2026 · viper.ethz.ch
Where Specifiction places it
- Formal Verification Tools#30 of 356.9