Module Biabduction__State
val add_diverging_states : Biabduction.Paths.PathSet.t -> unit
Add diverging states
val get_diverging_states_node : unit -> Biabduction.Paths.PathSet.t
Get the diverging states for the node
val get_diverging_states_proc : unit -> Biabduction.Paths.PathSet.t
Get the diverging states for the procedure
val get_inst_update : IR.PredSymb.path_pos -> Biabduction.Predicates.inst
Get update instrumentation for the current loc
val get_loc_trace : unit -> IR.Errlog.loc_trace
Get the location trace of the last path seen in symbolic execution
val get_normalized_pre : (IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.t) -> Biabduction.Prop.normal Biabduction.Prop.t option
return the normalized precondition extracted form the last prop seen, if any the abstraction function is a parameter to get around module dependencies
val get_path : unit -> Biabduction.Paths.Path.t * IR.PredSymb.path_pos option
Get last path seen in symbolic execution
val get_path_pos : unit -> IR.PredSymb.path_pos
Get the last path position seen in symbolic execution
val get_prop_tenv_pdesc : unit -> (Biabduction.Prop.normal Biabduction.Prop.t * IR.Tenv.t * IR.Procdesc.t) option
Get last last prop,tenv,pdesc seen in symbolic execution
val mark_execution_end : IR.Procdesc.Node.t -> unit
Mark the end of symbolic execution of a node
val mark_execution_start : IR.Procdesc.Node.t -> unit
Mark the start of symbolic execution of a node
val mk_find_duplicate_nodes : IR.Procdesc.t -> IR.Procdesc.Node.t -> IR.Procdesc.NodeSet.t
Create a function to find duplicate nodes. A node is a duplicate of another one if they have the same kind and location and normalized (w.r.t. renaming of let - bound ids) list of instructions.
type log_issue
= ?node:IR.Procdesc.Node.t -> ?loc:IBase.Location.t -> ?ltr:IR.Errlog.loc_trace -> exn -> unit
val process_execution_failures : log_issue -> unit
Process the failures during symbolic execution of a procedure
val restore_state : t -> unit
Restore the old state.
val save_state : unit -> t
Return the old state, and revert the current state to the initial one.
val set_path : Biabduction.Paths.Path.t -> IR.PredSymb.path_pos option -> unit
Get last path seen in symbolic execution
val set_prop_tenv_pdesc : Biabduction.Prop.normal Biabduction.Prop.t -> IR.Tenv.t -> IR.Procdesc.t -> unit
Set last prop,tenv,pdesc seen in symbolic execution