I'm reading some takes in the comments that I'm not so sure about. We seem to be taking for granted that we can fix all the bugs and security problems of our software, and then everything will be fine. But is that really the case? Do we know if it is even possible for a non trivial software to be fully secure? Or will there always exist a way to break it, no matter how much we fix it?
Formal verification (https://en.wikipedia.org/wiki/Formal_verification) can be used to prove the correctness of computer software, and eventually most critical software will slowly move towards being formally verified. That however means that we need to get better at creating the specs for how software _should_ operate, so we can actually test that.