1. A computer-implemented method of determining a finite domain approximation for a symbolic term in a symbolic state representation of a program, wherein the symbolic term comprises a symbolic sub-term, the method comprising: searching an assumption set for a domain approximation associated with the symbolic term; and if an associated domain approximation is not found in the assumption set, deriving a domain approximation for the symbolic term according to properties of the symbolic term.