module Properties: sig
.. end
Dealing with logical properties.
module Interp: sig
.. end
Interpretation of logic terms.
val predicates_on_stmt : Cil_types.stmt ->
(Cil_types.predicate Cil_types.named * (Cil_types.annotation_status -> unit))
list *
(Cil_types.predicate Cil_types.named * (Cil_types.annotation_status -> unit))
list * Cil_types.funspec option
returns the predicates holding before, the predicates holding after
together with the function to update their status in-place
and the contract (if any) for the given statement
Alarms
val synchronize_alarms : unit -> unit
Transform current set of alarms into code properties. This has to be
called at the end of an alarm generator. By example, this is
automatically called at the end of
Db.Value.compute
.
val add_alarm : Db_types.kernel_function ->
Cil_types.stmt -> Alarms.t -> Cil_types.code_annotation -> unit
Assertions
val add_assert : Db_types.kernel_function -> Cil_types.stmt -> before:bool -> string -> unit
val get_user_assert : Db_types.kernel_function ->
Cil_types.stmt -> before:bool -> Cil_types.code_annotation list
Weakest preconditions