← Últimos artigos
💻 computer science

From Discussion to Execution: Replicating Buggy and Correct Data Science Code

Este artigo apresenta o Reprodgen, um framework baseado em LLM que reconstrói automaticamente pares de dados de código de ciência de dados com bugs e correções executáveis a partir de discussões não estruturadas de fóruns de Q&A através do refinamento iterativo de código por meio de representações de intenção estruturadas e feedback de revisores, sendo finalmente validado em um novo benchmark abrangendo sete principais bibliotecas de ciência de dados.

Autores originais: Ragib Shahariar Ayon, Mohammad Wardat, Shibbir Ahmed

Publicado 2026-07-21
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Ragib Shahariar Ayon, Mohammad Wardat, Shibbir Ahmed

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está tentando resolver um mistério, mas os únicos indícios que possui são alguns rabiscos em um guardanapo e uma história vaga contada por um amigo. Você sabe que alguém cometeu um erro, e sabe que essa pessoa eventualmente o corrigiu, mas você não tem a máquina quebrada original, as ferramentas específicas que utilizaram, nem mesmo os ingredientes certos para construir uma réplica. Este é o dilema diário da ciência de dados moderna. Cientistas e programadores frequentemente compartilham seus problemas e soluções em fóruns públicos como o Stack Overflow, mas essas discussões são bagunçadas. Elas são cheias de "e se" e detalhes ausentes, tornando quase impossível para um computador recriar automaticamente o código exato que estava quebrado e a correção perfeita. É como tentar assar um bolo usando uma receita que diz "adicione um pouco de farinha", sem dizer quanto, ou qual tipo de forno usar.

Para entender a solução, primeiro precisamos saber o que é um "bug" neste mundo. Pense em um programa de ciência de dados como uma receita complexa para um prato digital. Um bug é um pequeno erro nas instruções — talvez você tenha esquecido de pré-aquecer o forno, ou confundiu açúcar com sal. Quando isso acontece, o prato sai errado. Geralmente, um humano precisa provar o erro, descobrir o que deu errado e reescrever a receita. Mas e se pudéssemos ensinar um robô superinteligente a olhar para as notas bagunçadas, adivinhar os ingredientes ausentes, construir o prato quebrado de propósito e então nos mostrar exatamente como consertá-lo? Esse é o grande questionamento que este artigo aborda: Podemos construir um sistema que transforme histórias vagas e informais sobre erros de codificação em código real, funcional e que possamos realmente executar e testar?

Apresentamos o Reprodgen, um novo detetive digital criado por pesquisadores da Texas State University e da Oakland University. Pense no Reprodgen como um par de chefs robôs trabalhando juntos em uma cozinha de alta tecnologia. Um robô, o Gerador, é o cozinheiro criativo. Ele lê as postagens bagunçadas de fóruns e tenta construir a receita quebrada (o código com bug) e a receita corrigida (o código com o patch). Mas o Gerador é propenso a devaneios; ele pode inventar ingredientes que não existem ou esquecer de ligar o fogão. É por isso que ele tem uma parceira: a Revisora. A Revisora é a chefe de cozinha rigorosa que prova cada prato que o Gerador faz. Se o prato estiver cru, a Revisora o envia de volta para a cozinha com uma nota dizendo: "Você esqueceu os ovos" ou "Isso tem um gosto estranho, tente novamente". Eles trabalham em um ciclo, cozinhando e provando, até que o prato esteja perfeito.

A principal descoberta do artigo é que essa abordagem de "cozinhar juntos" funciona surpreendentemente bem. Os pesquisadores testaram o Reprodgen em 176 exemplos do mundo real retirados de fóruns populares de ciência de dados, abrangendo ferramentas famosas como pandas e NumPy. Eles descobriram que o Reprodgen conseguiu recriar o código quebrado e a correção cerca de 60% das vezes para os bugs e 52% das vezes para as correções. Isso é um grande feito porque tentativas anteriores de outros sistemas inteligentes frequentemente falhavam em produzir um código que pudesse realmente ser executado; eles escreviam códigos que pareciam corretos no papel, mas travavam no momento em que você tentava usá-los. O Reprodgen, no entanto, conseguiu construir códigos "executáveis" — o que significa que eles realmente rodam em um computador sem quebrar.

No entanto, o artigo é cuidadoso ao não chamar isso de uma varinha mágica que resolve tudo. Os pesquisadores argumentam explicitamente contra a ideia de que simplesmente pedir a um computador inteligente para "escrever código" é suficiente. Eles testaram outros sistemas de alto nível, como AutoCodeRover e ArchCode, e descobriram que esses sistemas frequentemente desistiam quando as postagens do fórum careciam de detalhes. Eles acabavam produzindo códigos que não podiam rodar ou simplesmente pulavam a parte quebrada e entregavam apenas a solução. O Reprodgen mostrou que você precisa ter esse ciclo de revisão rigoroso e que precisa inventar "dados fictícios" (ingredientes falsos) para preencher as lacunas deixadas pelas postagens do fórum.

O estudo também revelou algumas peculiaridades interessantes sobre os chefs robôs. Os pesquisadores testaram vários diferentes "cérebros" (grandes modelos de linguagem) para ver qual era o melhor cozinheiro. Eles descobriram que os modelos Qwen 2.5 e Gemma 3 eram os mais confiáveis, enquanto outros tinham mais dificuldade. Curiosamente, os robôs eram muito melhores em recriar a versão quebrada do código do que a versão corrigida. É mais fácil para o robô adivinhar qual foi o erro (porque a postagem do fórum geralmente descreve o problema claramente) do que adivinhar a solução perfeita (que exige mais raciocínio criativo).

Em termos de velocidade, o sistema levou em média 35 segundos para resolver cada problema, o que é bastante rápido para uma tarefa tão complexa. Mas os pesquisadores também observaram que os robôs às vezes se confundiam sobre quais ferramentas ou "bibliotecas" específicas eram necessárias, sugerindo que, embora o sistema seja inteligente, ele ainda precisa de ajuda para entender o ambiente exato.

Em última análise, este artigo sugere que estamos chegando mais perto de um futuro onde computadores podem aprender automaticamente com os erros humanos e corrigi-los. Os pesquisadores não construíram apenas uma ferramenta; eles também criaram uma nova "cozinha de testes" chamada ReprodgenBench-V, uma coleção de 176 problemas do mundo real que outros cientistas podem usar para testar seus próprios chefs robôs. Eles também estabeleceram um ranking público para que todos possam ver quais modelos são os melhores nesta tarefa. Embora o sistema ainda não seja perfeito — ele ainda perde cerca de metade das correções — o fato de conseguir transformar uma história bagunçada e incompleta em um programa funcional e executável é um passo significativo à frente. Prova que, com a mistura certa de criatividade e verificação rigorosa, podemos ensinar as máquinas a compreender a realidade desordenada dos erros de codificação humanos.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →