package mopsa

  1. Overview
  2. Docs
MOPSA: A Modular and Open Platform for Static Analysis using Abstract Interpretation

Install

Dune Dependency

Authors

Maintainers

Sources

mopsa-analyzer-v1.1.tar.gz
md5=fdee20e988343751de440b4f6b67c0f4
sha512=f5cbf1328785d3f5ce40155dada2d95e5de5cce4f084ea30cfb04d1ab10cc9403a26cfb3fa55d0f9da72244482130fdb89c286a9aed0d640bba46b7c00e09500

doc/ast/Ast/Addr/index.html

Module Ast.AddrSource

Heap addresses

Sourcetype addr_kind = ..

Kind of heap addresses, used to store extra information.

Sourceval addr_kind_compare_chain : (addr_kind -> addr_kind -> int) Stdlib.ref
Sourceval addr_kind_pp_chain : (Stdlib.Format.formatter -> addr_kind -> unit) Stdlib.ref
Sourceval pp_addr_kind : Stdlib.Format.formatter -> addr_kind -> unit
Sourceval compare_addr_kind : addr_kind -> addr_kind -> int
Sourceval register_addr_kind : addr_kind Mopsa_utils.TypeExt.info -> unit
Sourcetype addr_partitioning = ..

Addresses are grouped by static criteria to make them finite

Sourcetype addr_partitioning +=
  1. | G_all
    (*

    Group all addresses into one

    *)
Sourceval addr_partitioning_compare_chain : (addr_partitioning -> addr_partitioning -> int) Stdlib.ref
Sourceval addr_partitioning_pp_chain : (Stdlib.Format.formatter -> addr_partitioning -> unit) Stdlib.ref
Sourceval opt_hash_addr : bool Stdlib.ref

Command line option to use hashes as address format

Sourceval pp_addr_partitioning_hash : Stdlib.Format.formatter -> addr_partitioning -> unit
Sourceval pp_addr_partitioning : ?full:bool -> Stdlib.Format.formatter -> addr_partitioning -> unit

Print a partitioning policy. Flag full overloads the option opt_hash_addr and displays the full partitioning string (not its hash, which is useful for creating unique names of addresses)

Sourceval pp_addr_partitioning_full : Stdlib.Format.formatter -> addr_partitioning -> unit
Sourceval compare_addr_partitioning : addr_partitioning -> addr_partitioning -> int
Sourceval register_addr_partitioning : addr_partitioning Mopsa_utils.TypeExt.info -> unit
Sourcetype addr = {
  1. addr_kind : addr_kind;
    (*

    Kind of the address.

    *)
  2. addr_partitioning : addr_partitioning;
    (*

    Partitioning policy of the address

    *)
  3. addr_mode : Var.mode;
    (*

    Assignment mode of address (string or weak)

    *)
}

Heap addresses.

Sourceval akind : addr -> addr_kind
Sourceval pp_addr : Stdlib.Format.formatter -> addr -> unit
Sourceval addr_uniq_name : addr -> string

Get the unique name of an address. This is safer and faster than calling Format.asprintf "%s" pp_addr a when opt_hash_addr is set.

Sourceval compare_addr : addr -> addr -> int
Sourceval addr_mode : addr -> Var.mode option -> Var.mode
Sourcetype Var.var_kind +=
  1. | V_addr_attr of addr * string

Address variables

Sourceval mk_addr_attr : addr -> string -> Typ.typ -> Var.var
OCaml

Innovation. Community. Security.