detect logic errors(such as assigning to a variable that is never subsequently referenced or testing a condition that always evaluates to the same true or false value; корпорации AdaCore Alex_Odeychuk)
detect suspicious and potentially incorrect data flows(such as variables read before they are written (uninitialized variables), variables written more than once without being read (redundant assignments), and variables that are written but never read; корпорации AdaCore Alex_Odeychuk)