Was It Never Collected, or Rewritten Away? A Commit-Provenance Dataset Separating Ingestion Gaps from Upstream History Edits across the World of Code
Dit artikel introduceert een commit-provenance-dataset die onderscheid maakt tussen ontbrekende commits veroorzaakt door upstream geschiedenis-rewrites (force-pushes) en die voortvloeien uit werkelijke ingestie-gaten in globale codemirrors, waarbij wordt onthuld dat ongeveer 6,5% van de ontbrekende commits herschreven is in plaats van verloren gegaan en door correctiefactoren te bieden om de nauwkeurigheid van bijdrage-tellingen en mirror-volledigheidsrapportages te verbeteren.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je probeert een perfect, compleet fotoalbum bij te houden van elk enkel moment in een gigantisch, wereldwijd kunstproject waar duizenden mensen constant over elkaars werk heen schilderen, uitgummen en opnieuw schilderen.
Dit artikel gaat over een nieuwe tool die ons helpt te begrijpen waarom er foto's ontbreken in ons album.
Het Probleem: Het Mysterie van de "Ontbrekende Foto"
Jarenlang hebben onderzoekers geprobeerd elke enkele commit (een "foto" van code-wijzigingen) van GitHub te verzamelen in een gigantische database genaamd de World of Code (WoC). Maar ze merkten een probleem op: het album is incompleet. Er zijn miljoenen "foto's" die daar hadden moeten staan, maar die er niet zijn.
Voorheen namen onderzoekers gewoon aan dat deze ontbrekende foto's voor altijd verloren waren omdat het verzamelsysteem faalde om ze te grijpen. Ze dachten: "Och, we hebben 40% van de foto's gemist; onze collectie is kapot."
Maar dit artikel betoogt: Wacht eens even. Misschien zijn de foto's niet verloren; misschien zijn ze met opzet verwijderd.
De Twee Verdachten
De auteur, Audris Mockus, identificeert twee heel verschillende redenen waarom een foto zou kunnen ontbreken:
- De Collectie-kloof (De "Gemiste Schot"): De camera (het verzamelsysteem) knipperde, of de bestandsoverdracht mislukte, en de foto werd nooit opgeslagen. Dit is een echte fout.
- De Geschiedenis-herschrijving (Het "Verwijderde Concept"): De kunstenaar (de projecteigenaar) vond een specifieke versie van het schilderij niet mooi. Ze gebruikten een "force-push" (een digitale gum) om die versie uit de geschiedenis te wissen en te vervangen door een nieuwe versie. De foto bestond nooit in de definitieve versie omdat de kunstenaar hem heeft gewist.
De oude manier van tellen goot deze twee bij elkaar. Het zei: "We missen 46% van de foto's!" Dit liet de collectie er veel slechter uitzien dan deze in werkelijkheid was.
Het Detectiewerk: Twee Verschillende Standpunten
Om dit mysterie op te lossen, gebruikte de auteur twee verschillende "camera's" om naar dezelfde gebeurtenis te kijken:
- Camera A (GHArchive): Dit is als een beveiligingscamera die alles registreert dat werd geadverteerd op het moment dat het gebeurde. Het geeft niet om het feit of een foto later wordt verwijderd; het registreert simpelweg: "Om 14:00 uur heeft iemand een foto genaamd 'Commit X' gepusht."
- Camera B (World of Code): Dit is het huidige fotoalbum. Het bevat alles wat het tot nu toe heeft verzameld, maar het bewaart geen verwijderde foto's.
Door het logboek van de beveiligingscamera (wat wel geadverteerd werd) te vergelijken met het huidige album (wat behouden wordt), kon de auteur elke ontbrekende foto in drie nette stapels sorteren:
- Aanwezig: De foto zit in het album. (53% van de tijd)
- Herschreven: De foto werd geadverteerd, maar de kunstenaar heeft hem later gewist. De beveiligingscamera zag hem wel, maar het album heeft hem niet omdat hij is verwijderd. (6,5% van de tijd)
- Nooit-geïnduceerd: De foto werd geadverteerd, de kunstenaar heeft hem niet verwijderd, maar het album heeft hem nog steeds niet. Dit is de echte collectie-kloof. (40% van de tijd)
De Grote Verrassing
De resultaten waren schokkend. Voorheen dachten mensen dat het "ontbrekende" percentage bijna 47% was.
- De Realiteit: Slechts 40% is echt ontbrekend (collectie-kloven).
- De Twist: Ongeveer 6,5% van de "ontbrekende" foto's werd eigenlijk door de kunstenaars zelf gewist.
Dit betekent dat voor elke 15 ontbrekende foto's, één ervan geen fout van de verzamelaar was; het was een bewuste bewerking door het project.
Waarom Dit Er Toe Doet (In Simpele Termen)
1. Eerlijke Rapportage
Als je een softwareonderzoeker bent, hoef je niet langer te zeggen: "Onze data is 47% incompleet." Je kunt zeggen: "Onze data is 40% incompleet, en de andere 7% werd verwijderd door de makers." Dit maakt je studie veel nauwkeuriger.
2. Werk Correct Tellen
Stel je een werker voor die 100 regels code schrijft, ze vervolgens verwijdert en herschrijft als 100 nieuwe regels.
- Oude Telling: Je ziet alleen de 100 nieuwe regels. Je denkt dat hij 100 regels werk heeft verricht.
- Nieuwe Telling: Deze tool ziet dat hij 100 schreef, ze verwijderde en er 100 opnieuw schreef. Het realiseert zich dat die "verwijderde" 100 regels echt werk waren dat alleen maar verborgen is geraakt.
- Het Resultaat: Het paper laat zien dat als je alleen telt wat er momenteel zichtbaar is, je de totale productiviteit met ongeveer 10,8% onderschat. Dat is alsof je denkt dat een fabriek 90 auto's heeft gemaakt terwijl ze er eigenlijk 100 hebben gemaakt, omdat er 10 zijn weggegooid en opnieuw gebouwd.
3. Dubbel Tellen Voorkomen
Als een ontwikkelaar een commit herschrijft (de vorige wist en een nieuwe maakt met een nieuwe ID), dan is dat dezelfde "patch" code. Zonder deze tool zou een computer de oude versie en de nieuwe versie als twee aparte bijdragen kunnen tellen. Deze tool markeert hen als duplicaten zodat je niet in de war raakt.
De Kern van het Verhaal
Dit paper geeft ons een vergrootglas van een detective. Het scheidt de "kapotte camera" (collectie-kloven) van de "verwijderde concepten" (geschiedenis-herschrijvingen).
Het vertelt ons dat de World of Code eigenlijk beter is in het verzamelen van data dan we dachten (omdat een deel van de "ontbrekende" data nooit bedoeld was om daar te zijn), maar het vertelt ons ook dat we de hoeveelheid werk die ontwikkelaars doen onderschatten omdat we het werk dat zij hebben gewist niet kunnen zien.
De auteur heeft alle data en tools vrijgegeven, zodat iedereen deze "detectie-lens" kan gebruiken om een duidelijker, eerlijker beeld van de wereld van code te krijgen.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.