Module SpecificAbstract

module SpecificAbstract: sig .. end
Methods which depend of the abstract domain. Foundations of the static interpretation.


Methods which depend of the abstract domain. Foundations of the static interpretation.
val lastStat : Types.generic_stat_loc Pervasives.ref
Last statement read. Is used to give an explicit error with the statement concerned.
val alpha : Types.realD -> Types.abstrD
Abstraction of a real element
Returns The abstract element which corresponds to the real one
val join : Types.abstrD -> Types.abstrD -> Types.abstrD
Joins two abstract domains
Returns The join of the two abstract domains
val meet : Types.abstrD -> Types.abstrD -> Types.abstrD
Meets two abstract domains
Returns The meet of the two abstract domains
val isInAbstractDomain : Z.t -> Types.abstrD -> bool
Return true iff n is the abstract domain p. The concretization function appears here.
Returns Is the number in the abstract domain
val faexpUna : Types.arithOpArithUna -> Types.abstrD -> Types.abstrD
Forward abstract semantics of arithmetic unary operators
Returns The abstract domain after the application of the operator on the abstract domain provided
val faexpBin : Types.abstrD -> Types.arithOpArithBin -> Types.abstrD -> Types.abstrD
Forward abstract semantics of arithmetic binary operators
Returns The abstract domain after the application of the operator on the two operands
val abexpArithBin : Types.abstrD ->
Types.boolOpArithBin -> Types.abstrD -> Types.abstrD * Types.abstrD
Specific abstract interpretation of binary boolean operators with arithmetics operands
Returns The pair made of the abstract domain of both operand which respect the property, which is this boolean expression, or an over-approximation of that
val baexpUna : Types.arithOpArithUna -> Types.abstrD -> Types.abstrD -> Types.abstrD
Backward abstract semantics of arithmetic unary operators
Returns The abstract domain of the operand which satisfied the fact that op a is in p or an over-approximation of it
val baexpBin : Types.abstrD ->
Types.arithOpArithBin ->
Types.abstrD -> Types.abstrD -> Types.abstrD * Types.abstrD
Backward abstract semantics of arithmetic binary operators
Returns The pair made of the abstract domain for both operands which satistfied the fact that a1 op a2 is in p or an over-approximation of it
val widening : Types.abstrD -> Types.abstrD -> Types.abstrD
The widening function which ensure termination of lfp
Returns The abstract domain which is the application of the widening on the abstract domains provided