module Abstractions: sig
.. end
Constructions of the abstractions used by EVA.
type
config = {
|
cvalue : bool ; |
|
equalities : bool ; |
|
symbolic_locs : bool ; |
|
bitwise : bool ; |
|
gauges : bool ; |
|
apron_oct : bool ; |
|
apron_box : bool ; |
|
polka_loose : bool ; |
|
polka_strict : bool ; |
|
polka_equalities : bool ; |
}
Configuration of the abstract domain.
val default_config : config
Default configuration of EVA.
val legacy_config : config
Legacy configuration of EVA, with only the cvalue domain enabled.
May be the default config as well.
val configure : unit -> config
Build a configuration according to the analysis parameters.
module type Value = sig
.. end
module type S = sig
.. end
Types of the abstractions of the analysis: value, location and state
abstractions.
module type Standard_abstraction = Abstract_domain.Internal
with type value = Cvalue.V.t
and type location = Precise_locs.precise_location
Type of abstractions that use the builtin types for values and locations
val register_dynamic_abstraction : (module Abstractions.Standard_abstraction) -> unit
val make : config -> (module Abstractions.S)
Builds the abstractions according to a configuration.
Two abstractions are instantiated at compile time: default and legacy
(which may be the same).
module Legacy: S
module Default: S