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.0.tar.gz
md5=9f673f79708b44a7effb3b6bb3618d2c
sha512=cb91cb428e43a22f1abbcb8219710d0c10a5b3756d0da392d4084b3b3a6157350776c596983e63def344f617d39964e91f244f60c07958695ee5c8c809a9f0f4

doc/abstraction/Abstraction/Simplified/index.html

Module Abstraction.SimplifiedSource

Simplified domains

The signature SIMPLIFIED provides a minimal interface to implement abstract domains that don't require communication with other domains. This is particularly useful for abstractions that are at the leaves of the abstraction DAG.

Lattice operations and transfer functions operate on the abstract element of the domain without being able to access to the top-level abstraction. The manager is therefore not accessible, only a simplified version is provided that can be used to perform queries on the pre-state.

Simplified manager

Sourcetype ('a, 't) simplified_man = {
  1. exec : Core.All.stmt -> 't;
    (*

    execute a statement on the pre-state

    *)
  2. ask : 'r. ('a, 'r) Core.All.query -> 'r;
    (*

    ask a query on the pre-state

    *)
}

Simplified managers provide access to the pre-state and can be used to perform queries or execute statements.

Signature

Sourcemodule type SIMPLIFIED = sig ... end

Registration

Sourceval register_simplified_domain : (module SIMPLIFIED) -> unit

Register a new simplified domain

Sourceval find_simplified_domain : string -> (module SIMPLIFIED)

Find a simplified domain by its name. Raise Not_found if no domain is found

Sourceval mem_simplified_domain : string -> bool

mem_simplified_domain name checks whether a simplified domain with name name is registered

Sourceval simplified_domain_names : unit -> string list

Return the names of registered simplified domains

OCaml

Innovation. Community. Security.