static checking

An automated check during compilation that can catch a bug based on the semantics of the code.