sig
  val mk_project : string -> SlicingInternals.project
  val get_name : SlicingInternals.project -> string
  val create_slice :
    SlicingInternals.project ->
    Kernel_function.t -> SlicingInternals.fct_slice
  val remove_ff :
    SlicingInternals.project -> SlicingInternals.fct_slice -> unit
  val remove_uncalled_slices : SlicingInternals.project -> unit
  val merge_slices :
    SlicingInternals.project ->
    SlicingInternals.fct_slice ->
    SlicingInternals.fct_slice -> bool -> SlicingInternals.fct_slice
  val split_slice :
    SlicingInternals.project ->
    SlicingInternals.fct_slice -> SlicingInternals.fct_slice list
  val get_slices :
    SlicingInternals.project ->
    Kernel_function.t -> SlicingInternals.fct_slice list
  val get_slice_callers :
    SlicingInternals.fct_slice -> SlicingInternals.fct_slice list
  val add_filter :
    SlicingInternals.project -> SlicingInternals.criterion -> unit
  val add_fct_src_filter :
    SlicingInternals.project ->
    SlicingInternals.fct_info -> SlicingInternals.fct_user_crit -> unit
  val add_fct_ff_filter :
    SlicingInternals.project ->
    SlicingInternals.fct_slice -> SlicingInternals.fct_user_crit -> unit
  val print_proj_worklist :
    Format.formatter -> SlicingInternals.project -> unit
  val print_project_and_worklist :
    Format.formatter -> SlicingInternals.project -> unit
  val pretty_slice : Format.formatter -> SlicingInternals.fct_slice -> unit
  val apply_next_action : SlicingInternals.project -> unit
  val is_request_empty : SlicingInternals.project -> bool
  val apply_all_actions : SlicingInternals.project -> unit
end