Goblint_lib.AnalysesAnalysis specification and constraint system signatures.
module M = Messagestype fundecs =
GoblintCil.fundec list * GoblintCil.fundec list * GoblintCil.fundec listAnalysis starts from lists of functions: start functions, exit functions, and * other functions.
module Var : sig ... endmodule VarF (LD : Printable.S) : sig ... endmodule type SpecSysVar = sig ... endmodule GVarF (V : SpecSysVar) : sig ... endmodule GVarFC (V : SpecSysVar) (C : Printable.S) : sig ... endmodule GVarG (G : Lattice.S) (C : Printable.S) : sig ... endtype ('d, 'g, 'c, 'v) ctx = {ask : 'a. 'a Queries.t -> 'a Queries.result;emit : Events.t -> unit;node : MyCFG.node;prev_node : MyCFG.node;control_context : unit -> ControlSpecC.t;top-level Control Spec context, raises Ctx_failure if missing
context : unit -> 'c;current Spec context, raises Ctx_failure if missing
edge : MyCFG.edge;local : 'd;global : 'v -> 'g;spawn : ?multiple:bool ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
unit;split : 'd -> Events.t list -> unit;sideg : 'v -> 'g -> unit;}val ask_of_ctx : ('a, 'b, 'c, 'd) ctx -> Queries.askConvert ctx to Queries.ask.
module type Spec = sig ... endmodule type MCPA = sig ... endmodule type MCPSpec = sig ... endtype increment_data = {server : bool;solver_data : Obj.t;changes : CompareCIL.change_info;restarting : VarQuery.t list;}module StdV : sig ... endmodule UnitV : sig ... endmodule VarinfoV : sig ... endmodule EmptyV : sig ... endmodule UnitA : sig ... endmodule UnitP : sig ... endmodule DefaultSpec : sig ... endRelatively safe default implementations of some boring Spec functions.
module IdentitySpec : sig ... endmodule IdentityUnitContextsSpec : sig ... endmodule ValueContexts (D : Lattice.S) : sig ... endmodule type SpecSys = sig ... endmodule type SpecSysSol = sig ... end