S.State
module EvalPred :
Binsec_codex_lib.Codex.Type_domain.EvalPred.Sig with module Domain := Domain
type t = {
ctx : Domain.Context.t;
vars : Domain.binary Binsec_codex_lib.Dba2Codex.VarMap.t;
memory : Domain.memory;
instruction_count : int;
is_bottom : bool;
never_went_to_user_code : bool;
}
val initial :
(Binsec.Loader_elf.Img.t, 'a, 'b, 'c) Binsec.Loader.t_pack ->
Domain.Context.t ->
t
val initial_concrete :
(Binsec.Loader_elf.Img.t, 'a, 'b, 'c) Binsec.Loader.t_pack ->
Domain.Context.t ->
t
val reset :
(Binsec.Loader_elf.Img.t, 'a, 'b, 'c) Binsec.Loader.t_pack ->
Domain.Context.t ->
t
val get : size:int -> t -> string -> Domain.binary
val set : t -> string -> Domain.binary -> t
val assume : Domain.boolean -> t -> t
val bottom : Domain.Context.t -> t
val dump_state : Stdlib.Format.formatter -> t -> unit
val serialize :
t ->
t ->
'a Domain.Context.in_acc ->
(t, 'a) Domain.Context.result
Serialize a state's variables and memory into a tuple. to_tuple ctx
state
returns the result of serialization, along with an inversion function, to turn a tuple back into a state. This function takes the original state and a tuple as arguments, and update the state's vars
and memory
fields with the tuple's contents.