module Aorai_visitors: sig
.. end
This visitor does not modify the AST.
It just generates a first abstract specification for each function.
This specification is stored into Data_for_aorai and can be accessed
by using get_func_pre or get_func_post.
class visit_computing_abstract_pre_post_from_buch : Promelaast.typed_automaton -> string -> bool ->
object
.. end
This visitor does not modify the AST.
val get_call_name : Cil_types.exp -> string
type
func_auto_mode =
val func_orig_table : func_auto_mode Cil_datatype.Varinfo.Hashtbl.t
val kind_of_func : Cil_datatype.Varinfo.Hashtbl.key -> func_auto_mode
class visit_adding_code_for_synchronisation : Promelaast.typed_automaton ->
object
.. end
This visitor adds an auxiliary function for each C function which takes
care of setting the automaton in a correct state before calling the
original one, and replaces each occurrence of the original function by
the auxiliary one.
class change_formals : Kernel_function.t -> Kernel_function.t ->
object
.. end
class change_result : Kernel_function.t ->
object
.. end
val post_treatment_loops : (Cil_datatype.Stmt.t Pervasives.ref, Cil_types.stmt Pervasives.ref) Hashtbl.t
val get_action_invariant : Cil_types.kernel_function ->
Cil_types.kinstr ->
bool array array * 'a -> Cil_types.predicate Cil_types.named list
val get_action_post_cond : ?pre_states:Data_for_aorai.Aorai_state.t list ->
post_states:Promelaast.state list ->
Kernel_function.t ->
(Cil_types.termination_kind * Cil_types.identified_predicate) list
class visit_adding_pre_post_from_buch : 'a -> bool ->
object
.. end
This visitor add a specification to each fonction and to each loop,
according to specifications stored into Data_for_aorai.
class visit_computing_ignored_functions : unit ->
object
.. end
This visitor computes the list of ignored functions.
val compute_abstract : Cil_types.file -> string -> bool -> unit
val add_pre_post_from_buch : Cil_types.file -> bool -> unit
val add_sync_with_buch : Cil_types.file -> unit
val compute_ignored_functions : Cil_types.file -> unit