Algumas ferramentas formais de métodos (como, por exemplo, o Frama-C para software C crítico incorporado) podem ser vistas como (mais ou menos) fornecer, ou pelo menos verificar, uma prova (de correção) de um determinado software. (O Frama-C verifica se um programa obedece à sua especificação formalizada, em algum sentido, e respeita os invariantes explicitamente anotados no programa).
Em alguns setores, esses métodos formais são possíveis, por exemplo, o DO-178C para software crítico em aeronaves civis. Portanto, em alguns casos, essas abordagens são possíveis e úteis.
Obviamente, desenvolver um software com menos bugs é muito caro. Mas a abordagem do método formal faz sentido para algum tipo de software. Se você é pessimista, pode pensar que o bug foi movido do código para sua especificação formal (que pode ter alguns "bugs", porque formalizar o comportamento pretendido de um software é difícil e propenso a erros).