package codex

  1. Overview
  2. Docs
The Codex library for building static analysers based on abstract interpretation

Install

dune-project
 Dependency

Authors

Maintainers

Sources

1.0-rc4.tar.gz
md5=bc7266a140c6886add673ede90e335d3
sha512=8da42c0ff2c1098c5f9cb2b5b43b306faf7ac93b8f5ae00c176918cee761f249ff45b29309f31a05bbcf6312304f86a0d5a000eb3f1094d3d3c2b9b4c7f5c386

doc/codex.operator/Operator/Concrete/index.html

Module Operator.ConcreteSource

Concrete interpreter using OCaml boolean and Z.t for values.

The interpreter values can be:

  • {true, false, empty} for booleans;
  • any Z.t or empty for integers;
  • the set of bitvectors (represented by Z.t + empty). Empty is not an error, just a special value representing the absence of value.

But, considering that whenever an argument is empty, the result is empty, we can build an interpreter by focusing on the non-empty values, and just return an exception for the (infrequent) empty cases.

Sourceexception Empty
Sourcemodule In_bits = Units.In_bits
Sourcemodule Types : sig ... end
Sourcemodule Boolean_Interp : sig ... end
Sourcemodule Bitvector_Interp : sig ... end