package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

Dune Dependency

Authors

Maintainers

Sources

goblint-2.4.0.tbz
sha256=99b78e6def71534d195eef9084baa26d8334b36084e120aa6afb300c9bf8afa6
sha512=f3162bd95a03c00358a2991f6152fc6169205bfb4c55e2c483e98cc3935673df9656d025b6f1ea0fa5f1bd0aee037d4f483966b0d2907e3fa9bf11a93a3392af

doc/goblint.domain/SetDomain/index.html

Module SetDomainSource

Set domains.

module Pretty = GoblintCil.Pretty
Sourceexception Unsupported of string
Sourceval unsupported : string -> 'a
Sourcemodule 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.

Sourcemodule type Elements = sig ... end

Subsignature of S, which is sufficient for Print.

Sourcemodule Print (E : Printable.S) (S : Elements with type elt = E.t) : sig ... end

Reusable output definitions for sets.

Sourcemodule 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

Sourcemodule type ToppedSetNames = sig ... end

Auxiliary signature for naming the top element

Sourcemodule LiftTop (S : S) (N : ToppedSetNames) : S with type elt = S.elt and type t = [ `Top | `Lifted of S.t ]
Sourcemodule 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.

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

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

Sourcemodule type FiniteSetElem = sig ... end
Sourcemodule FiniteSet (E : FiniteSetElem) : sig ... end
Sourcemodule Joined (E : Lattice.S) : S with type elt = E.t

Set abstracted by a single (joined) element.

OCaml

Innovation. Community. Security.