Module Goblint_lib.MCPRegistry

Registry of dynamically activatable analyses. Analysis specification modules for the dynamic product.

type spec_modules = {
  1. name : string;
  2. dep : string list;
  3. spec : (module Analyses.MCPSpec);
  4. dom : (module Lattice.S);
  5. glob : (module Lattice.S);
  6. cont : (module Printable.S);
  7. var : (module Analyses.SpecSysVar);
  8. acc : (module Analyses.MCPA);
  9. path : (module DisjointDomain.Representative);
}
val activated : (int * spec_modules) list Batteries.ref
val activated_ctx_sens : (int * spec_modules) list Batteries.ref
val activated_path_sens : (int * spec_modules) list Batteries.ref
val registered : (int, spec_modules) Batteries.Hashtbl.t
val registered_name : (string, int) Batteries.Hashtbl.t
val register_analysis : ?dep:string list -> (module Analyses.MCPSpec) -> unit
val find_spec : int -> spec_modules
val find_spec_name : int -> string
val find_id : string -> int
module type DomainListPrintableSpec = sig ... end
module type DomainListRepresentativeSpec = sig ... end
module type DomainListSysVarSpec = sig ... end
module type DomainListMCPASpec = sig ... end
module type DomainListLatticeSpec = sig ... end
module DomListPrintable (DLSpec : DomainListPrintableSpec) : Printable.S with type t = (int * Stdlib.Obj.t) list
module DomVariantPrintable (DLSpec : DomainListPrintableSpec) : Printable.S with type t = int * Stdlib.Obj.t
module DomVariantSysVar (DLSpec : DomainListSysVarSpec) : Analyses.SpecSysVar with type t = int * Stdlib.Obj.t
module DomListRepresentative (DLSpec : DomainListRepresentativeSpec) : DisjointDomain.Representative with type t = (int * Stdlib.Obj.t) list and type elt = (int * Stdlib.Obj.t) list
module DomListLattice (DLSpec : DomainListLatticeSpec) : Lattice.S with type t = (int * Stdlib.Obj.t) list
module DomVariantLattice0 (DLSpec : DomainListLatticeSpec) : Lattice.S with type t = int * Stdlib.Obj.t