module Bddapron:Finite \& numerical expressions/properties on top of CUDD \& APRONsig
..end
Expressions and abstract domains combining finite-type and numerical types.
Bddapron.Env
: environment defining finite-type variables and user-defined
enumerated types, and mapping them to BDDs indices;Bddapron.Cond
: environment defining numerical conditions, and mapping them to
BDDs indices;Bddapron.Expr0
: general finite-type and numerical expressions;Bddapron.Domain0
: abstract domains combining Cudd
BDDs and Apron
numerical
abstract domains; two implemented combinations: Bddapron.Bdddomain0
, Bddapron.Mtbdddomain0
;Bddapron.Expr1
, Bddapron.Domain1
, Bddapron.Bdddomain1
, Bddapron.Mtbdddomain1
: incorporate normalized environments;Bddapron.Expr2
: incorporates in addition normalized condition environmentBddapron.Syntax
: Abstract Syntax Tree for expressionsBddapron.Parser
: converting strings to expressions Bddapron
extends Bdd
(manipulation of finite-type formula using BDDs)
and Apron
(numerical abstract domain library). It enables formula of
numerical type, and it allows decisions on numerical constraints in formula.
It can be seen as an extension of the
APRON abstract domain for dealing with
Boolean and finite-type variables, in addition to numerical variables.
Module
Apronexpr
: Purely arithmetic expressions (internal)
module Apronexpr:sig
..end
Env
: Normalized variable managers/environmentsmodule Env:sig
..end
Cond
: Normalized condition environmentsmodule Cond:sig
..end
ApronexprDD
: DDs on top of arithmetic expressions (internal)module ApronexprDD:sig
..end
Common
: Functions common to the two implementations of Combined Boolean/Numerical domainmodule Common:sig
..end
ApronDD
: DDs on top of Apron abstract values (internal)module ApronDD:sig
..end
Expr0
: Finite-type and arithmetical expressionsmodule Expr0:sig
..end
Expr1
: Finite-type and arithmetical expressions with normalized environmentsmodule Expr1:sig
..end
Expr2
: Finite-type and arithmetical expressions with variable and condition environmentsmodule Expr2:sig
..end
Descend
: Recursive descend on sets of diagrams (internal)module Descend:sig
..end
Mtbdddomain0
: Boolean/Numerical domain, with MTBDDs over APRON valuesmodule Mtbdddomain0:sig
..end
Bddleaf
: Manipulation of lists of guards and leafs (internal)module Bddleaf:sig
..end
Bdddomain0
: Combined Boolean/Numerical domain, with lists of BDDs and APRON valuesmodule Bdddomain0:sig
..end
Domain0
: Boolean/Numerical domain: generic interfacemodule Domain0:sig
..end
Domainlevel1
: Functor to transform an abstract domain interface from level 0 to level 1 (internal)module Domainlevel1:sig
..end
Mtbdddomain1
: Boolean/Numerical domain with normalized environmentmodule Mtbdddomain1:sig
..end
Bdddomain1
: Boolean/Numerical domain with normalized environmentmodule Bdddomain1:sig
..end
Domain1
: Boolean/Numerical domain with normalized environmentmodule Domain1:sig
..end
Formula
: Extra-operations on formulamodule Formula:sig
..end
Policy
: Policies for BDDAPRON abstract valuesmodule Policy:sig
..end
Syntax
: Building BDDAPRON expressions from Abstract Syntax Treesmodule Syntax:sig
..end
Yacc
module Yacc:sig
..end
Lex
module Lex:sig
..end
Parser
: Parsing BDDAPRON expressions from strings (or lexing buffers)module Parser:sig
..end