Module BO.BufferOverrunDomain
module ItvThresholds : Absint.AbstractDomain.FiniteSetS with type FiniteSetS.elt = Z.tSet of integers for threshold widening
module ItvUpdatedBy : sig ... endDomain for recording which operations are used for evaluating interval values
module ModeledRange : sig ... endModeledRangerepresents how many times the interval value can be updated by modeled functions. This domain is to support the case where there are mismatches between value of a control variable and actual number of loop iterations. For example,
type eval_sym_trace={eval_sym : Bounds.Bound.eval_sym;evaluating symbol
eval_locpath : AbsLoc.PowLoc.eval_locpath;evaluating path
eval_func_ptrs : FuncPtr.Set.eval_func_ptrs;evaluating function pointers
trace_of_sym : Symb.Symbol.t -> BufferOverrunTrace.Set.t;getting traces of symbol
}type for on-demand symbol evaluation in Inferbo
module Val : sig ... endmodule KeyRhs : sig ... endRight hand side of the alias domain. See
AliasTarget.
module AliasTarget : sig ... endmodule AliasTargets : sig ... endmodule AliasRet : sig ... endAlias domain for return values of callees
module CoreVal : sig ... endCoreValis similar toVal, but its compare function is defined only on core parts, interval, pointers, and array blocks, of abstract value. This domain is to keep pruned values, where we do not need to care about the other fields in the abstract values.
module PruningExp : sig ... endDomain to keep assumed expressions
module PrunedVal : sig ... endDomain to keep pruned history, which are pairs of a pruned value and an assumed expression
module PrunePairs : sig ... endPrunePairsis a map from abstract locations to abstract values that represents pruned results in the latest pruning. It usesInvertedMapbecause more pruning means smaller abstract states.
module LatestPrune : sig ... endDomain to keep latest pruned values
module Reachability : sig ... endDomain for reachability check
module LoopHeadLoc : sig ... endmodule MemReach : sig ... endDomain for memory of reachable node
module Mem : sig ... end