module L = InferBase.Loggingmodule BoUtils = BufferOverrunUtilsmodule Dom = BufferOverrunDomainmodule PO = BufferOverrunProofObligationsmodule Sem = BufferOverrunSemanticsmodule Trace = BufferOverrunTracemodule TraceSet = Trace.Settype model_env = {pname : InferIR.Typ.Procname.t; |
node_hash : int; |
location : InferBase.Location.t; |
tenv : InferIR.Tenv.t; |
ret : (InferIR.Ident.t * InferIR.Typ.t) option; |
}val mk_model_env : InferIR.Typ.Procname.t ‑> int ‑> InferBase.Location.t ‑> ?ret:(InferIR.Ident.t * InferIR.Typ.t) ‑> InferIR.Tenv.t ‑> model_envtype declare_local_fun = decl_local:BoUtils.Exec.decl_local ‑> model_env ‑> AbsLoc.Loc.t ‑> inst_num:int ‑> dimension:int ‑> Dom.Mem.astate ‑> Dom.Mem.astate * inttype declare_symbolic_fun = decl_sym_val:BoUtils.Exec.decl_sym_val ‑> model_env ‑> depth:int ‑> AbsLoc.Loc.t ‑> inst_num:int ‑> new_sym_num:Itv.Counter.t ‑> new_alloc_num:Itv.Counter.t ‑> Dom.Mem.astate ‑> Dom.Mem.astateval get_malloc_info : InferIR.Exp.t ‑> InferIR.Typ.t * InferStdlib.IStd.Int.t option * InferIR.Exp.t * InferIR.Exp.t optionval check_alloc_size : InferIR.Exp.t ‑> model_env ‑> BufferOverrunDomain.Mem.astate ‑> InferModules__BufferOverrunProofObligations.ConditionWithTrace.t InferStdlib.IStd.List.t ‑> InferModules__BufferOverrunProofObligations.ConditionWithTrace.t InferStdlib.IStd.List.tval set_uninitialized : InferBase.Location.t ‑> InferIR.Typ.t ‑> AbsLoc.PowLoc.t ‑> Dom.Mem.t ‑> Dom.Mem.tval malloc : InferIR.Exp.t ‑> modelval realloc : InferIR.Exp.t ‑> InferIR.Exp.t ‑> modelval placement_new : InferIR.Exp.t ‑> modelval inferbo_min : InferIR.Exp.t ‑> InferIR.Exp.t ‑> modelval inferbo_set_size : InferIR.Exp.t ‑> InferIR.Exp.t ‑> modelval model_by_value : InferModules__BufferOverrunDomain.Val.t ‑> (InferIR.Ident.t * 'a) option ‑> Dom.Mem.t ‑> Dom.Mem.tval by_value : InferModules__BufferOverrunDomain.Val.t ‑> modelval bottom : modelval infer_print : InferIR.Exp.t ‑> modelval get_array_length : InferIR.Exp.t ‑> modelval set_array_length : (InferIR.Exp.t * InferIR.Typ.t) ‑> InferIR.Exp.t ‑> modelmodule Split : sig ... endmodule Boost : sig ... endmodule Folly : sig ... endmodule StdArray : sig ... endmodule Call : sig ... endmodule TypName : sig ... end