You can read about how NASA writes their code, I remember reading an article about it, which includes some great tips with how to avoid these kind of bugs. And I think also as other commenter said, new languages like Rust really help with avoiding bugs like that.