← Últimos artículos
💻 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 artículo introduce un conjunto de datos de procedencia de commits que distingue entre los commits faltantes causados por reescrituras del historial ascendente (force-pushes) y aquellos que resultan de brechas de ingesta reales en los espejos de código globales, revelando que aproximadamente el 6,5% de los commits faltantes son reescritos en lugar de perdidos y proporcionando factores de corrección para mejorar la precisión del conteo de contribuciones y la exactitud de los informes de completitud de los espejos.

Autores originales: Audris Mockus

Publicado 2026-07-07
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Audris Mockus

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que estás intentando mantener un álbum de fotos perfecto y completo de cada uno de los momentos de un proyecto artístico masivo y global donde miles de personas están constantemente pintando, borrando y repintando sobre el trabajo de otros.

Este artículo trata sobre una nueva herramienta que nos ayuda a entender por qué faltan algunas fotos en nuestro álbum.

El Problema: El Misterio de la "Foto Faltante"

Durante años, los investigadores han intentado recolectar cada uno de los commits (una "foto" de los cambios de código) de GitHub en una base de datos gigante llamada World of Code (WoC). Pero notaron un problema: el álbum está incompleto. Hay millones de "fotos" que deberían estar ahí pero no están.

Anteriormente, los investigadores simplemente asumían que estas fotos se habían perdido para siempre porque el sistema de recolección falló al capturarlas. Pensaban: "Oh, nos faltan el 40% de las fotos; nuestra recolección está rota".

Pero este artículo argumenta: Un momento. Tal vez las fotos no se perdieron; tal vez fueron borradas a propósito.

Los Dos Sospechosos

La autora, Audris Mockus, identifica dos razones muy diferentes por las cuales una foto podría faltar:

  1. La Brecha de Recolección (El "Disparo Perdido"): La cámara (el sistema de recolección) parpadeó, o la transferencia de archivos falló, y la foto nunca se guardó. Este es un error genuino.
  2. La Reescritura del Historial (El "Borrador Eliminado"): El artista (el dueño del proyecto) decidió que no le gustaba una versión específica de la pintura. Usó un "force-push" (un borrador digital) para eliminar esa versión de la historia y reemplazarla con una nueva. La foto nunca existió en la versión final porque el artista la borró.

La forma antigua de contar agrupaba estos dos conceptos. Decía: "¡Nos faltan el 46% de las fotos!". Esto hacía que la recolección pareciera mucho peor de lo que realmente era.

El Trabajo de Detective: Dos Puntos de Vista Diferentes

Para resolver este misterio, la autora utilizó dos "cámaras" diferentes para observar el mismo evento:

  • Cámara A (GHArchive): Esta es como una cámara de seguridad que registra todo lo que fue anunciado en el momento en que ocurrió. No le importa si una foto es borrada después; simplemente registra: "A las 2:00 PM, alguien subió una foto llamada 'Commit X'".
  • Cámara B (World of Code): Este es el álbum de fotos actual. Contiene todo lo que ha recolectado hasta ahora, pero no guarda las fotos eliminadas.

Al comparar el registro de la cámara de seguridad (lo que fue anunciado) contra el álbum actual (lo que se guarda), la autora pudo clasificar cada foto faltante en tres montones ordenados:

  1. Presente: La foto está en el álbum. (53% de las veces)
  2. Reescrita: La foto fue anunciada, pero el artista la borró después. La cámara de seguridad la vio, pero el álbum no la tiene porque fue eliminada. (6.5% de las veces)
  3. Nunca Ingerida: La foto fue anunciada, el artista no la borró, pero el álbum aún así no la tiene. Esta es la verdadera brecha de recolección. (40% de las veces)

La Gran Sorpresa

Los resultados fueron impactantes. Anteriormente, la gente pensaba que la tasa de "faltantes" era de casi el 47%.

  • La Realidad: Solo el 40% faltan realmente (brechas de recolección).
  • El Giro: Cerca del 6.5% de las fotos "faltantes" fueron en realidad borradas por los propios artistas.

Esto significa que, por cada 15 fotos faltantes, una de ellas no fue un error del recolector; fue una edición deliberada del proyecto.

Por Qué Esto Importa (En Términos Simples)

1. Reportes Honestos
Si eres un investigador estudiando software, ya no tienes que decir: "Nuestros datos están incompletos en un 47%". Puedes decir: "Nuestros datos tienen un 40% de incompletitud, y el otro 7% fue borrado por los creadores". Esto hace que tu estudio sea mucho más preciso.

2. Contar el Trabajo Correctamente
Imagina a un trabajador que escribe 100 líneas de código, luego las borra y las vuelve a escribir como 100 líneas nuevas.

  • Conteo Antiguo: Solo ves las 100 líneas nuevas. Piensas que hizo 100 líneas de trabajo.
  • Nuevo Conteo: Esta herramienta ve que escribió 100, las borró y escribió 100 más. Se da cuenta de que esas 100 líneas "borradas" fueron trabajo real que simplemente quedó oculto.
  • El Resultado: El artículo muestra que si solo cuentas lo que es actualmente visible, estás subestimando la productividad total en un 10.8%. Eso es como pensar que una fábrica produjo 90 autos cuando en realidad produjeron 100, porque 10 fueron desechados y reconstruidos.

3. Evitar el Doble Conteo
Si un desarrollador reescribe un commit (borra un commit y crea uno nuevo con un ID nuevo), se trata del mismo "parche" de código. Sin esta herramienta, una computadora podría contar la versión antigua y la nueva como dos contribuciones separadas. Esta herramienta los marca como duplicados para que no te confundas.

La Conclusión

Este artículo nos entrega una lupa de detective. Separa la "cámara rota" (brechas de recolección) de los "borradores eliminados" (reescrituras de historial).

Nos dice que el World of Code es en realidad mejor recolectando datos de lo que pensábamos (porque parte de los datos "faltantes" nunca debieron estar ahí), pero también nos dice que estamos subestimando cuánto trabajo hacen los desarrolladores porque no podemos ver el trabajo que borraron.

La autora ha publicado todos los datos y herramientas para que cualquiera pueda usar esta "lente de detective" para obtener una imagen más clara y honesta del mundo del código.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →