package mopsa

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

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.