Module Biabduction__Abs
val abstract : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.t
Abstract a proposition.
val abstract_spec : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> Biabduction.Prop.normal Biabduction.BiabductionSummary.spec -> Biabduction.BiabductionSummary.NormSpec.t
Normalizes names and applies simplifications, soem of which require looking at both pre and post.
val abstract_junk : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.t
Check whether the prop contains junk. If it does, and
Config.allowleak
is true, remove the junk, otherwise raise a Leak exception.
val abstract_no_symop : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.t
Abstract a proposition but don't pay a SymOp
val get_current_rules : unit -> rules
Get the current rules discoveres
val lifted_abstract : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> Biabduction.Propset.t -> Biabduction.Propset.t
Abstract each proposition in
propset
val remove_redundant_array_elements : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.t
Remove redundant elements in an array, and check for junk afterwards
val set_current_rules : rules -> unit
Set the current rules discovered