Module Db


module Db: sig .. end
Database in which static plugins are registered.
Consult the Plugin Development Guide for additional details.

Modules providing general services: Other main kernel modules:

Registering



type 'a how_to_journalize =
| Journalize of string * 'a Type.t (*Journalize the value with the given name and type.*)
| Journalization_not_required (*Journalization of this value is not required (usually because it has no effect on the Frama-C global state).*)
| Journalization_must_not_happen of string (*Journalization of this value should not happen (usually because it is a low-level function: this function is always called from a journalized function). The string is the function name which is used for displaying suitable error message.*)
How to journalize the given function.
Since Beryllium-20090601-beta1
val register : 'a how_to_journalize -> 'a Pervasives.ref -> 'a -> unit
Plugins must register values with this function.
val register_compute : string ->
Project.Computation.t list ->
(unit -> unit) Pervasives.ref -> (unit -> unit) -> unit
val register_guarded_compute : string ->
(unit -> bool) -> (unit -> unit) Pervasives.ref -> (unit -> unit) -> unit
module Main: sig .. end
Frama-C main interface.
module Toplevel: sig .. end

Graphs


module Semantic_Callgraph: sig .. end
Callgraph computed by value analysis.

Values


module Value: sig .. end
The Value analysis itself.
module From: sig .. end
Functional dependencies between function inputs and function outputs.
module Users: sig .. end
Functions used by another function.
module Access_path: sig .. end
Do not use yet.

Properties


module Properties: sig .. end
Dealing with logical properties.

Plugins


module Syntactic_Callgraph: sig .. end
Interface for the syntactic_callgraph plugin.
module Postdominators: sig .. end
Postdominators plugin.
module Dominators: sig .. end
Dominators plugin.
module Constant_Propagation: sig .. end
Constant propagation plugin.
module Miel: sig .. end
module Impact: sig .. end
Impact analysis.
module Security: sig .. end
Security analysis.
module Pdg: sig .. end
Program Dependence Graph.
module Scope: sig .. end
Interface for the Scope plugin.
module Sparecode: sig .. end
Interface for the unused code detection.
module Occurrence: sig .. end
Interface for the occurrence plugin.
module Slicing: sig .. end
Interface for the slicing tool.
module type INOUT = sig .. end
Signature for inputs and/or outputs computations.
module Inputs: sig .. end
Computation of read inputs.
module Outputs: sig .. end
Computation of outputs.
module InOutContext: sig .. end
module Metrics: sig .. end
Metrics.

GUI


val progress : (unit -> unit) Pervasives.ref
This function should be called from time to time by all analysers taking time. In GUI mode, this will make the interface reactive.
Consult the Plugin Development Guide for additional details.
exception Cancel
This exception may be raised by Db.progress to interrupt computations.