Loc2Repair: A Framework for Evaluating the Impact of File-Level Issue Localization in Repo-Level LLM Repair
Dit artikel introduceert Loc2Repair, een modulair evaluatiekader dat aantoont hoe het ontkoppelen van file-level issue-lokalisatie van repair-synthese consistent zowel de effectiviteit als de efficiëntie van repository-gegrondde geautomatiseerde reparatiesystemen verbetert.
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 een meestermonteur bent (een AI) die is ingehuurd om een kapotte auto te repareren in een enorme parkeergarage van 10 verdiepingen (een softwarerepository). Je doel is om het kapotte onderdeel te vinden en te repareren.
Normaal gesproken, wanneer we deze monteurs testen, kijken we alleen naar het eindresultaat: "Hebben ze de auto gerepareerd?" Als het antwoord "Nee" is, weten we niet waarom ze gefaald hebben. Hebben ze op de verkeerde verdieping gezocht? Hebben ze het juiste onderdeel gevonden maar de verkeerde moersleutel gebruikt? Of hebben ze halverwege opgegeven?
Dit artikel introduceert een nieuwe testtool genaamd Loc2Repair. Zie dit als een manier om het werk van de monteur op te splitsen in twee duidelijke stappen, zodat we precies kunnen zien waar het misgaat:
- Lokalisatie: Het juiste niveau en het juiste auto-onderdeel vinden.
- Reparatie: Het onderdeel daadwerkelijk repareren.
Het Experiment: De monteur een kaart geven
De onderzoekers wilden zien of het geven van een specifieke "kaart" aan de monteur (hen precies vertellen welke bestanden ze moeten bekijken) hen helpt om de auto beter te repareren, zelfs als de eigenlijke reparatievaardigheden van de monteur gelijk blijven.
Ze testten drie verschillende monteurs (drie verschillende AI-modellen) op 500 kapotte auto's (softwareproblemen). Ze probeerden vier verschillende scenario's voor elke monteur:
- De "Blinde" Test: De monteur moet de hele garage op eigen houtje doorzoeken.
- De "AI Assistent" Test: Een kleinere, goedkopere AI geeft de monteur een hint over welke verdieping gecontroleerd moet worden.
- De "Betere AI Assistent" Test: Een andere, iets slimmere AI geeft de hint.
- De "Perfecte Kaart" Test: De onderzoekers geven de monteurs de exacte lijst met kapotte onderdelen (dit wordt "Gold" lokalisatie genoemd).
Wat ze vonden
1. Een kaart helpt altijd (zelfs een ruwe kaart)
Wanneer de monteurs een kaart kregen (of dat nu van de AI-assistenten kwam of de perfecte lijst was), repareerden ze meer auto's dan wanneer ze blind waren.
- Zonder kaart: Ze repareerden ongeveer 45% van de auto's.
- Met een kaart van een AI-assistent: Ze repareerden ongeveer 49%.
- Met de Perfecte Kaart: Ze repareerden ongeveer 52%.
Dit bewijst dat simpelweg weten waar je moet zoeken een enorm voordeel is. Het is alsof je een detective vertelt: "De dief is in de keuken," in plaats van hem het hele huis te laten doorzoeken.
2. Het is ook sneller
Verrassend genoeg hielp het geven van een kaart de monteurs niet alleen om meer auto's te repareren; het zorgde er vaak ook voor dat ze sneller klaar waren met de klus.
- Gemiddeld deden de "Blinde" monteurs ongeveer 100 seconden langer over hun taken dan de monteurs met kaarten.
- Waarom? Omdat ze geen tijd verspillen met het zoeken op de verkeerde verdiepingen.
3. De "Perfecte Kaart" is geen toverstaf
Dit is de belangrijkste ontdekking. Zelfs toen de onderzoekers de monteurs de Perfecte Kaart gaven (hen precies vertelden welk bestand kapot was), slaagden ze er nog steeds niet in om bijna de helft van de auto's te repareren.
- Dit betekent dat het vinden van het kapotte onderdeel slechts de helft van de strijd is.
- De andere helft is het daadwerkelijk repareren ervan. Zelfs als je precies weet waar de motor zit, moet je nog steeds weten hoe je de bougies vervangt. De monteurs (AI-modellen) worstelen nog steeds met het eigenlijke reparatiewerk, het debuggen en het testen.
De Belangrijkste Conclusie
Het artikel betoogt dat we niet alleen naar de eindscore van een AI-programmeur moeten kijken. We moeten de stappen apart bekijken.
- Het probleem vinden (Lokalisatie) is een cruciale vaardigheid die onafhankelijk kan worden verbeterd.
- Het probleem oplossen (Reparatie) is een aparte vaardigheid die nog veel werk vereist.
Door tools zoals Loc2Repair te gebruiken, kunnen onderzoekers stoppen met gissen waarom een AI faalde. Ze kunnen nu zeggen: "Deze AI faalde omdat hij het bestand niet kon vinden," of "Deze AI vond het bestand, maar kon de code niet schrijven om het te repareren." Dit helpt ontwikkelaars om betere tools te bouren door de specifieke zwakke schakel in de keten aan te pakken.
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.