O COBOL continua escondido em bancos, companhias aéreas, governos e sistemas de pagamentos. Criada em 1959, a linguagem foi pensada para processar grandes volumes de dados empresariais e acabou se tornando uma das fundações menos visíveis da economia digital. Agora, avanços recentes em modelos de inteligência artificial reabriram uma pergunta difícil: a IA pode ajudar a migrar esse código para linguagens modernas sem quebrar os serviços que dependem dele?
Uma reportagem do The Verge mostra que a resposta ainda é não, pelo menos não de forma automática. A OpenAI apresentou resultados melhores na conversão de COBOL para C++, Java, Kotlin, Python e Rust, enquanto a Anthropic promove ferramentas de modernização com Claude Code. Esses avanços são úteis, mas converter trechos de código é uma tarefa diferente de substituir um sistema legado inteiro.
Por que o COBOL ainda importa
O COBOL é antigo, mas não está restrito a computadores de museu. Ele continua associado a sistemas que foram construídos para operar com previsibilidade, grande volume de transações e regras de negócio muito específicas. Segundo números citados pelo The Verge a partir da IBM, a linguagem está na base de mais de 40% dos sistemas bancários on-line, participa de 80% das transações presenciais com cartão e aparece em 95% das transações em caixas eletrônicos.
Essas porcentagens ajudam a explicar por que a migração é sensível. Uma falha em um aplicativo novo pode ser corrigida com uma atualização. Uma diferença mínima no cálculo de juros, no processamento de uma folha de pagamento ou na autorização de uma transação pode gerar efeitos financeiros e regulatórios em escala nacional.
O problema também é humano. Muitos profissionais que conhecem profundamente esses sistemas se aposentaram, e a documentação disponível pode estar incompleta. Em vários casos, o comportamento do programa não está concentrado em um único arquivo. Ele depende de bases de dados, rotinas em diferentes linguagens, formatos antigos e integrações com sistemas externos.
O que a IA consegue fazer hoje
A IA é boa em tarefas que podem ser descritas com contexto suficiente e verificadas por testes. Um modelo pode explicar uma rotina COBOL, traduzir sintaxe para Python ou Java, sugerir uma estrutura equivalente e gerar documentação para funções que ninguém havia descrito direito. Isso reduz o tempo gasto em leitura inicial e ajuda equipes modernas a compreenderem uma base de código desconhecida.
A OpenAI relatou que o GPT-6.1 Sol atingiu 87% de preservação de comportamento com baixo esforço de raciocínio e 98% com esforço maior em seus próprios testes. Preservação de comportamento significa que o programa convertido produz resultados equivalentes aos do original em um conjunto de casos. O indicador é promissor, mas depende da qualidade dos testes e do tamanho do problema analisado.
Uma tradução correta em um módulo isolado não prova que a organização pode desligar o sistema COBOL. O modelo pode não enxergar regras que estão em procedimentos externos, configurações de produção ou hábitos operacionais dos funcionários. Também pode produzir código moderno que compila, passa por testes simples e falha quando recebe um caso raro, mas importante.
Reescrever código não é substituir um sistema
Essa distinção é o centro da discussão. Reescrever significa produzir uma implementação nova que tenta manter o comportamento de uma parte do software. Substituir um sistema exige garantir continuidade de dados, desempenho, segurança, auditoria, permissões, integrações e procedimentos de emergência. Uma instituição financeira não pode avaliar apenas se a nova aplicação devolve a mesma resposta em um teste de laboratório.
O caminho mais seguro tende a ser incremental. A equipe pode começar por um módulo de leitura, construir testes de equivalência e executar o programa antigo e o novo ao mesmo tempo. Essa técnica, conhecida como comparação em paralelo, permite observar divergências antes que o novo código assuma uma operação crítica. Só depois a organização pode migrar a próxima unidade.
Também é necessário mapear dependências. Um programa COBOL pode enviar dados para uma fila, gravar arquivos em formato fixo e acionar uma rotina escrita em outra linguagem. Se o modelo recebe apenas o arquivo principal, ele não tem como entender todo o fluxo. Ferramentas de análise estática, inventário de interfaces e observabilidade precisam acompanhar a IA.
O papel de testes, revisão e verificação
Em software crítico, o teste não pode ser uma etapa final. Ele precisa orientar a migração desde o início. Casos históricos de produção, cenários de erro, dados de fronteira e regras de arredondamento devem fazer parte de uma suíte automatizada. Quanto mais específica for a regra de negócio, mais importante é transformar o conhecimento de especialistas em testes executáveis.
A revisão humana também continua indispensável. Profissionais que conhecem o sistema precisam conferir a intenção do código traduzido, e especialistas da linguagem moderna precisam avaliar segurança, desempenho e manutenção. A IA pode produzir explicações e sugestões, mas não tem responsabilidade operacional sobre o resultado.
Métodos de verificação formal podem ajudar em partes menores. Eles usam técnicas matemáticas para provar propriedades de um programa, como a preservação de uma regra ou a ausência de determinados estados. Ainda assim, aplicar verificação formal a sistemas de décadas, com milhões de linhas e integrações externas, exige trabalho considerável.
Como uma equipe pode começar
O primeiro passo é escolher um componente de baixo risco e alto valor documental, não o núcleo mais crítico do negócio. Depois, a equipe deve criar uma linha de base com entradas, saídas, tempo de execução, dependências e efeitos colaterais. Em seguida, pode pedir à IA uma tradução acompanhada de comentários, lista de incertezas e propostas de testes.
A validação deve ocorrer em ambiente isolado, com dados anonimizados e sem acesso direto a sistemas de produção. Cada mudança precisa ser rastreável. Se a ferramenta gerar um trecho com biblioteca externa, o time deve verificar licença, origem e histórico de segurança antes de aceitar o código.
O impacto para desenvolvedores brasileiros
No Brasil, bancos, seguradoras, empresas de serviços e órgãos públicos também mantêm sistemas antigos. A discussão não é apenas sobre trocar COBOL por Python. Ela envolve formar profissionais capazes de entender operações de negócio e engenharia de software ao mesmo tempo. A IA pode reduzir a barreira de entrada, mas não substitui conhecimento sobre legislação, processos e responsabilidades locais.
Para desenvolvedores, isso cria uma oportunidade menos glamourosa e mais concreta do que a promessa de criar uma aplicação inteira por comando de voz. Saber investigar código legado, construir testes de regressão e conduzir migrações graduais pode se tornar uma habilidade valiosa. Para gestores, a principal lição é tratar a IA como aceleradora de uma equipe responsável, e não como autorização para remover todas as etapas de controle.
O COBOL não vai desaparecer de uma hora para outra. A IA pode tornar sua documentação mais acessível, facilitar a formação de novas equipes e reduzir o custo de modernizar módulos isolados. Mas a parte mais difícil continua sendo entender o sistema como um organismo completo. Quando o software sustenta pagamentos, transporte ou serviços públicos, a velocidade da tradução vale menos do que a certeza de que o comportamento será preservado.
Fonte original: The Verge, Can AI help solve the COBOL code crisis?.



