Frama-C

Frama-C
Developer(s) Commissariat à l'Énergie Atomique and Inria
Written in OCaml
Operating system Microsoft Windows, FreeBSD, Linux, Mac OS X
Available in English
Type Formal verification, Static code analysis
License mostly LGPL, some parts under BSD licenses
Website frama-c.com

Frama-C stands for Framework for Modular Analysis of C programs. Frama-C is a set of interoperable program analyzers for C programs. Frama-C has been developed by Commissariat à l'Énergie Atomique et aux Énergies Alternatives and Inria. Frama-C enables the analysis of C programs without executing them.

Architecture

Frama-C has a modular plugin architecture[1] comparable to that of Eclipse (software) or GIMP.

Frama-C relies on CIL (C Intermediate Language) to generate an abstract syntax tree. The abstract syntax tree supports annotations written in ANSI/ISO C Specification Language (ACSL).

Several modules can manipulate the abstract syntax tree to add ANSI/ISO C Specification Language (ACSL) annotations. Among frequently used plugins are:

Other plugins are:

Features

Frama-C can be used for the following purposes:

See also

References

  1. Pascal Cuoq et al. "Experience report: OCaml for an industrial-strength static analysis framework". Proceedings of the 14th ACM SIGPLAN international conference on Functional programming.
  2. "Why homepage".
  3. Benjamin Monate, Julien Signoles (2008). "Slicing for Security of Code". Trusted Computing - Challenges and Applications. Lecture Notes in Computer Science. 4968/2008. ISBN 978-3-540-68978-2.
  4. Sylvie Boldo, Thi Minh Tuyen Nguyen (2010). "Hardware-independent proofs of numerical programs". Proceedings of NFM 2010.
  5. David Delmas, Stéphane Duprat, Victoria Moya Lamiel, Julien Signoles. "Taster, a Frama-C plug-in to enforce Coding Standards". Embedded Real Time Software and Systems 2010, Toulouse, France.
  6. Jonathan-Christofer Demay, Éric Totel, Frédéric Tronel (2009). "Automatic Software Instrumentation for the Detection of Non-control-data Attacks". Recent Advances in Intrusion Detection. Lecture Notes in Computer Science. 5758/2009.

External links