Bug Report Specification Refinement with Trajectory Guidance for Automated Program Repair
TrajSpec is een trajectgestuurd framework dat bugrapporten verfijnt door bewijs te synthetiseren uit pre-fix repository-trajecten tot een hiërarchische specificatie, wat de succespercentages van geautomatiseerde programmaherstel aanzienlijk verbetert over meerdere agenten en benchmarks.
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
Technische Samenvatting: TrajSpec – Trajectgestuurde Verfijning van Bugrapport-specificaties
Probleemstelling
Repository-niveau Automated Program Repair (APR) agents vertrouwen op bugrapporten als hun primaire taakspecificaties. Echter, standaard bugrapporten beschrijven vaak alleen de geobserveerde symptomen van een falen, terwijl cruciale informatie die relevant is voor reparatie wordt weggelaten, zoals het onderliggende faalmechanisme, specifieke gedragsvereisten en de volledige implementatieomvang. Gevolgen daarvan kunnen APR agents irrelevante code inspecteren, onjuiste vereisten afleiden of patches genereren die weliswaar het gerapporteerde symptoom aanpakken, maar het beoogde gedrag van de repository niet herstellen. Hoewel eerder werk zich heeft gericht op het verbeteren van zoekstrategieën, lokalisatie of prompt engineering voor agents, gaan deze benaderingen er vaak van uit dat de ingevoerde rapportage een voldoende specificatie vormt. Er is een gat in methoden die de rapportage expliciet verfijnen door ontbrekende specificatiedetails uit de repository te verzamelen voordat het downstream reparatieproces begint.
Methodologie: TrajSpec
De auteurs stellen TrajSpec voor, een trajectgestuurde aanpak voor repository-ondersteunde specificatieverfijning. Het systeem werkt met een origineel bugrapport () en een pre-fix repository snapshot () via de volgende pijplijn:
Ongeverifieerde Trajectcollectie:
TrajSpec voert een traject-collectie agent uit met enkel en . Deze agent verkent de repository, inspecteert code en redeneert over het probleem. Cruciaal is dat deze run ongeverifieerd is: TrajSpec valideert geen enkele kandidaat-patch die tijdens deze fase wordt geproduceerd. Elke kandidaat-patch wordt weggegooid, en alleen het executietraject () — een sequentie van thought-action-observation tuples — wordt behouden. Dit traject dient als een bron van repository-ondersteunde bewijslast, zelfs als de uiteindelijke patch van de agent incorrect was.Hiërarchische Bewijsabstractie:
Ruwe trajecten zijn vaak luidruchtig en langwerend. TrajSpec extraheert kandidaat-bevindingen uit en , waarbij de focus ligt op drie dimensies:- Faalmechanisme: Het gedrag van de broncode dat het symptoom verklaart.
- Gedragsvereiste: Het gedrag dat moet standhouden.
- Implementatieomvang: De betrokken codelocaties.
Deze bevindingen worden georganiseerd in een hiërarchische representatie () met drie detailniveaus voor elke dimensie:
- Hoogniveau: Een conclusie over de kandidaat-specificatie.
- Middelniveau: Diagnostische redenering en relaties (bijv. codepaden, afhankelijkheden).
- Logniveau: Concrete repository-observaties (bijv. specifieke bestanden, functies, variabelen).
Conceptgeneratie en Repository-gebaseerde Review:
Met behulp van en genereert een LLM een concept van een verfijnd rapport () volgens een vast schema (Titel, Beschrijving, RootCause, StappenOmTeReproduceren, VerwachtGedrag, GeobserveerdGedrag).Een repository-gebaseerde review stap valideert vervolgens tegenover . Een reviewer agent beoordeelt of de claims in het concept worden ondersteund door het bewijs in en de werkelijke broncode. Het verwijdert niet-onderbouwde claims, herziet onzekere verklaringen, voegt ontbrekende repository-ondersteunde details toe en zorgt ervoor dat de implementatieomvang passend begrensd is. De output is het definitieve verfijnde rapport (), dat dient als de taakspecificatie voor de downstream repair agent.
Belangrijkste Bijdragen
- Formulering: Het artikel formuleert bugrapportverbetering voor repository-niveau APR als "repository-ondersteunde specificatieverfijning", met als doel het faalmechanisme, de gedragsvereiste en de implementatieomvang expliciet te maken.
- TrajSpec Framework: Introductie van een methode die specificatiebewijs extraheert en hiërarchisch organiseert vanuit een ongeverifieerde traject-collectie run, dit bewijs beoordeelt tegen de broncode en een verfijnd rapport genereert zonder ervan uit te gaan dat de kandidaat-patches van het traject correct zijn.
- Uitgebreide Evaluatie: Evaluatie op alle 300 SWE-Bench Lite instanties met behulp van Mini-SWE-Agent V2, wat significante prestatieverbeteringen aantoont.
- Generalisatie: Demonstratie dat de voordelen van TrajSpec generaliseren naar verschillende downstream repair agents (Agentless en AutoCodeRover).
- Componentanalyse: Ablatiestudies die bevestigen dat zowel de hiërarchische bewijsrepresentatie als de repository-gebaseerde review cruciaal zijn voor de prestatiewinst.
Evaluatieresultaten
De auteurs evalueerden TrajSpec op 300 SWE-Bench Lite instanties:
Primaire Repair Agent (Mini-SWE-Agent V2):
- Met GPT-5-mini verbeterde Pass@1 van 41.00% (originele rapporten) naar 59.67%.
- Met MiniMax M2.5 verbeterde Pass@1 van 54.67% naar 64.33%.
- TrajSpec presteerde beter dan een "Agentic-Base" baseline (die trajectdata gebruikt maar de hiërarchische abstractie en repository-review mist) in beide settings.
- De verbeteringen waren breed verdeeld over 12 verschillende repositories, waarbij TrajSpec de reparatie-dekking vergrootte terwijl bijna alle instanties die voorheen door originele rapporten werden gerepareerd, behouden bleven.
Cross-Agent Generalisatie (Gestratificeerde steekproef van 100 instanties):
- Agentless: Pass@1 verbeterde van 41.00% naar 71.00%.
- AutoCodeRover: Pass@1 verbeterde van 47.00% naar 72.00%.
Ablatiestudies:
- Het verwijderen van de repository-gebaseerde review verminderde Pass@1 van 59.67% naar 48.00%.
- Het verwijderen van de hiërarchische bewijsrepresentatie verminderde Pass@1 tot 47.67%.
- Dit bevestigt dat zowel het structureren van bewijs als het verifiëren van claims tegen de repository essentieel zijn.
Kostenanalyse:
- Hoewel TrajSpec extra kosten met zich meebrengt voor rapportgeneratie (ongeveer $0.083 per instantie met GPT-5-mini), vermindert het het input-tokengebruik voor downstream reparatie met ~24% en verlaagt het de monetaire kosten van de reparatie-run zelf. De totale end-to-end kosten blijven bescheiden in verhouding tot de aanzienlijke winst in reparatiesucces.
Betekenis en Claims
Het artikel claimt dat TrajSpec een veelbelovende richting biedt voor het verbeteren van repository-niveau reparatie door het "specificatieprobleem" aan te pakken dat inherent is aan ondergespecificeerde bugrapporten. De auteurs benadrukken dat:
- Trajecten zijn herbruikbaar buiten patchgeneratie: Zelfs ongeverifieerde trajecten bevatten waardevolle bewijslast over faalmechanismen en codescope die geabstraheerd en gestructureerd kan worden om de taakspecificatie te verbeteren.
- Verificatie is cruciaal: Het simpelweg gebruiken van trajectdata is onvoldoende; een hiërarchische structuur en een repository-gebaseerde review stap zijn noodzakelijk om ruis te filteren en te garanderen dat claims geworteld zijn in de pre-fix code.
- Taakspecificatie doet ertoe: Het verbeteren van de ingevoerde specificatie (het bugrapport) is even belangrijk als het verbeteren van de repair agent zelf. TrajSpec demonstreert dat het voorzien van agents met actiegerichte, repository-ondersteunde context de reparatieprestaties consistent verbetert over verschillende modellen en agent-architecturen.
De auteurs nemen een bescheiden standpunt in door te merken dat hun evaluatie beperkt is tot Python-repositories in SWE-Bench Lite en dat de effectiviteit voor andere talen of benchmarks toekomstig werk blijft. Ze erkennen ook dat hoewel de verfijnde rapporten de geautomatiseerde reparatiemetrieken verbeteren, de studie zich richt op het nut voor APR en niet op de door mensen waargenomen rapportkwaliteit.
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.