Doesn’t a compiler do that?
Compilers perform similar functions but they can not: • find all places where array indices could be out of bounds • identify an error-prone reliance on default zeroing of numeric data • find all places where a null pointer might be dereferenced • check assert statements • identify unsafe concurrent access Top