Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. C and C++ Static Analysis Tools
  3. Frama-C

Frama-C

What it is

Frama-C is a plug-in platform for analyzing C programs and checking for potential bugs. Its analyzers share a kernel, program representation, and ACSL specification language, so results can be combined sequentially or in parallel. Eva applies abstract interpretation to report supported possible runtime errors, including invalid memory access and integer overflow. It analyzes sequential code and does not support recursive calls. WP uses ACSL contracts and weakest-precondition reasoning to check functional correctness across possible executions, with external provers or proof assistants. E-ACSL translates executable annotations into C code for runtime checks, although some ACSL constructs cannot be translated. The main distribution includes Eva, WP, E-ACSL, and other analyzers; some specialized plug-ins are separate, proprietary, archived, or have limited support. Frama-C is free, self-hosted software for Linux, macOS, and Windows, available under the LGPL with dual licensing possible for other uses. It is used in teaching, research, and industry, including safety- and security-critical work. Support options include technical assistance, training, tutorials, and customization.

For and against

For

  • Free software for Linux, macOS, and Windows.
  • Eva reports supported potential runtime errors.
  • WP checks ACSL contracts across possible executions.
  • Analysis results can be combined.
  • Supports development of additional plug-ins.

Against

  • Eva does not support recursive calls.
  • Eva analyzes sequential code only.
  • Some ACSL constructs cannot be translated by E-ACSL.
  • Some specialized plug-ins are separate or proprietary.

The verdict

Frama-C combines multiple analyzers for C, from runtime-error analysis to contract-based verification and runtime checks. Its limits vary by plug-in, so users should consider the specific analyzer and code patterns they need.

Who it suits

It suits developers, researchers, and educators analyzing C programs with formal methods. Its verification capabilities may also interest teams working on safety- or security-critical software.

On the record

ACSL
Frama-C uses ACSL annotations to specify function contracts and verify conformance to functional specifications.frama-c.com · read 3 Oct 2026
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.frama-c.com · read 4 Oct 2026
Architecture
Plug-ins share a kernel, program representation, and ACSL specification language, allowing analyzers to combine results sequentially or in parallel.frama-c.com · read 4 Oct 2026
Audience
The site describes use in teaching, experimental research, and industrial applications, including safety- and security-critical software.frama-c.com · read 4 Oct 2026
Eva analysis
Eva uses abstract interpretation to analyze C programs and report possible runtime errors within the undefined behaviors supported by its analysis.frama-c.com · read 3 Oct 2026
Eva limits
Eva currently does not support recursive calls and analyzes only sequential code.frama-c.com · read 3 Oct 2026
Extensibility
The platform supports development of plug-ins that add analyses or modify existing ones.frama-c.com · read 4 Oct 2026
Formal methods
The platform combines formal-methods-based analyses, most of which the site describes as sound.frama-c.com · read 4 Oct 2026
Functional verification
The WP plug-in uses ACSL specifications and weakest-precondition reasoning to prove functional correctness, with SMT solvers and user-provided annotations.frama-c.com · read 4 Oct 2026
Integrations
WP uses SMT solvers including Alt-Ergo, CVC5, and Z3.frama-c.com · read 4 Oct 2026
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.frama-c.com · read 3 Oct 2026
Licensing
Frama-C is available under LGPL and can be dual-licensed for other uses.frama-c.com · read 3 Oct 2026
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.frama-c.com · read 3 Oct 2026
Plugin ecosystem
The plugin catalog lists Eva, WP, E-ACSL, and other analyzers in the main distribution, alongside separately distributed and proprietary plugins.frama-c.com · read 3 Oct 2026
Purpose
Frama-C is a framework for modular analysis of C programs using collaborative program analysis plug-ins.frama-c.com · read 4 Oct 2026
Runtime checking
E-ACSL translates executable ACSL annotations into C code for runtime checking, but only supports an executable subset of ACSL.frama-c.com · read 4 Oct 2026
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.frama-c.com · read 4 Oct 2026
Security use
The site says Frama-C has been used for certification purposes including DO-178, IEC 60880, and Common Criteria EAL 6-7.frama-c.com · read 4 Oct 2026

Alternatives to Frama-C

Every alternative, ranked