Abstract interpretation
Abstract interpretation is a mathematical framework for sound program analysis that replaces concrete program states with simpler abstract states. It uses sound approximations to infer properties such as possible values, reachability, and errors.