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.S
with type t = reason_type
module Reason:Datatype.S_with_collections
with 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.S
with 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