A variety of numeric domains have been developed, with different
performance/precision
tradeoffs [1]}, [2]}, [3]}, [4]}.
In our experiments, we use one of two standard numeric domains:
intervals (INT) and convex polyhedra
(POL).
Intervals [1]} describe sets of numeric states
using inequalities of the form \(p~\texttt {relop}~n\)  where \(p\)  is a path,
\(n\)  is a constant integer,Our current implementation
supports all non-floating point numeric Java values (approximated by
integers), though similar analyses can support floating point
numbers and fixed width integers and
floats [6]}, [7]}.
and \(\mathit {relop}\)  is a relational operator such as \(\le \) .
Convex polyhedra [2]} describe sets of
numeric states using linear relationships between dimensions and
constants, e.g., of the form \(3p_1 - p_2 \le 5\) .
Intervals are less precise but more efficient than polyhedra.
