package cbat-vsa

  1. Overview
  2. Docs

This module implements Circular Linear Progressions in the style of 1 "Executable Analysis using Abstract Interpretation with Circular Linear Progressions" (http://www.csa.iisc.ernet.in/~cplse/papers/srikant-memocode-2007.pdf). The poset of CLPs is a superset of the poset of strided intervals that more precicely handles overflow and underflow.

type t
include sig ... end
include sig ... end
include Cbat_wordset_intf.S with type t := t
val __bin_read_t__ : (int -> t) Core_kernel.Std.Bin_prot.Read.reader
val compare : t -> t -> int
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val pp : Format.formatter -> t -> unit
type idx = int
val get_idx : t -> idx
val top : idx -> t
val bottom : idx -> t
val meet : t -> t -> t
val join : t -> t -> t
val widen_join : t -> t -> t
val precedes : t -> t -> bool
val of_list : width:int -> Bap.Std.word list -> t
val singleton : Bap.Std.word -> t
val bitwidth : t -> int
val cardinality : t -> Bap.Std.word
val min_elem : t -> Bap.Std.word option
val max_elem : t -> Bap.Std.word option
val min_elem_signed : t -> Bap.Std.word option
val max_elem_signed : t -> Bap.Std.word option
val splits_by : t -> Bap.Std.word -> bool
val elem : Bap.Std.word -> t -> bool
val iter : t -> Bap.Std.word list
val equal : t -> t -> bool
val overlap : t -> t -> bool
val union : t -> t -> t
val intersection : t -> t -> t
val add : t -> t -> t
val sub : t -> t -> t
val mul : t -> t -> t
val div : t -> t -> t
val sdiv : t -> t -> t
val modulo : t -> t -> t
val smodulo : t -> t -> t
val arshift : t -> t -> t
val rshift : t -> t -> t
val lshift : t -> t -> t
val logand : t -> t -> t
val logor : t -> t -> t
val logxor : t -> t -> t
val lnot : t -> t
val neg : t -> t
val extract : ?hi:int -> ?lo:int -> t -> t
val cast : Bap.Std.Bil.cast -> int -> t -> t
val concat : t -> t -> t
val create : ?width:int -> ?step:Bap.Std.word -> ?cardn:Bap.Std.word -> Bap.Std.word -> t
val nearest_pred : Bap.Std.word -> t -> Bap.Std.word option
val nearest_succ : Bap.Std.word -> t -> Bap.Std.word option
val is_top : t -> bool
val is_bottom : t -> bool
val subset : t -> t -> bool
val spp : t -> string
OCaml

Innovation. Community. Security.