Skip to content
SPECIFICTION
Get listed

Frama-C

frama-c.com

WindowsmacOSLinux
Visit frama-c.com
Spec score 7.5 #20 of 35 in Formal Verification Tools

Spec sheet

Purpose
Frama-C is a framework for modular analysis of C programs using collaborative program analysis plug-ins.Read 4 Oct 2026 · frama-c.com
Intended users
The site describes Frama-C as used in teaching, experimental research, and industrial applications, including certification work for DO-178, IEC 60880, and Common Criteria EAL 6–7.Read 3 Oct 2026 · frama-c.com
Audience
The site describes use in teaching, experimental research, and industrial applications, including safety- and security-critical software.Read 4 Oct 2026 · frama-c.com
Platforms
The current download page provides installation instructions for Linux and macOS, and describes Windows use through WSL.Read 4 Oct 2026 · frama-c.com
Integrations
WP uses SMT solvers including Alt-Ergo, CVC5, and Z3.Read 4 Oct 2026 · frama-c.com
Support
The project offers technical support, training, tutorial sessions, hackathons, extensions, and customization for commercial or industrial use.Read 4 Oct 2026 · frama-c.com
Maker
The platform is co-developed at CEA LIST and the Inria Saclay–Île-de-France Toccata team, in common with LRI-CNRS and Université Paris-Sud 11.Read 3 Oct 2026 · frama-c.com
ACSL
Frama-C uses ACSL annotations to specify function contracts and verify conformance to functional specifications.Read 3 Oct 2026 · frama-c.com
Additional analyzers
The main distribution includes Eva, WP, E-ACSL, and other plug-ins; some specialized plug-ins are proprietary, separately distributed, archived, or have limited support.Read 4 Oct 2026 · frama-c.com
Architecture
Plug-ins share a kernel, program representation, and ACSL specification language, allowing analyzers to combine results sequentially or in parallel.Read 4 Oct 2026 · frama-c.com
Eva analysis
Eva uses abstract interpretation to analyze C programs and report possible runtime errors within the undefined behaviors supported by its analysis.Read 3 Oct 2026 · frama-c.com
Eva limits
Eva currently does not support recursive calls and analyzes only sequential code.Read 3 Oct 2026 · frama-c.com
Extensibility
The platform supports development of plug-ins that add analyses or modify existing ones.Read 4 Oct 2026 · frama-c.com
Formal methods
The platform combines formal-methods-based analyses, most of which the site describes as sound.Read 4 Oct 2026 · frama-c.com
Functional verification
The WP plug-in uses ACSL specifications and weakest-precondition reasoning to prove functional correctness, with SMT solvers and user-provided annotations.Read 4 Oct 2026 · frama-c.com
Licensing
Frama-C is available under LGPL and can be dual-licensed for other uses.Read 3 Oct 2026 · frama-c.com
Plugin ecosystem
The plugin catalog lists Eva, WP, E-ACSL, and other analyzers in the main distribution, alongside separately distributed and proprietary plugins.Read 3 Oct 2026 · frama-c.com
Runtime checking
E-ACSL translates executable ACSL annotations into C code for runtime checking, but only supports an executable subset of ACSL.Read 4 Oct 2026 · frama-c.com
Runtime errors
The Eva plug-in uses abstract interpretation to analyze possible program behaviors and report supported undefined behaviors, including invalid memory accesses and integer overflows.Read 4 Oct 2026 · frama-c.com
Security use
The site says Frama-C has been used for certification purposes including DO-178, IEC 60880, and Common Criteria EAL 6-7.Read 4 Oct 2026 · frama-c.com
WP integrations
WP recommends Alt-Ergo, Coq, Z3, and CVC4, and supports other provers available through Why3.Read 3 Oct 2026 · frama-c.com
WP proofs
WP checks whether ACSL contracts hold for all possible executions using weakest-precondition calculus and external provers or proof assistants.Read 3 Oct 2026 · frama-c.com

Where Specifiction places it

Alternatives to Frama-CAll alternatives →