package frama-c
Platform dedicated to the analysis of source code written in C
Install
Dune Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
NNicolas Bellec
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
VVincent Botbol
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
RRemi Lazarini
-
TTristan Le Gall
-
JJean-Christophe Léchenet
-
MMatthieu Lemerre
-
DDara Ly
-
DDavid Maison
-
CClaude Marché
-
AAndré Maroneze
-
TThibault Martin
-
FFonenantsoa Maurica
-
MMelody Méaulle
-
BBenjamin Monate
-
YYannick Moy
-
PPierre Nigron
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
JJan Rochel
-
MMuriel Roger
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
frama-c-29.0-Copper.tar.gz
sha256=d2fbb3b8d0ff83945872e9e6fa258e934a706360e698dae3b4d5f971addf7493
doc/frama-c-wp.core/Wp/Auto/index.html
Module Wp.Auto
Source
Basic Strategies
It is always safe to apply strategies to any goal.
Source
val instance :
?priority:float ->
Tactical.selection ->
Tactical.selection list ->
Strategy.strategy
Source
val lemma :
?priority:float ->
?at:Tactical.selection ->
string ->
Tactical.selection list ->
Strategy.strategy
Source
val range :
?priority:float ->
Tactical.selection ->
vmin:int ->
vmax:int ->
Strategy.strategy
Registered Heuristics
Trusted Tactical Process
Tacticals with hand-written process are not safe. However, the combinators below are guarantied to be sound.
Find a contradiction.
Keep goal unchanged.
Apply a description to a leaf goal. Same as t_descr "..." t_id
.
Apply a description to each sub-goal
Split with p
and not p
.
Prove condition p
and use-it as a forward hypothesis.
Case analysis: t_case p a b
applies process a
under hypothesis p
and process b
under hypothesis not p
.
Complete analysis: applies each process under its guard, and proves that all guards are complete.
Apply second process to every goal generated by the first one.
Source
val t_range :
Lang.F.term ->
int ->
int ->
upper:Tactical.process ->
lower:Tactical.process ->
range:Tactical.process ->
Tactical.process
Source
val t_replace :
?equal:string ->
src:Lang.F.term ->
tgt:Lang.F.term ->
Tactical.process ->
Tactical.process
Prove src=tgt
then replace src
by tgt
.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page