package mopsa

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mopsa-analyzer-v1.2.tar.gz
md5=37966e98ffeebcedc09bd6e9b2b81f69
sha512=40d4d826c25f680766c07eccbabdf5e8a4fa023016e8a164e4e4f6b3781c8484dc4df437055721dfd19b9db8fb7fe3b61236c4833186d346fc7204a68d01eaaa

doc/mopsa.mopsa_analyzer/Mopsa_analyzer/Framework/Sig/Reduction/Simplified/index.html

Module Reduction.Simplified

Reduction rules for reduced products of simplified domains

When a reduced product contains only domains with the simplified signature, reductions rules operate on the product of abstract environments instead of flows.

This simplifies the formulation of reductions and gives direct access to the non-relational abstraction (if any).

Reduction manager

type ('a, 'b) simplified_reduction_man = {
  1. get_env : 't. 't Core.All.id -> 'b -> 't;
    (*

    Get the environment of some domain

    *)
  2. set_env : 't. 't Core.All.id -> 't -> 'b -> 'b;
    (*

    Set the environment of some domain

    *)
  3. get_value : 't. 't Core.All.id -> Core.All.var -> 'b -> 't;
    (*

    Get the value of a variable in some value abstraction

    *)
  4. set_value : 't. 't Core.All.id -> Core.All.var -> 't -> 'b -> 'b;
    (*

    Set the value of a variable in some value abstraction

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

    Perform a query

    *)
}

Manager used by simplified reduction rules

Signature

module type SIMPLIFIED_REDUCTION = sig ... end

Registration

val register_simplified_reduction : (module SIMPLIFIED_REDUCTION) -> unit

Register a new simplified reduction

val find_simplified_reduction : string -> (module SIMPLIFIED_REDUCTION)

Find an simplified reduction by its name

val simplified_reductions : unit -> string list

List all simplified reductions

OCaml

Innovation. Community. Security.