Frama-C API - Pdg
can be raised by most of the functions when called with a Top PDG. Top means that we were not able to compute the PDG for this function.
include Frama_c_kernel.Datatype.S
include Frama_c_kernel.Datatype.S_no_copy
val datatype_descr : t Frama_c_kernel.Descr.tDatatype descriptor.
val packed_descr : Frama_c_kernel.Structural_descr.packPacked version of the descriptor.
val reprs : t listList of representants of the descriptor.
val hash : t -> intHash function: same spec than Hashtbl.hash.
val pretty : Stdlib.Format.formatter -> t -> unitPretty print each value in an user-friendly way.
val mem_project : (Frama_c_kernel.Project_skeleton.t -> bool) -> t -> boolmem_project f x must return true iff there is a value p of type Project.t in x such that f p returns true.
val top : Frama_c_kernel.Kernel_function.t -> tval bottom : Frama_c_kernel.Kernel_function.t -> tval is_top : t -> boolval is_bottom : t -> boolval get_kf : t -> Frama_c_kernel.Kernel_function.tval fold_call_nodes : ('a -> Node.t -> 'a) -> 'a -> t -> Frama_c_kernel.Cil_types.stmt -> 'atype dpd_info = Node.t * Frama_c_kernel.Locations.Zone.t optiona dependency to another node. The dependency can be restricted to a zone. (None means no restriction ie. total dependency)
val fold_direct_dpds : t -> ('a -> (Dpd.t * Frama_c_kernel.Locations.Zone.t option) -> Node.t -> 'a) -> 'a -> Node.t -> 'aval fold_direct_codpds : t -> ('a -> (Dpd.t * Frama_c_kernel.Locations.Zone.t option) -> Node.t -> 'a) -> 'a -> Node.t -> 'aval pretty_bw : ?bw:bool -> Stdlib.Format.formatter -> t -> unitval pretty_graph : ?bw:bool -> Stdlib.Format.formatter -> G.t -> unittype fi = (Node.t, unit) PdgIndex.FctIndex.tval make : Frama_c_kernel.Kernel_function.t -> G.t -> data_state Frama_c_kernel.Cil_datatype.Stmt.Hashtbl.t -> fi -> tmake fundec graph states index
val get_states : t -> data_state Frama_c_kernel.Cil_datatype.Stmt.Hashtbl.tval build_dot : string -> t -> unitbuild the PDG .dot file and put it in filename.
module Printer : sig ... end