Module Biabduction.SymExec

Symbolic Execution

val declare_locals_and_ret : IR.Tenv.t -> IR.Procdesc.t -> Prop.normal Prop.t -> Prop.normal Prop.t

Symbolic execution of the declaration of locals and return value.

Symbolic execution of the instructions of a node, lifted to sets of propositions.

Symbolic execution of a sequence of instructions. If errors occur and mask_errors is true, just treat as skip.

Symbolic execution of the divergent pure computation.

val unknown_or_scan_call : is_scan:bool -> reason:string -> IR.Typ.t -> IR.Annot.Item.t -> Builtin.t
val check_variadic_sentinel : ?fails_on_nil:bool -> int -> (int * int) -> Builtin.t

Check for arithmetic problems and normalize an expression.

val prune : IR.Tenv.t -> positive:bool -> IR.Exp.t -> Prop.normal Prop.t -> Propset.t