sig
  type nodes = Pdg_aux.NS.t
  type result = Compute_impact.nodes Kernel_function.Map.t
  val initial_nodes :
    skip:Locations.Zone.t ->
    Cil_types.kernel_function -> Cil_types.stmt -> PdgTypes.Node.t list
  val nodes_impacted_by_stmts :
    ?skip:Locations.Zone.t ->
    ?restrict:Locations.Zone.t ->
    ?reason:bool ->
    Cil_types.kernel_function ->
    Cil_types.stmt list ->
    Compute_impact.result * Compute_impact.nodes Kernel_function.Map.t *
    Reason_graph.reason
  val nodes_impacted_by_nodes :
    ?skip:Locations.Zone.t ->
    ?restrict:Locations.Zone.t ->
    ?reason:bool ->
    Cil_types.kernel_function ->
    PdgTypes.Node.t list ->
    Compute_impact.result * Compute_impact.nodes Kernel_function.Map.t *
    Reason_graph.reason
  val stmts_impacted :
    ?skip:Locations.Zone.t ->
    reason:bool ->
    Cil_types.kernel_function -> Cil_types.stmt list -> Cil_types.stmt list
  val nodes_impacted :
    ?skip:Locations.Zone.t ->
    reason:bool ->
    Cil_types.kernel_function -> PdgTypes.Node.t list -> Compute_impact.nodes
  val result_to_nodes : Compute_impact.result -> Compute_impact.nodes
  val nodes_to_stmts : Compute_impact.nodes -> Cil_types.stmt list
  val impact_in_kf :
    Compute_impact.result ->
    Cil_types.kernel_function -> Compute_impact.nodes
  val skip : unit -> Locations.Zone.t
end