Module Infos

module Infos: sig .. end
Abstract representation of configuration data for static analyses

type instruction_kinds = Dba.instruction list 
type widening_delay = int 
module BoundThreshold: sig .. end
module WideningThreshold: sig .. end
val default_global_widening_thresholds : WideningThreshold.t
val default_global_widening_delay : int
type t = private {
   entry_points : Dba_types.Virtual_address.Set.t;
   jumps : Dba.addresses Dba_types.Caddress.Map.t;
   allowed_jumpzones : (Dba.address * Dba.address) list;
   stops : Dba_types.Caddress.Set.t;
   prepend_stubs : instruction_kinds Dba_types.Caddress.Map.t;
   substitute_stubs : Dba_types.instruction_sequence Dba_types.Caddress.Map.t;
   linear_addresses : (Dba_types.Virtual_address.t * Dba_types.Virtual_address.t) list;
   global_widening : WideningThreshold.t * widening_delay;
   local_widening_thresholds : WideningThreshold.t Dba_types.Caddress.Map.t;
   local_widening_delays : widening_delay Dba_types.Caddress.Map.t;
}

Configuration definition


val default : t

Constructors and modificators


val set_entry_points : Dba_types.Virtual_address.Set.t -> t -> t
val has_entry_points : t -> bool
val set_jumps : Dba.addresses Dba_types.Caddress.Map.t -> t -> t
val set_stops : Dba_types.Caddress.Set.t -> t -> t
val set_prepend_stubs : instruction_kinds Dba_types.Caddress.Map.t -> t -> t
val set_substitute_stubs : Dba_types.instruction_sequence Dba_types.Caddress.Map.t -> t -> t
val set_allowed_jumpzones : (Dba.address * Dba.address) list -> t -> t
val set_linear_addresses : (Dba.address * Dba.address) list -> t -> t
val set_global_widening_delay : widening_delay -> t -> t
val set_global_widening_thresholds : WideningThreshold.t -> t -> t