let mk_slice selection =
  let n = string_of_int (1 + List.length (!Db.Slicing.Project.get_all ())) in
  let project = !Db.Slicing.Project.mk_project ("Slicing "^ n) in
    !Db.Slicing.Request.add_persistent_selection project selection ;
    !Db.Slicing.Request.apply_all_internal project;          
    if SlicingParameters.Mode.Callers.get () then
      !Db.Slicing.Slice.remove_uncalled project;
    let new_project = !Db.Slicing.Project.extract ((!Db.Slicing.Project.get_name project)^ " export") project in
      !Db.Slicing.Project.set_project (Some (project)) ;
      new_project