Resumo: O cientista da computação Bertrand Meyer publicou na Communications of the ACM de junho de 2026 um ensaio que vem agitando o debate sobre IA na programação. Para ele, copilotos como GPT, Claude e Gemini entregam código “provável” — funciona na maioria dos casos, falha nos que importam. A saída seria casar IA generativa com verificação formal, transformando o engenheiro em alguém que escreve especificações, não código. Esta matéria explica a proposta, o método em três passos e o que isso significa para quem usa IA para programar no Brasil.
Hoje qualquer time de desenvolvimento usa IA para escrever código. GitHub Copilot, Claude Code, Cursor, Gemini Code Assist — a lista é longa, e os ganhos de produtividade são reais. O problema começa quando esse código vai para produção em sistemas críticos: bancos, hospitais, infraestrutura, governo. Aí a pergunta deixa de ser “compila?” e passa a ser “tenho certeza de que não vai falhar em nenhuma das infinitas combinações possíveis de entrada?”.
O argumento de Meyer é direto: modelos estatísticos, por construção, entregam respostas prováveis. Eles aprendem padrões em bilhões de linhas de código e devolvem o que parece mais provável dado o contexto. Em 95% dos casos, isso é ótimo. Em 5%, o código compila, passa nos testes e ainda assim contém um bug sutil que vai aparecer no pior momento — o famoso bug de produção. Para software crítico, “provável” não é suficiente; é preciso “provável demonstrável”, ou seja, provado.
Meyer destaca dois entraves estruturais. O primeiro é a dificuldade de especificar o objetivo. Prompt engineering, ele observa, nada mais é do que engenharia de requisitos com outro nome — e engenharia de requisitos sempre foi a parte mais difícil da disciplina. Pedir “faça uma função que ordene a lista” parece simples, mas existem dezenas de decisões implícitas: ordenação estável? Em que critério? Tolerância a duplicatas? Performance esperada? Quando o desenvolvedor não explicita tudo isso, o modelo “preenche as lacunas” do jeito mais comum nos dados de treino, que pode não ser o que o sistema precisa.
O segundo obstáculo é a alucinação. Em texto, alucinação é chato. Em código, é catastrófico: o modelo inventa uma função que não existe, chama uma API com assinatura errada, ou — pior — produz uma lógica que parece correta mas viola uma propriedade silenciosa do sistema. Meyer chama isso de hallucination loop: o programador pede um conserto, a IA gera um patch que esconde o bug em outro lugar, e o ciclo continua.
A receita é simples de descrever e difícil de executar: combinar a criatividade da IA com o rigor da verificação formal. Em três passos:
O ponto sutil é que o trabalho do engenheiro muda de natureza: ele deixa de escrever código e passa a escrever especificações. Isso é mais difícil do que parece, mas é a única forma conhecida de obter garantias reais.
Para times brasileiros, especialmente em fintechs, healthtechs, sistemas de governo e infraestrutura crítica, a discussão é prática. Bancos brasileiros já estão entre os maiores usuários corporativos de copilotos no mundo, e a regulação prudencial (Bacen, CVM) é cada vez mais exigente quanto a auditabilidade de software automatizado. Combinar IA com métodos formais é uma forma de continuar capturando o ganho de produtividade da IA sem abrir mão de rastreabilidade.
O ecossistema brasileiro tem grupos fortes em verificação formal — UFMG, USP, UFRN, UNICAMP — e ferramentas como o ESBMC, desenvolvido com participação de pesquisadores brasileiros, já são padrão internacional. Há uma janela real para que empresas locais combinem expertise em métodos formais com adoção massiva de IA, posicionando-se como fornecedores de software crítico verificado para mercados regulados.
O caminho não é trivial. Primeiro, escrever especificações formais corretas é tão difícil quanto escrever código correto — e exige conhecimento que poucos times têm. Segundo, verificação formal escala mal: provar propriedades de sistemas grandes pode ser computacionalmente proibitivo. Terceiro, há propriedades importantes (usabilidade, comportamento sob carga, conformidade com leis em evolução) que não cabem em uma especificação formal. Por fim, métodos formais não eliminam o risco humano: se a especificação está errada, o código vai estar provavelmente errado de forma demonstrável — o que é pior do que parece.
A leitura mais provável é uma adoção em camadas. Para a maioria do código (CRUD, UIs, scripts internos), copilotos puros vão continuar dominando — o custo de formalizar não compensa. Para módulos críticos (criptografia, parsers de protocolos, motores de regras financeiras, código embarcado em saúde), o pipeline IA + verificação formal vai virar padrão nos próximos cinco anos. Já existem provas de conceito em compiladores, kernels e bibliotecas criptográficas que mostram que isso funciona; falta industrializar.
Se você é desenvolvedor brasileiro, vale começar a se familiarizar com pelo menos uma ferramenta de verificação formal (Dafny, Frama-C, Why3, ou Coq/Lean para quem quer ir fundo) e treinar o reflexo de pedir à IA não só o código, mas também o invariante que ele deve satisfazer. Se você é gestor de produto em setores regulados, vale auditar quais módulos do seu sistema justificariam o custo extra dessa abordagem. A ideia central de Meyer é mais importante do que qualquer ferramenta específica: o engenheiro do futuro será avaliado pela qualidade das especificações que escreve, não pela quantidade de linhas de código que produz.
Fonte original: Artificial Intelligence for Software Engineering: From Probable to Provable — Communications of the ACM, junho de 2026.
CVE-2026-50548 e CVE-2026-50549 (CVSS 9.8), batizadas de DuneSlide pela Cato Networks, permitem sair do sandbox…
Relatorios da Check Point e da Sophos mostram que o Qilin absorveu afiliados orfaos das…
Cluster suspeito de vinculo chines usa iscas do Imposto de Renda indiano para entregar DcRAT…
Gigante de dispositivos médicos notifica pacientes após grupo de extorsão ShinyHunters acessar sistemas corporativos e…
Max Schrems planeja contestar o Data Privacy Framework após corte permitir que presidentes demitam membros…
Grupo ligado ao Contagious Interview publicou 108 pacotes e extensões em npm, Packagist, Go e…