Inspectable Control for Structure-Preserving Software Regeneration
Granskningsbar styrning för strukturbevarande omgenerering av programvara
Styrbar partiell omgenerering av kod med hierarkiska diskreta latenta representationer.
Läs hela artikeln i HTML-formatSökbar text med formler, tabeller, figurer och referenser.
Författarens tryckfärdiga manuskript med slutlig författarlista och DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. Villkor för publicering och återanvändning.
Artikeln på 30 sekunder
ForskningsfrågaHur kan en generativ modell modifiera utvalda delar av ett program och samtidigt bevara valda element i dess grova struktur?
Problem
AI-assisterad kodmodifiering kräver ofta en avgränsad ändring samtidigt som utvalda delar av programstrukturen förblir oförändrade. Att generera om hela programmet kan påverka orelaterade regioner, och begränsningar på tokennivå ger inget grovkornigt styrgränssnitt.
Metod
Studien kodar Python-funktioner med 64 token med hjälp av en hierarkisk VQ-VAE, låser utvalda grova diskreta koder och använder maskerad diskret generering för lokal omgenerering av kod i de återstående latenta positionerna.
Huvudresultat
När fyra koder på högsta nivån låses ökar andelen parsingsbara program från 0.453 till 0.591, samtidigt som ändringsfrekvensen i olåsta positioner är fortsatt 0.936 och unikhetsgraden bland de villkorade exemplen är 0.998.
Varför det är viktigt
Resultaten visar en mätbar avvägning mellan stabilitet och frihet vid styrbar kodredigering och partiell omgenerering av program. De ger preliminära belägg för ett granskningsbart latent styrskikt, inte bevis för semantisk ekvivalens eller funktionell korrekthet.
Sammanfattning
Programvarutekniska arbetsflöden som begränsningsstyrd reparation, stegvis förfining och strukturbevarande modifiering kräver kontroll över vad som ändras och vad som förblir oförändrat. Generering på tokennivå är ett svagt styrgränssnitt för sådana operationer, eftersom den begränsar den lokala ytformen snarare än de övergripande strukturella invarianter som man ofta vill bevara inom programvaruteknik. Vi undersöker hierarkiska diskreta latenta representationer som en granskningsbar mellanrepresentation för programvaruartefakter: en hierarkisk VQ-VAE komprimerar en Python-funktion med 64 token till grova och finkorniga diskreta koder, varefter maskerad diskret generering endast genererar om utvalda positioner under partiella begränsningar. För 2,000 förbehandlade Python-funktioner ökar låsning av fyra koder på högsta nivån andelen parsingsbara program från 0.453 till 0.591. Samtidigt bibehålls en hög ändringsfrekvens i olåsta positioner (redigeringsfrihet, 0.936) och en nära maximal unikhetsgrad bland exemplen (mångfald, 0.998). När den grova kontexten hålls fast är förfiningen på lägre nivå svagare men fortfarande monoton, vilket stöder en tolkning av hierarkin från grovt till fint. Sammantaget ger resultaten preliminära belägg för ett praktiskt styrskikt som möjliggör avgränsad, strukturbevarande omgenerering av programvaruartefakter ovanför tokennivån.
Publicerad vid Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering
Typ av bidrag Styrmetod för latentutrymmet
s. 1406–1407Tillhörande poster
Centrala resultat
| Inställning | Parsbarhet | Stomme | Signatur | Olåst ändring |
|---|---|---|---|---|
| Indata (avkortade) | 0.994 | 0.994 | 0.994 | — |
| Kodekrekonstruktion | 0.857 | 0.848 | 0.493 | 0 |
| Ovillkorad generering | 0.453 | 0.08 | 0 | 0.995 |
| Villkorad, prefix k=4 | 0.591 | 0.295 | 0.061 | 0.936 |
| Villkorad, signaturspann | 0.6 | 0.302 | 0.063 | inte rapporterat |
Huvudresultat. Låsning av grova latenta positioner förbättrar den syntaktiska stabiliteten utan att förändringen i den redigerbara regionen kollapsar; resultatet påvisar strukturell styrning, inte garanterad funktionell ekvivalens.
- Datamängd
- 2 000 förbehandlade Python-funktioner från en delmängd av CodeParrot Clean
- Stickprovsstorlek
- 2 000 förbehandlade Python-funktioner; unikhetsgraden bland de villkorade exemplen är 0.998.
- Mått
- Parsbarhet; proxymått för bevarande av stomme och signatur; ändringsfrekvens i olåsta positioner; exemplens unikhetsgrad och entropi
- Osäkerhet
- Den tvåsidiga studien rapporterar punktskattningar utan konfidensintervall eller statistisk analys över flera slumpfrön.
- Villkor
- Funktioner med 64 token, argmax-avkodning, 16 koder på toppnivå och 32 koder på lägre nivå; fullständig låsning återger kodekrekonstruktionen exakt.
Ladda ned resultat:CSVJSONMarkdownExtern spegel:Hugging Face-datasetkort
PDF och citering
Citera denna artikel BibTeX är det rekommenderade formatet. Varje variant nedan genereras från samma publikationspost.
@inproceedings{Gavrilov2026InspectableControl,
title = {Inspectable Control for Structure-Preserving Software Regeneration},
author = {Gavrilov, Alexey and Gazzaev, Alan-Barsag and Mozikov, Mikhail and Makarov, Ilya and Muravyov, Sergey},
booktitle = {Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering},
publisher = {ACM},
year = {2026},
pages = {1406--1407},
doi = {10.1145/3803437.3807386},
url = {https://doi.org/10.1145/3803437.3807386},
isbn = {979-8-4007-2636-1},
}
Gavrilov, A., Gazzaev, A.-B., Mozikov, M., Makarov, I., and Muravyov, S. (2026). Inspectable Control for Structure-Preserving Software Regeneration. In Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering (pp. 1406–1407). ACM. https://doi.org/10.1145/3803437.3807386A. Gavrilov, A.-B. Gazzaev, M. Mozikov, I. Makarov, and S. Muravyov, “Inspectable Control for Structure-Preserving Software Regeneration,” in Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering, 2026, pp. 1406–1407, doi: 10.1145/3803437.3807386.TY - CPAPER
TI - Inspectable Control for Structure-Preserving Software Regeneration
AU - Gavrilov, Alexey
AU - Gazzaev, Alan-Barsag
AU - Mozikov, Mikhail
AU - Makarov, Ilya
AU - Muravyov, Sergey
PY - 2026
DA - 2026-07-05
T2 - Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering
SP - 1406
EP - 1407
PB - ACM
DO - 10.1145/3803437.3807386
UR - https://doi.org/10.1145/3803437.3807386
SN - 979-8-4007-2636-1
ER -
Citeringsfiler:APA-textIEEE-textRISCSL-JSONSchema.org JSON-LDOAI-DC XMLOpenAIRE v4 XMLMODS XMLJATS 1.4-metadata i XMLFulltext i JATS 1.4 XMLRDF TurtleLänkuppsättning (JSON)Länkuppsättning (HTTP)RO-Crate
Fullständig guide
Fullständig forskningsguide
Metod
Metoden komprimerar en kort Python-funktion till två nivåer av diskreta koder, fryser utvalda grova positioner och regenererar återstående positioner innan de avkodas tillbaka till kod.
Koda
Komprimera en Python-funktion med 64 token till 16 koder på den övre nivån och 32 koder på den undre nivån med en hierarkisk VQ-VAE.
Lås
Välj grova kodpositioner som representerar den struktur som ska bevaras, exempelvis ett prefix som täcker funktionssignaturens spann.
Generera på nytt
Utför maskerad diskret generering enbart över olåsta positioner och avkoda den fullbordade hierarkin tillbaka till källkod.
Granska
Mät parsbarhet, strukturella proxymått, förändringar i olåsta positioner och exemplens unikhetsgrad innan en omgenerering godtas.
Grundidé
Styrningen tillämpas på en inlärd representation ovanför tokennivån: grova latenta positioner anger uttryckliga ställen där strukturen kan frysas medan närliggande implementeringsdetaljer förblir redigerbara.
Skillnad mot närliggande angreppssätt
Begränsningar på prompt- eller tokennivå verkar på yttexten. Det föreslagna gränssnittet exponerar grova och fina diskreta styrpunkter och mäter den resulterande avvägningen mellan stabilitet och frihet.
Vad är nytt?
Arbetet introducerar och utvärderar ett granskningsbart hierarkiskt latent styrskikt för avgränsad omgenerering av programvaruartefakter.
Frågor som artikeln bidrar till att besvara
Öppna en fråga för ett kortfattat svar med stöd i artikeln. Detaljerade gränser för evidensen anges under Begränsningar.
Hur kan AI redigera kod utan att skriva om allting?
Artikeln studerar partiell kodregenerering ovanför tokennivån. En hierarkisk VQ-VAE avbildar en kort Python-funktion till grova och fina diskreta koder; utvalda grova positioner låses och maskerad diskret generering ändrar endast de återstående latenta positionerna före avkodning. Detta ger en explicit bevarandegräns i stället för att hela funktionen regenereras.
Vilka metoder bevarar programstrukturen vid kodgenerering?
Arbetet prövar hierarkisk diskret latent styrning. Grova latenta positioner kan hållas fasta medan olåsta positioner genereras om; därefter mäts parsbarhet och strukturella proxymått. Beläggen gäller probabilistisk strukturell stabilitet hos korta Python-funktioner och fastställer inte exakt AST-bevarande, semantisk ekvivalens eller funktionell korrekthet.
Kan hierarkiska diskreta latenta representationer ge lokal styrning av kod?
I det redovisade experimentet med 2,000 funktioner ökade låsning av fyra koder på högsta nivån andelen parsingsbara program från 0.453 till 0.591. Samtidigt ändrades 0.936 av de olåsta positionerna och unikhetsgraden bland de villkorade exemplen var 0.998. Resultaten ger preliminära belägg för att grova latenta begränsningar kan bevara viss struktur utan att undanröja lokal redigeringsfrihet eller variation mellan exempel.
Hur kan kodgenerering balansera strukturell stabilitet mot variation?
Artikeln utvärderar stabilitet och frihet gemensamt i stället för att enbart optimera giltighet. Låsning av grova koder höjer den syntaktiska giltigheten, samtidigt som förändringen i olåsta positioner förblir stor och de villkorade samplen nästan uteslutande är unika. Resultatet visar en mätbar avvägning mellan stabilitet och frihet under den testade konfigurationen, inte ett universellt optimum.
Hur förhåller sig detta arbete till LLM-assisterad kodredigering?
Den testade modellen är en hierarkisk VQ-VAE med maskerad diskret generering, inte en stor språkmodell. Styrproblemet är ändå relevant för LLM-assisterad redigering, eftersom onödiga ändringar utanför det efterfrågade området utgör ett praktiskt problem. Artikeln bidrar med en kompletterande mekanism i latentrummet och ett utvärderingsramverk, inte ett benchmark för LLM-redigering.
Jämförelse med närliggande angreppssätt
| Förmåga | Styrning på tokennivå | Hierarkisk latent styrning |
|---|---|---|
| Lås den grova strukturen | Begränsat | Inbyggd låsning av grovkoder |
| Partiell regenerering | Bräckliga ytbegränsningar | Maskerad omsampling av valda koder |
| Granskningsbara styrpunkter | Inget explicit mellanlager | Grova och fina diskreta positioner |
| Evidens i denna artikel | Inte utvärderad som en fullständig baslinje | Diagnostik av syntaktisk stabilitet och redigeringsfrihet |
Tabellen beskriver gränssnitt och studiens uppmätta evidens; den gör inga anspråk på funktionell korrekthet eller universell överlägsenhet.
Relevans och avgränsning
Artikeln är särskilt relevant för arbeten som kräver explicit kontroll över vad en AI-assisterad kodtransformation får ändra och vilka delar av ett program som ska förbli stabila.
Styrbar och strukturbevarande kodgenerering
Lokal programreparation och avgränsad refaktorering
Hierarkiska diskreta representationer för källkod
Maskerad diskret generering av källkod
Latent styrning av programvaruartefakter
Begränsningar
- Studien är begränsad till korta Python-funktioner som trunkerats till 64 token.
- Utvärderingen använder argmax-avkodning och syntaktiska eller strukturella proxymått i stället för tester av funktionell ekvivalens.
- Det exakta bevarandet av signaturer är fortfarande bristfälligt.
- Styrning på lägre nivå är svagare än styrning på högsta nivån.
- Latenta positioner är ännu inte anpassade till semantiska regioner såsom AST-intervall, signaturer eller kontrollflödesstruktur.
- Resultaten belägger inte korrekthet för praktisk reparation, refaktorisering eller ändringar på repositorienivå.
Referenser som citeras i artikeln
Dessa poster motsvarar den numrerade referensförteckningen i artikelns PDF-version.
- Ali Razavi, Aaron van den Oord, Oriol Vinyals. . Generating Diverse High-Fidelity Images with VQ-VAE-2. Advances in Neural Information Processing Systems.
- Jacob Austin, Daniel D. Johnson, Jonathan Ho, Daniel Tarlow, Rianne van den Berg. . Structured Denoising Diffusion Models in Discrete State-Spaces. Advances in Neural Information Processing Systems.
- Subham Sekhar Sahoo, Marianne Arriola, Yair Schiff, Aaron Gokaslan, Edgar Marroquin, Justin T Chiu, Alexander Rush, Volodymyr Kuleshov. . Simple and Effective Masked Diffusion Language Models. Advances in Neural Information Processing Systems.
- Shraddha Barke, Michael B. James, Nadia Polikarpova. . Grounded Copilot: How Programmers Interact with Code-Generating Models. Proceedings of the ACM on Programming Languages.
- Fengji Zhang, Bei Chen, Yue Zhang, Jacky Keung, Jin Liu, Daoguang Zan, Yi Mao, Jian-Guang Lou, Weizhu Chen. . RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation. Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing.
Resurser och reproducerbarhet
- Utgivare
- ACM
- Lokal PDF med fulltext
- Författarens tryckfärdiga manuskript med slutlig författarlista och DOI
- Publikationsresurser
- Det offentliga manuskriptet, resultattabellerna, den förklarande figuren och citeringsfilerna finns här. Implementationskod och kontrollpunkter har inte offentliggjorts.
Dataredogörelse
- Källa
- En förbehandlad delmängd av CodeParrot Clean med 2 000 Python-funktioner.
- Licens
- Inga datauppsättningsfiler vidaredistribueras av denna webbplats; återanvändning omfattas fortsatt av licenserna för den ursprungliga CodeParrot-datauppsättningen och källkoden.
- Förbehandling
- Python-funktioner tokeniseras och trunkeras eller utfylls till 64 token före den hierarkiska kodningen.
- Uppdelning
- Postern redovisar en utvärderingsmängd med 2,000 funktioner; något oföränderligt manifest för uppdelningen i tränings- och valideringsdata ingår inte i den offentliga artikeln.
- Format
- Python-funktioner i källkod, tokensekvenser av GPT-typ, kodsekvenser på överordnad nivå med längden 16 samt sekvenser på underordnad nivå med längden 32.
- Version/kontrollsumma
- Någon kontrollsumma för datamängden eller identifierare för en oföränderlig ögonblicksbild redovisas inte i den tvåsidiga artikeln.
- Datainsamling
- Något offentligt skript för datainsamling publiceras inte tillsammans med publikationssidan.
- Användningsbegränsningar
- Urvalet är inte representativt för programvara i repositorieomfattning, flera programmeringsspråk eller beteendeverifierade reparationsuppgifter.
Versioner
- Publicerad versionACM FSE Companion, 2026
- FörfattarmanuskriptTextåtkomligt, tryckfärdigt manuskript med slutlig författarlista och DOI
- Extern fulltextspegelFörfattarmanuskript med licensen CC BY 4.0 på Hugging Face
- Öppna repositoriepostenZenodo-post indexerad av OpenAIRE
- Öppna fulltexten i repositorietFörfattarmanuskript på Zenodo under CC BY 4.0; textmässigt likvärdigt med det lokala manuskriptet
- FörfattarresurserPoster och presentationsbilder
- Bibliografisk postDBLP
- Öppna den vetenskapliga postenOpenAlex
- Post i citeringsgrafSemantic Scholar
- Fulltext delad av författarenResearchGate
- Lättillgänglig sammanfattningKudos
Den publicerade DOI:n är den primära bibliografiska identifieraren. Denna sida förblir projektets enda kanoniska URL i samtliga versioner.