package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

Dune Dependency

Authors

Maintainers

Sources

goblint-2.0.0.tbz
sha256=2f4f2e25b765452f0e336941f35f6cb396d7c213a2d347abe5d35febc5159b1f
sha512=e96af4cad91f6985c8db93c194925853e96cad0ec1a0d9f4d32bbe16d3e5fa1e305f54be02839f21ba89ad2af0c2d5d7aa819ade221ce097dc4dbd0fcd8c8500

doc/goblint.lib/Goblint_lib/SetDomain/index.html

Module Goblint_lib.SetDomain

module Pretty = GoblintCil.Pretty

Abstract domains representing sets.

exception Unsupported of string
val unsupported : string -> 'a
module type S = sig ... end

A set domain must support all the standard library set operations. They have been copied instead of included since our empty has a different signature.

module Make (Base : Printable.S) : S with type elt = Base.t and type t = BatSet.Make(Base).t

A functor for creating a simple set domain, there is no top element, and * calling top () will raise an exception

A functor for creating a path sensitive set domain, that joins the base * analysis whenever the user elements coincide. Just as above there is no top * element, and calling top () will raise an exception

module Sensitive (Base : Lattice.S) (User : Printable.S) : sig ... end
module type ToppedSetNames = sig ... end

Auxiliary signature for naming the top element

module LiftTop (S : S) (N : ToppedSetNames) : S with type elt = S.elt and type t = [ `Top | `Lifted of S.t ]
module ToppedSet (Base : Printable.S) (N : ToppedSetNames) : S with type elt = Base.t and type t = [ `Top | `Lifted of Make(Base).t ]

Functor for creating artificially topped set domains.

module HeadlessSet (Base : Printable.S) : sig ... end
module Reverse (Base : S) : sig ... end

Reverses lattice order of a set domain while keeping the set operations same.

module type FiniteSetElems = sig ... end
module FiniteSet (E : Printable.S) (Elems : FiniteSetElems with type t = E.t) : sig ... end
OCaml

Innovation. Community. Security.