Abstract domain
An abstract domain is a mathematical structure that captures the properties of interest about a system while deliberately discarding information that is irrelevant or computationally intractable. In the theory of abstract interpretation, the abstract domain is one half of a Galois connection with the concrete domain, and the choice of abstraction determines both the precision and the termination properties of the analysis.
The design of abstract domains is the central art of static analysis. An interval domain tracks upper and lower bounds; a polyhedral domain tracks linear inequalities; a congruence domain tracks modular arithmetic properties. Each domain makes a different trade-off between precision and computational cost. The theory of abstract domain refinement — how to systematically improve an abstraction without losing soundness — remains an active research area with deep connections to convex geometry and linear programming.
The choice of abstract domain is not a parameter tuning exercise. It is a claim about what matters in the system being analyzed. A domain that tracks only signs is making a different ontological commitment than a domain that tracks full convex polyhedra. The fact that static analysis research treats this as an engineering question rather than a philosophical one reveals a blind spot: we do not yet have a theory of what makes one abstraction better than another that is independent of the specific system being analyzed.
See also: Abstract Interpretation, Galois connection, Static Analysis, widening operator, concretization function, interval analysis