module Reason_graph:sig..end
Why is a node impacted. The reasons will be given as n is impacted.
by the effect of [n'], and the impact is of type reason
type reason_type =
| |
Intraprocedural of |
(* | The effect of The effect of | *) |
| |
InterproceduralDownward |
(* | the effect of the effect of | *) |
| |
InterproceduralUpward |
(* | the effect of the effect of | *) |
Why is a node impacted. The reasons will be given as n is impacted.
by the effect of [n'], and the impact is of type reason
module ReasonType:Datatype.Swith type t = reason_type
module Reason:Datatype.S_with_collectionswith type t = PdgTypes.Node.t * PdgTypes.Node.t * reason_type
Reasons for impact are expressed as sets (n', n, reason)
typereason_graph =Reason.Set.t
typenodes_origin =Cil_types.kernel_function PdgTypes.Node.Map.t
Map from a node to the kernel_function it belongs to
type reason = {
|
reason_graph : |
|
nodes_origin : |
|
initial_nodes : |
}
module DatatypeReason:Datatype.Swith type t = reason
val empty : reason
val to_dot_formatter : ?in_kf:Cil_types.kernel_function ->
reason -> Stdlib.Format.formatter -> unit
val print_dot_graph : reason -> unit