Questions tagged [frama-c]

Frama-C is an Open Source suite of tools dedicated to the analysis of C source code.

Frama-C offers ready-to-use analyses for C programs: call graph, value analysis, functional dependencies, Program Dependence Graph, runtime monitoring, etc. It also allows the verification of functional properties, temporal logic, and much more. Results can be expressed in plain text, in SARIF, or in Frama-C's graphical interface.

Each analysis is implemented as a plug-in, and plug-ins inside the platform can use the results of one another. Frama-C is Open Source and extensible: new analyses can be implemented in OCaml as additional plug-ins that take advantage of existing ones. They communicate using the ACSL specification language, which also enables describing what the program is supposed to do.

Most provided analyses in Frama-C are sound: used within a delimited perimeter, all the behaviors that can happen at run-time are included in the behaviors statically predicted by Frama-C. Notwithstanding the possibility of bugs, plug-ins must be used as documented for the property to hold. This makes it possible to use Frama-C for the formal verification of C programs.

447 questions
0
votes
1 answer

How to install a specific commit of Frama-C

An issue in the bug-tracking system of Frama-C contains a note: "was fixed by commit xyz. Fix will appear in Phosphorus." How do I update frama-c to that specific commit? I installed frama-c on Ubuntu via opam.
veeco
  • 47
  • 6
0
votes
0 answers

Frama-C's extensible printer and projects

I am trying to make changes to the behavior of a function and print the results to a file. The ViewCfg plug-in described in the Plug-in Development Guide does something similar, but I am trying to avoid having to use Ast.get, which ViewCfg uses. I…
gsp
  • 67
  • 1
  • 5
0
votes
1 answer

Make Frama-c show dependencies even of "dead branches"

I am using frama-c Aluminium-20160502 version and I want to find out the dependencies in a large program. When using the option -deps in the command line I found some dependencies are missing. In particular when several conditions are joined in one…
J. Abe
  • 45
  • 6
0
votes
0 answers

Generating PDGs of OpenSSL C Source for Analysis

I am working on a research project that requests me to generate program dependency graphs of OpenSSL user data entry points(main files with connected function calls). I'm using frama-c because of ease of use. Ideally, I would like to mainly run, for…
Quentin Mayo
  • 390
  • 4
  • 11
0
votes
1 answer

frama-c gui warning Mime type 'text/x-csrc' not found

While running frama-c-gui aluminium on open suse 13.1 gives a warning message: [gui] warning: Mime type 'text/x-csrc' not found What could be the cause and solution for this?
karan
  • 67
  • 4
0
votes
0 answers

Error when building frama-clang: Unbound module Parameter_sig

I downloaded frama-clang from here, installed opam and used it to install Ocaml 2.02.3. Then I built frama-c Aluminium (which went fine) and following that I ran ./configure and then make. In the latter step, I get an error saying: File…
Paddre
  • 798
  • 1
  • 9
  • 19
0
votes
0 answers

Is it possible to acquire the (original) SIDs of a sliced AST using Frama-C?

Presently, I'm trying to use Frama-C's slicing capabilities to generate the backwards slice of a particular statement in a given file, and from that particular slice, I would like to acquire the original SIDs of the statements belonging to it. The…
ChrisTimps
  • 101
  • 7
0
votes
0 answers

Forward conditioned slicing with Frama-C

From the post Understanding Frama-C slicer results, it seems Frama-C supports the forward conditioned slicing with Frama-C. For the following example test.c, I wonder how to do the forward conditioned slicing with the specific function "event".…
0
votes
2 answers

Error while installing hello_world plugin on ubuntu 16.04

I've installed frama-c using opam (on Ubuntu 16.04). I try to install the "hello_world.ml" as plugin (of the plugin development guide) using a Makefile FRAMAC_SHARE :=$(shell frama-c.byte -print-path) FRAMAC_LIBDIR :=$(shell frama-c.byte…
Amiramet
  • 59
  • 2
0
votes
0 answers

frama-c __nonnull macro redefined warning

When I launch the value plugin of frama-c, I get many times the same warning : /Users/philippeantoine/.opam/4.02.3/bin/frama-c -val myprog.c In file included from…
0
votes
1 answer

Frama-C-Plugin: Resolve Pointer to pointer

I'm developing a frama-c-plugin, where I want to get the values of pointers (not the address they are pointing to, but the value at that address). This works so far for simple pointers. Now I want to handle pointers to pointers. For example: int…
Thomas Böhm
  • 1,456
  • 1
  • 15
  • 27
0
votes
1 answer

How many temporary variables Frama-C WP plugin can handle?

I was trying to generate weakest precondition of a particular program where there are total 44 temporary variables are present. Values of 2 temporary variables are assumed. All other variables are derived from these two variables. Also, there are 2…
D.L.
  • 169
  • 3
  • 17
0
votes
0 answers

Frama-C: Get all values of structs

I am currently struggling with creating a Frama-C-plugin that gets all int-values of structs in a hierarchy (structs in structs). For example: I have a C-Program with the following types: struct a{ int a; int b; } struct b{ int c; …
Thomas Böhm
  • 1,456
  • 1
  • 15
  • 27
0
votes
0 answers

Frama-C-Plugin: Set value of variable in plugin

I am writing a Frama-C Plugin. I want to develop a plugin, that sets the value of a local variable. By this idea I try to do the value-analysis afterwards, and then I can analyze the reachablility, path analysis and other things by my second…
Thomas Böhm
  • 1,456
  • 1
  • 15
  • 27
0
votes
1 answer

Frama-C code slicer not loading any C files

I have a 1000 lines C file with 10 maths algorithms written by a professor, I need to delete 9 maths functions and all their dependencies from the 1000 lines, so i am having a go using Frama-C Boron windows binary installer. Now it won't load the…