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.

Alexey Gavrilov1Alan-Barsag Gazzaev1Mikhail Mozikov2Ilya Makarov2Sergey Muravyov1

  1. ITMO University, Saint Petersburg, Russian Federation
  2. AXXX, Moskva, Ryska federationen

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

DOI https://doi.org/10.1145/3803437.3807386

Dela denna artikelDela

Centrala resultat

Centrala resultat för Granskningsbar styrning för strukturbevarande omgenerering av programvara
InställningParsbarhetStommeSignaturOlåst ändring
Indata (avkortade)0.9940.9940.994
Kodekrekonstruktion0.8570.8480.4930
Ovillkorad generering0.4530.0800.995
Villkorad, prefix k=40.5910.2950.0610.936
Villkorad, signaturspann0.60.3020.063inte 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.

PDF och citering

Citera denna artikel BibTeX är det rekommenderade formatet. Varje variant nedan genereras från samma publikationspost.

Öppna PDF
@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},
}
Ladda ned .bib

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

DOI:https://doi.org/10.1145/3803437.3807386

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.

  1. 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.

  2. Lås

    Välj grova kodpositioner som representerar den struktur som ska bevaras, exempelvis ett prefix som täcker funktionssignaturens spann.

  3. Generera på nytt

    Utför maskerad diskret generering enbart över olåsta positioner och avkoda den fullbordade hierarkin tillbaka till källkod.

  4. Granska

    Mät parsbarhet, strukturella proxymått, förändringar i olåsta positioner och exemplens unikhetsgrad innan en omgenerering godtas.

Utvalda grova programkoder hålls fasta medan maskerade fina diskreta koder genereras på nytt och avkodas till en modifierad Python-funktion.
Hierarkisk redigering av diskreta latenta koder bevarar utvald grov programstruktur samtidigt som finkorniga koder regenereras i den redigerbara regionen.Källa: Författarskapat förklarande diagram baserat på den publicerade metoden och resultaten..Villkor för återanvändning: CC BY 4.0.Föreslagen attribuering: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. Ladda ned SVG.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Saklig jämförelse mellan Granskningsbar styrning för strukturbevarande omgenerering av programvara och närliggande angreppssätt
FörmågaStyrning på tokennivåHierarkisk latent styrning
Lås den grova strukturenBegränsatInbyggd låsning av grovkoder
Partiell regenereringBräckliga ytbegränsningarMaskerad omsampling av valda koder
Granskningsbara styrpunkterInget explicit mellanlagerGrova och fina diskreta positioner
Evidens i denna artikelInte utvärderad som en fullständig baslinjeDiagnostik 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.

  1. Styrbar och strukturbevarande kodgenerering

  2. Lokal programreparation och avgränsad refaktorering

  3. Hierarkiska diskreta representationer för källkod

  4. Maskerad diskret generering av källkod

  5. Latent styrning av programvaruartefakter

Se begränsningar och evidensens räckvidd

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.

  1. Ali Razavi, Aaron van den Oord, Oriol Vinyals. . Generating Diverse High-Fidelity Images with VQ-VAE-2. Advances in Neural Information Processing Systems.
  2. 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.
  3. 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.
  4. Shraddha Barke, Michael B. James, Nadia Polikarpova. . Grounded Copilot: How Programmers Interact with Code-Generating Models. Proceedings of the ACM on Programming Languages.
  5. 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
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

  1. Publicerad versionACM FSE Companion, 2026
  2. Öppna repositoriepostenZenodo-post indexerad av OpenAIRE
  3. Bibliografisk postDBLP
  4. Öppna den vetenskapliga postenOpenAlex
  5. Post i citeringsgrafSemantic Scholar
  6. Fulltext delad av författarenResearchGate
  7. 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.