Comment by tptacek

5 days ago

Do you mean something by "getting harder to find them" that is different from "they are making fewer dumb errors"?

There are definitely dumb errors that are hard for human reviewers to find because nobody expects them.

One concrete example is confusing value and pointer types in C. I've seen people try to cast a `uuid` variable into a `char` buffer to, for example, memset it, by doing `(const char *)&uuid)`. It turned out, however, that `uuid` was not a value type but rather a pointer, and so this ended up just blasting the stack because instead of taking the address of the uuid storage, it's taking the address of the pointer to the storage. If you're hundreds of lines deep and are looking for more complex functional issues, it's very easy to overlook.