Frama-C
frama-c.com
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
- Formal Verification Tools#20 of 357.5
- C and C++ Static Analysis Tools#15 of 257.5