Module BufferOverrunDomain.LatestPrune

Domain to keep latest pruned values

include Absint.AbstractDomain.S
include Absint.AbstractDomain.Comparable
include IStdlib.PrettyPrintable.PrintableType
type t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val is_top : t -> bool
val subst : ret_id:IR.Ident.t -> eval_sym_trace -> IBase.Location.t -> t -> (t, [ `SubstBottom | `SubstFail ]) IStdlib.IStd.result

Substitute the latest pruned values. If the result is bottom, which means the path is unreachable. The substitution can be failed when a callee variable can be substituted to multiple abstract locations.