Module Biabduction.Tabulation

val remove_constant_string_class : IR.Tenv.t -> 'a Prop.t -> Prop.normal Prop.t

Remove constant string or class from a prop

val check_attr_dealloc_mismatch : IR.PredSymb.t -> IR.PredSymb.t -> unit

Check if the attribute change is a mismatch between a kind of allocation and a different kind of deallocation

val find_dereference_without_null_check_in_sexp : Predicates.strexp -> (int * IR.PredSymb.path_pos) option

Check whether a sexp contains a dereference without null check, and return the line number and path position

val create_cast_exception : IR.Tenv.t -> IBase.Logging.ocaml_pos -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> exn

raise a cast exception

val prop_is_exn : IR.Procname.t -> 'a Prop.t -> bool

check if a prop is an exception

val prop_get_exn_name : IR.Procname.t -> 'a Prop.t -> IR.Typ.Name.t option

when prop is an exception, return the exception name

val lookup_custom_errors : 'a Prop.t -> string option

search in prop contains an error state

val exe_function_call : BiabductionSummary.t Absint.InterproceduralAnalysis.t -> callee_attributes:IR.ProcAttributes.t -> callee_pname:IR.Procname.t -> callee_summary:BiabductionSummary.t -> ret_id:IR.Ident.t -> IBase.Location.t -> actuals:(IR.Exp.t * IR.Typ.t) list -> Prop.normal Prop.t -> Paths.Path.t -> (Prop.normal Prop.t * Paths.Path.t) list

Execute the function call and return the list of results with return value