package goblint
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ca24f72fa9a87d288affe97c411753f14b7802bab4ca3649b337276b89bf5674
sha512=394b3521ccda0da91540cebb2f433f7525763060be4bbe179edd3b952a3580a8e173c4e410fc6895dc67fe6d17e6699aeddfed600f4692858bec093dd912bf1e
doc/goblint.lib/Goblint_lib/AddressDomain/AddressSet/index.html
Module AddressDomain.AddressSet
Address set lattice.
Parameters
module Mval : Mval.Lattice
module ID : IntDomain.Z
Signature
module Addr : sig ... end
include SetDomain.S with type elt = Addr.t
include Lattice.S
include Lattice.PO
include Printable.S
val hash : t -> int
val show : t -> string
val pretty : unit -> t -> Goblint_lib__.Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
Unique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitrary
widen x y
assumes leq x y
. Solvers guarantee this by calling widen old (join old new)
.
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool
type elt = Addr.t
val empty : unit -> t
val is_empty : t -> bool
See Set.S.remove
.
NB! On set abstractions this is a strong removal, i.e. all subsumed elements are also removed.
See Set.S.diff
.
NB! On set abstractions this is a strong removal, i.e. all subsumed elements are also removed.
See Set.S.iter
.
On set abstractions this iterates only over canonical elements, not all subsumed elements.
See Set.S.map
.
On set abstractions this maps only canonical elements, not all subsumed elements.
See Set.S.fold
.
On set abstractions this folds only over canonical elements, not all subsumed elements.
See Set.S.for_all
.
On set abstractions this checks only canonical elements, not all subsumed elements.
See Set.S.exists
.
On set abstractions this checks only canonical elements, not all subsumed elements.
See Set.S.filter
.
On set abstractions this filters only canonical elements, not all subsumed elements.
See Set.S.partition
.
On set abstractions this partitions only canonical elements, not all subsumed elements.
val cardinal : t -> int
See Set.S.cardinal
.
On set abstractions this counts only canonical elements, not all subsumed elements.
See Set.S.elements
.
On set abstractions this lists only canonical elements, not all subsumed elements.
See Set.S.min_elt
.
On set abstractions this chooses only a canonical element, not any subsumed element.
See Set.S.max_elt
.
On set abstractions this chooses only a canonical element, not any subsumed element.
val null_ptr : t
Address set containing only the NULL
pointer.
val unknown_ptr : t
Address set containing the unknown pointer, which is non-NULL
.
val not_null : t
Address set containing the unknown pointer, which is non-NULL
.
val top_ptr : t
Address set containing any pointer, NULL
or not.
val is_null : t -> bool
Whether address set contains only the NULL
pointer.
val is_not_null : t -> bool
Whether address set does not contain the NULL
pointer.
val may_be_null : t -> bool
Whether address set contains the NULL
pointer.
val may_be_unknown : t -> bool
Whether address set contains the unknown pointer.
val is_definite : t -> bool
Whether address set is a single NULL
pointer or mvalue that has only definite integer indexing (and fields).
val of_var : GoblintCil.varinfo -> t
Convert from variable (without offset).
val to_var_may : t -> GoblintCil.varinfo list
Convert to variables with any offset.
val to_var_must : t -> GoblintCil.varinfo list
Convert to variables without offset.
val to_bool : t -> bool option
Convert to boolean if possible.
val type_of : t -> GoblintCil.typ
Type of address set.
val of_string : string -> t
Convert from string literal.
val to_string : t -> string list
Convert to string literals.
val string_writing_defined : t -> bool