`type call_result````=`

`|` `CR_success` | (** successful call *)
`|` `CR_not_met` | (** precondition not met *)
`|` `CR_not_found` | (** the callee has no specs *)
`|` `CR_skip` | (** the callee was skipped *)

``

kind of result of a procedure call

`val log_call_trace : caller_name:InferIR.Typ.Procname.t ‑> callee_name:InferIR.Typ.Procname.t ‑> ?⁠callee_attributes:InferIR.ProcAttributes.t ‑> ?⁠reason:string ‑> InferBase.Location.t ‑> call_result ‑> unit`

Interprocedural footprint analysis

`val remove_constant_string_class : InferIR.Tenv.t ‑> 'a InferModules.Prop.t ‑> InferModules.Prop.normal InferModules.Prop.t`

Remove constant string or class from a prop

`val check_attr_dealloc_mismatch : InferIR.PredSymb.t ‑> InferIR.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 : InferIR.Sil.strexp ‑> (int * InferIR.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 : InferIR.Tenv.t ‑> InferBase.Logging.ocaml_pos ‑> InferIR.Typ.Procname.t option ‑> InferIR.Exp.t ‑> InferIR.Exp.t ‑> InferIR.Exp.t ‑> exn`

raise a cast exception

`val prop_is_exn : InferIR.Typ.Procname.t ‑> 'a InferModules.Prop.t ‑> bool`

check if a prop is an exception

`val prop_get_exn_name : InferIR.Typ.Procname.t ‑> 'a InferModules.Prop.t ‑> InferIR.Typ.Name.t option`

when prop is an exception, return the exception name

`val lookup_custom_errors : 'a InferModules.Prop.t ‑> string option`

search in prop contains an error state

`val exe_function_call : InferModules.Exe_env.t ‑> InferModules.Summary.t ‑> InferIR.Tenv.t ‑> InferIR.Ident.t ‑> InferIR.Procdesc.t ‑> InferIR.Typ.Procname.t ‑> InferBase.Location.t ‑> (InferIR.Exp.t * InferIR.Typ.t) list ‑> InferModules.Prop.normal InferModules.Prop.t ‑> InferModules.Paths.Path.t ‑> (InferModules.Prop.normal InferModules.Prop.t * InferModules.Paths.Path.t) list`

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

`val get_specs_from_payload : InferModules.Summary.t ‑> InferModules.Prop.normal InferModules.BiabductionSummary.spec list`

Get the specs from the payload of the summary.