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=0220bc743b7da2468ceb926f331edc7ddfaa7c603ba47962de3e33c8e1e3f593
doc/frama-c.kernel/Frama_c_kernel/Db/index.html
Module Frama_c_kernel.Db
Database in which static plugins are registered.
Modules providing general services:
Dynamic: API for plug-ins linked dynamicallyLog: message outputs and printersPlugin: general services for plug-insProjectand associated files:DatatypeandState_builder.
Other main kernel modules:
Ast: the cil ASTAst_info: syntactic value directly computed from the Cil AstFile: Cil file initializationGlobals: global variables, functions and annotationsAnnotations: annotations associated with a statementProperty_status: status of annotationsKernel_function: C functions as seen by Frama-CStmts_graph: the statement graphLoop: (natural) loopsVisitor: frama-c visitorsKernel: general parameters of Frama-C (mostly set from the command line)
Registering
val register : 'a ref -> 'a -> unitPlugins must register values with this function.
val register_guarded_compute :
(unit -> bool) ->
(unit -> unit) ref ->
(unit -> unit) ->
unitmodule Main : sig ... endFrama-C main interface.
module Toplevel : sig ... endPlugins
module PostdominatorsTypes : sig ... endDeclarations common to the various postdominators-computing modules
module Postdominators : PostdominatorsTypes.SigSyntactic postdominators plugin.
Postdominators using value analysis results.
module Security : sig ... endSecurity analysis.
module type INOUTKF = sig ... endSignature common to some Inout plugin options. The results of the computations are available on a per function basis.
module type INOUT = sig ... endSignature common to inputs and outputs computations. The results are also available on a per-statement basis.
module Inputs : sig ... endState_builder.of read inputs. That is over-approximation of zones read by each function.
module Outputs : sig ... endState_builder.of outputs. That is over-approximation of zones written by each function.
module Operational_inputs : sig ... endState_builder.of operational inputs. That is:
GUI
val progress : (unit -> unit) refThis function should be called from time to time by all analysers taking time. In GUI mode, this will make the interface reactive.
val on_progress :
?debounced:int ->
?on_delayed:(int -> unit) ->
?on_finished:(unit -> unit) ->
(unit -> unit) ->
daemonon_progress ?debounced ?on_delayed trigger registers trigger as new daemon to be executed on each yield.
val off_progress : daemon -> unitUnregister the daemon.
val while_progress :
?debounced:int ->
?on_delayed:(int -> unit) ->
?on_finished:(unit -> unit) ->
(unit -> bool) ->
unitwhile_progress ?debounced ?on_delayed ?on_finished trigger is similar to on_progress but the daemon is automatically unregistered as soon as trigger returns false. Same optional parameters than on_progress.
val with_progress :
?debounced:int ->
?on_delayed:(int -> unit) ->
?on_finished:(unit -> unit) ->
(unit -> unit) ->
('a -> 'b) ->
'a ->
'bwith_progress ?debounced ?on_delayed trigger job data executes the given job on data while registering trigger as temporary (debounced) daemon. The daemon is finally unregistered at the end of the computation. Same optional parameters than on_progress.
Trigger all registered daemons (debounced). This function should be called from time to time by all analysers taking time. In GUI or Server mode, this will make the clients responsive.
Interrupt the currently running job: the next call to yield will raise a Cancel exception.
Pauses the currently running process for the specified time, in milliseconds. Registered daemons, if any, will be regularly triggered during this waiting time at a reasonable period with respect to their debouncing constraints.
This exception may be raised by yield to interrupt computations.