Static code analysis is a set of methods for analyzing software source code or object code in an effort to gain understanding of what the software does and establish certain correctness criteria. Schematically, there are several types of static analysis (which may be used in combination, even inside the same programming tool): - tools such as lint essentially look for constructs that "look dangerous" from an informal point of view; - formal methods consider the mathematical definition of the behaviors of programs, known as their semantics. Taken from Wikipedia.