Frama-C (FRAmework for Modular Analysis of C programs) is a set of interoperable program analyzers for C programs. I have used this software during all my PhD thesis and after, mostly for deductive proof using the WP plugin. So, I wrote a tutorial that allows to learn ACSL (the specification language of Frama-C) and the use of WP by practice, also getting some theorical rudiments about deductive proof.
It can be used for both learning and teaching, I hope you will have some fun with it :) .
The last stable version is available on my website in English and in French, and in the Releases section on GitHub.
An online French version is available on Zeste de Savoir.
A recent build from the master
branch is available:
I'll try to keep these links up to date, since GitHub does not provide a simple way to access to the last built artifacts 😠.
In order to build the files, you can use docker
docker build -t tutoriel_wp .
docker run --rm -v $PWD:/mnt -w /mnt tutoriel_wp make