AbstractInterpretation is a method of extracting useful information about a program by reducing all possible values of the variables to only a few (those presumably of interest). http://en.wikipedia.org/wiki/Abstract_interpretation See also TypeSystem