package frama-c
Install
dune-project
Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
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
-
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
sha256=29612882330ecb6eddd0b4ca3afc0492b70d0feb3379a1b8e893194c6e173983
doc/frama-c.kernel/Frama_c_kernel/Populate_spec/index.html
Module Frama_c_kernel.Populate_spec
This module is used to generate missing specifications. Options Kernel.GeneratedDefaultSpec, Kernel.GeneratedSpecMode and Kernel.GeneratedSpecCustom can be used to choose precisely which clause to generate in which case.
Different types of clauses which can be generated via populate_funspec.
type t_exits =
(Cil_types.termination_kind * Cil_types.identified_predicate) listRepresents exits clause in the sense of Cil_types.behavior.b_post_cond.
type t_assigns = Cil_types.assignsAssigns clause
type t_allocates = Cil_types.allocationAllocation clause
type t_requires = Cil_types.identified_predicate listRepresents requires clause in the sense of Cil_types.behavior.b_requires.
type t_terminates = Cil_types.identified_predicate optionRepresents terminates clause in the sense of Cil_types.spec.spec_terminates.
type 'a gen = Cil_types.kernel_function -> Cil_types.spec -> 'aType of a function that, given a Kernel_function.t and a Cil_types.spec, returns a clause. Accepted clause types include t_exits, t_assigns, t_requires, t_allocates and t_terminates.
type status = Property_status.emitted_statusAlias for brevity, status emitted for properties.
val register :
?gen_exits:t_exits gen ->
?status_exits:status ->
?gen_assigns:t_assigns gen ->
?status_assigns:status ->
?gen_requires:t_requires gen ->
?gen_allocates:t_allocates gen ->
?status_allocates:status ->
?gen_terminates:t_terminates gen ->
?status_terminates:status ->
string ->
unitregister ?gen_exits ?gen_requires ?status_allocates ... name registers a new mode called name which can then be used for specification generation (see Kernel.GeneratedSpecMode and Kernel.GeneratedSpecCustom). All parameters except name are optional, meaning default action (mode Frama_C) will be performed if left unspecified (triggers a warning).
val populate_funspec :
?loc:Cil_types.location ->
?do_body:bool ->
Cil_types.kernel_function ->
clause list ->
unitpopulate_funspec ~loc ~do_body kf clauses generates missing specifications for kf according to selected clauses. loc is set to Kernel_function.get_location kf by default, and is used to specify warnings locations. By default do_body is false, meaning only specification of prototypes will be generated.