← Últimos artigos
💻 computer science

Was It Never Collected, or Rewritten Away? A Commit-Provenance Dataset Separating Ingestion Gaps from Upstream History Edits across the World of Code

Este artigo introduz um conjunto de dados de proveniência de commits que distingue entre commits ausentes causados por reescritas de histórico upstream (force-pushes) e aqueles resultantes de lacunas reais de ingestão em espelhos globais de código, revelando que aproximadamente 6,5% dos commits ausentes são reescritos em vez de perdidos e fornecendo fatores de correção para melhorar a precisão da contagem de contribuições e do relato de completude de espelhos.

Autores originais: Audris Mockus

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

Autores originais: Audris Mockus

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 manter um álbum de fotos perfeito e completo de cada momento em um projeto de arte global e massivo, onde milhares de pessoas estão constantemente pintando, apagando e repintando sobre o trabalho umas das outras.

Este artigo é sobre uma nova ferramenta que nos ajuda a entender por que algumas fotos estão faltando em nosso álbum.

O Problema: O Mistério da "Foto Ausente"

Durante anos, pesquisadores tentaram coletar cada um dos commits (uma "foto" de mudanças de código) do GitHub em um banco de dados gigante chamado World of Code (WoC). Mas eles notaram um problema: o álbum está incompleto. Existem milhões de "fotos" que deveriam estar lá, mas não estão.

Anteriormente, os pesquisadores apenas assumiam que essas fotos estavam perdidas para sempre porque o sistema de coleta falhou ao tentar capturá-las. Eles pensavam: "Oh, perdemos 40% das fotos; nossa coleta está quebrada."

Mas este artigo argumenta: Espere um minuto. Talvez as fotos não estejam perdidas; talvez elas tenham sido deletadas de propósito.

Os Dois Suspeitos

A autora, Audris Mockus, identifica dois motivos muito diferentes para uma foto estar faltando:

  1. A Lacuna de Coleta (O "Disparo Perdido"): A câmera (o sistema de coleta) piscou, ou a transferência de arquivo falhou, e a foto nunca foi salva. Este é um erro genuíno.
  2. A Reescrita de Histórico (O "Rascunho Apagado"): O artista (o proprietário do projeto) decidiu que não gostou de uma versão específica da pintura. Eles usaram um "force-push" (um apagador digital) para eliminar essa versão do histórico e substituí-la por uma nova. A foto nunca existiu na versão final porque o artista a apagou.

A forma antiga de contar agrupava os dois. Dizia: "Estamos faltando 46% das fotos!" Isso fazia a coleta parecer muito pior do que realmente era.

O Trabalho de Detetive: Dois Pontos de Vista Diferentes

Para resolver este mistério, a autora usou duas "câmeras" diferentes para observar o mesmo evento:

  • Câmera A (GHArchive): Esta é como uma câmera de segurança que registra tudo o que foi anunciado no momento em que aconteceu. Ela não se importa se a foto for deletada depois; ela apenas registra: "Às 14:00, alguém enviou uma foto chamada 'Commit X'".
  • Câmera B (World of Code): Este é o álbum de fotos atual. Ele contém tudo o que foi coletado até agora, mas não mantém fotos deletadas.

Ao comparar o registro da câmera de segurança (o que foi anunciado) com o álbum atual (o que é mantido), a autora pôde separar cada foto ausente em três pilários organizados:

  1. Presente: A foto está no álbum. (53% das vezes)
  2. Reescrita: A foto foi anunciada, mas o artista a apagou depois. A câmera de segurança a viu, mas o álbum não a possui porque ela foi deletada. (6,5% das vezes)
  3. Nunca Ingerida: A foto foi anunciada, o artista não a deletou, mas o álbum ainda assim não a possui. Esta é a verdadeira lacuna de coleta. (40% das vezes)

A Grande Surpresa

Os resultados foram chocantes. Anteriormente, as pessoas pensavam que a taxa de "ausência" era de quase 47%.

  • A Realidade: Apenas 40% estão realmente faltando (lacunas de coleta).
  • A Reviravolta: Cerca de 6,5% das fotos "ausentes" foram na verdade apagadas pelos próprios artistas.

Isso significa que, para cada 15 fotos ausentes, uma delas não foi um erro do coletor; foi uma edição deliberada do projeto.

Por Que Isso Importa (Em Termos Simples)

1. Relatórios Honestos
Se você é um pesquisador estudando software, não precisa mais dizer: "Nossos dados estão 47% incompletos". Você pode dizer: "Nossos dados estão 40% incompletos, e os outros 7% foram deletados pelos criadores". Isso torna seu estudo muito mais preciso.

2. Contando o Trabalho Corretamente
Imagine um trabalhador que escreve 100 linhas de código, depois as deleta e as reescreve como 100 novas linhas.

  • Contagem Antiga: Você vê apenas as 100 novas linhas. Você pensa que ele fez 100 linhas de trabalho.
  • Nova Contagem: Esta ferramenta vê que ele escreveu 100, deletou e escreveu 100 novamente. Ela percebe que aquelas 100 linhas "deletadas" foram um trabalho real que apenas foi escondido.
  • O Resultado: O artigo mostra que, se você contar apenas o que está visível no momento, você está subestimando a produtividade total em cerca de 10,8%. É como pensar que uma fábrica produziu 90 carros quando, na verdade, ela produziu 100, porque 10 foram descartados e reconstruídos.

3. Evitando a Contagem Dupla
Se um desenvolvedor reescreve um commit (apaga o anterior e cria um novo com um novo ID), trata-se do mesmo "patch" de código. Sem esta ferramenta, um computador poderia contar a versão antiga e a nova como duas contribuições distintas. Esta ferramenta sinaliza que são duplicatas para que você não se confunda.

A Conclusão

Este artigo fornece uma lupa de detetive. Ele separa a "câmera quebrada" (lacunas de coleta) dos "rascunhos deletados" (reescritas de histórico).

Ele nos diz que o World of Code é, na verdade, melhor em coletar dados do que pensávamos (porque parte dos dados "ausentes" nunca deveria estar lá), mas também nos diz que estamos subestimando quanto trabalho os desenvolvedores realizam porque não conseguimos ver o trabalho que eles apagaram.

A autora disponibilizou todos os dados e ferramentas para que qualquer pessoa possa usar esta "lente de detetive" para obter uma imagem mais clara e honesta do mundo do código.

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 →