Follow up, What is it exactly that causes us to need tests? To me, it sounds like, the compiler just cannot understand all code. E.g. when writing data to a pointer, the compiler does not know how much space is allocated for that pointer. Is it possible to make the compiler understand, or is that crazy work?