sig   module Options :     sig       module Filename : Parameter_sig.String       module Init_func : Parameter_sig.Kernel_function_set       module Uncalled : Parameter_sig.Bool       module Uncalled_leaf : Parameter_sig.Bool       module Services : Parameter_sig.Bool     end   module Cg :     sig       module G :         sig           type t           module V :             sig               type t = Kernel_function.t               val compare : t -> t -> int               val hash : t -> int               val equal : t -> t -> bool               type label               val create : label -> t               val label : t -> label             end           type vertex = V.t           module E :             sig               type t               val compare : t -> t -> int               type vertex = vertex               val src : t -> vertex               val dst : t -> vertex               type label = Cil_types.stmt               val create : vertex -> label -> vertex -> t               val label : t -> label             end           type edge = E.t           val is_directed : bool           val is_empty : t -> bool           val nb_vertex : t -> int           val nb_edges : t -> int           val out_degree : t -> vertex -> int           val in_degree : t -> vertex -> int           val mem_vertex : t -> vertex -> bool           val mem_edge : t -> vertex -> vertex -> bool           val mem_edge_e : t -> edge -> bool           val find_edge : t -> vertex -> vertex -> edge           val find_all_edges : t -> vertex -> vertex -> edge list           val succ : t -> vertex -> vertex list           val pred : t -> vertex -> vertex list           val succ_e : t -> vertex -> edge list           val pred_e : t -> vertex -> edge list           val iter_vertex : (vertex -> unit) -> t -> unit           val fold_vertex : (vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges : (vertex -> vertex -> unit) -> t -> unit           val fold_edges : (vertex -> vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges_e : (edge -> unit) -> t -> unit           val fold_edges_e : (edge -> '-> 'a) -> t -> '-> 'a           val map_vertex : (vertex -> vertex) -> t -> t           val iter_succ : (vertex -> unit) -> t -> vertex -> unit           val iter_pred : (vertex -> unit) -> t -> vertex -> unit           val fold_succ : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val fold_pred : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_succ_e : (edge -> unit) -> t -> vertex -> unit           val fold_succ_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_pred_e : (edge -> unit) -> t -> vertex -> unit           val fold_pred_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a         end       val compute : unit -> unit       val get : unit -> G.t       val dump : unit -> unit       val is_computed : unit -> bool       val self : State.t       module Graphviz_attributes :         sig           type t = G.t           module V :             sig               type t = Kernel_function.t               val compare : t -> t -> int               val hash : t -> int               val equal : t -> t -> bool               type label               val create : label -> t               val label : t -> label             end           type vertex = V.t           module E :             sig               type t = G.E.t               val compare : t -> t -> int               type vertex = vertex               val src : t -> vertex               val dst : t -> vertex               type label               val create : vertex -> label -> vertex -> t               val label : t -> label             end           type edge = E.t           val is_directed : bool           val is_empty : t -> bool           val nb_vertex : t -> int           val nb_edges : t -> int           val out_degree : t -> vertex -> int           val in_degree : t -> vertex -> int           val mem_vertex : t -> vertex -> bool           val mem_edge : t -> vertex -> vertex -> bool           val mem_edge_e : t -> edge -> bool           val find_edge : t -> vertex -> vertex -> edge           val find_all_edges : t -> vertex -> vertex -> edge list           val succ : t -> vertex -> vertex list           val pred : t -> vertex -> vertex list           val succ_e : t -> vertex -> edge list           val pred_e : t -> vertex -> edge list           val iter_vertex : (vertex -> unit) -> t -> unit           val fold_vertex : (vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges : (vertex -> vertex -> unit) -> t -> unit           val fold_edges : (vertex -> vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges_e : (edge -> unit) -> t -> unit           val fold_edges_e : (edge -> '-> 'a) -> t -> '-> 'a           val map_vertex : (vertex -> vertex) -> t -> t           val iter_succ : (vertex -> unit) -> t -> vertex -> unit           val iter_pred : (vertex -> unit) -> t -> vertex -> unit           val fold_succ : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val fold_pred : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_succ_e : (edge -> unit) -> t -> vertex -> unit           val fold_succ_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_pred_e : (edge -> unit) -> t -> vertex -> unit           val fold_pred_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a           val graph_attributes : t -> Graph.Graphviz.DotAttributes.graph list           val default_vertex_attributes :             t -> Graph.Graphviz.DotAttributes.vertex list           val vertex_name : V.t -> string           val vertex_attributes :             V.t -> Graph.Graphviz.DotAttributes.vertex list           val default_edge_attributes :             t -> Graph.Graphviz.DotAttributes.edge list           val edge_attributes : E.t -> Graph.Graphviz.DotAttributes.edge list           val get_subgraph :             V.t -> Graph.Graphviz.DotAttributes.subgraph option         end     end   module Services :     sig       module G :         sig           type t           module V :             sig               type t = Kernel_function.t Service_graph.vertex               val compare : t -> t -> int               val hash : t -> int               val equal : t -> t -> bool               type label               val create : label -> t               val label : t -> label             end           type vertex = V.t           module E :             sig               type t               val compare : t -> t -> int               type vertex = vertex               val src : t -> vertex               val dst : t -> vertex               type label = Service_graph.edge               val create : vertex -> label -> vertex -> t               val label : t -> label             end           type edge = E.t           val is_directed : bool           val is_empty : t -> bool           val nb_vertex : t -> int           val nb_edges : t -> int           val out_degree : t -> vertex -> int           val in_degree : t -> vertex -> int           val mem_vertex : t -> vertex -> bool           val mem_edge : t -> vertex -> vertex -> bool           val mem_edge_e : t -> edge -> bool           val find_edge : t -> vertex -> vertex -> edge           val find_all_edges : t -> vertex -> vertex -> edge list           val succ : t -> vertex -> vertex list           val pred : t -> vertex -> vertex list           val succ_e : t -> vertex -> edge list           val pred_e : t -> vertex -> edge list           val iter_vertex : (vertex -> unit) -> t -> unit           val fold_vertex : (vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges : (vertex -> vertex -> unit) -> t -> unit           val fold_edges : (vertex -> vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges_e : (edge -> unit) -> t -> unit           val fold_edges_e : (edge -> '-> 'a) -> t -> '-> 'a           val map_vertex : (vertex -> vertex) -> t -> t           val iter_succ : (vertex -> unit) -> t -> vertex -> unit           val iter_pred : (vertex -> unit) -> t -> vertex -> unit           val fold_succ : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val fold_pred : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_succ_e : (edge -> unit) -> t -> vertex -> unit           val fold_succ_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_pred_e : (edge -> unit) -> t -> vertex -> unit           val fold_pred_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a         end       val compute : unit -> unit       val get : unit -> G.t       val dump : unit -> unit       val is_computed : unit -> bool       val self : State.t       val entry_point : unit -> G.V.t option       module Graphviz_attributes :         sig           type t = G.t           module V :             sig               type t = Kernel_function.t Service_graph.vertex               val compare : t -> t -> int               val hash : t -> int               val equal : t -> t -> bool               type label               val create : label -> t               val label : t -> label             end           type vertex = V.t           module E :             sig               type t = G.E.t               val compare : t -> t -> int               type vertex = vertex               val src : t -> vertex               val dst : t -> vertex               type label               val create : vertex -> label -> vertex -> t               val label : t -> label             end           type edge = E.t           val is_directed : bool           val is_empty : t -> bool           val nb_vertex : t -> int           val nb_edges : t -> int           val out_degree : t -> vertex -> int           val in_degree : t -> vertex -> int           val mem_vertex : t -> vertex -> bool           val mem_edge : t -> vertex -> vertex -> bool           val mem_edge_e : t -> edge -> bool           val find_edge : t -> vertex -> vertex -> edge           val find_all_edges : t -> vertex -> vertex -> edge list           val succ : t -> vertex -> vertex list           val pred : t -> vertex -> vertex list           val succ_e : t -> vertex -> edge list           val pred_e : t -> vertex -> edge list           val iter_vertex : (vertex -> unit) -> t -> unit           val fold_vertex : (vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges : (vertex -> vertex -> unit) -> t -> unit           val fold_edges : (vertex -> vertex -> '-> 'a) -> t -> '-> 'a           val iter_edges_e : (edge -> unit) -> t -> unit           val fold_edges_e : (edge -> '-> 'a) -> t -> '-> 'a           val map_vertex : (vertex -> vertex) -> t -> t           val iter_succ : (vertex -> unit) -> t -> vertex -> unit           val iter_pred : (vertex -> unit) -> t -> vertex -> unit           val fold_succ : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val fold_pred : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_succ_e : (edge -> unit) -> t -> vertex -> unit           val fold_succ_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a           val iter_pred_e : (edge -> unit) -> t -> vertex -> unit           val fold_pred_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a           val graph_attributes : t -> Graph.Graphviz.DotAttributes.graph list           val default_vertex_attributes :             t -> Graph.Graphviz.DotAttributes.vertex list           val vertex_name : V.t -> string           val vertex_attributes :             V.t -> Graph.Graphviz.DotAttributes.vertex list           val default_edge_attributes :             t -> Graph.Graphviz.DotAttributes.edge list           val edge_attributes : E.t -> Graph.Graphviz.DotAttributes.edge list           val get_subgraph :             V.t -> Graph.Graphviz.DotAttributes.subgraph option         end     end   module Uses :     sig       val iter_in_order : (Kernel_function.t -> unit) -> unit       val iter_in_rev_order : (Kernel_function.t -> unit) -> unit       val iter_on_callers :         (Kernel_function.t -> unit) -> Kernel_function.t -> unit       val iter_on_callees :         (Kernel_function.t -> unit) -> Kernel_function.t -> unit       val accept_base :         with_formals:bool ->         with_locals:bool -> Kernel_function.t -> Base.t -> bool     end end