let pretty_pdg_graph ?(bw=false) fmt graph =
  let iter = if bw then G.iter_pred_e else G.iter_succ_e in
  let print_node n =  Format.fprintf fmt "%a@." pretty_node n in
  let print_dpd d =
    let dpd_kind = G.E.label d in
    if bw then Format.fprintf fmt "  <-%a- %d@." G.pretty_edge_label dpd_kind
                 (N.elem_id (G.E.src d))
    else Format.fprintf fmt "  -%a-> %d@." G.pretty_edge_label dpd_kind
                 (N.elem_id (G.E.dst d))
  in
  let print_node_and_dpds n =
    print_node n ; iter print_dpd graph n
  in
    G.iter_vertex print_node_and_dpds graph