Inspectable Control for Structure-Preserving Software Regeneration

Inspicerbar styring af strukturbevarende regenerering af software

Styrbar, delvis regenerering af kode med hierarkiske diskrete latente repræsentationer.

Alexey Gavrilov1Alan-Barsag Gazzaev1Mikhail Mozikov2Ilya Makarov2Sergey Muravyov1

  1. ITMO University, Sankt Petersborg, Den Russiske Føderation
  2. AXXX, Moscow, Russian Federation

Læs hele artiklen i HTMLSøgbar tekst med formler, tabeller, figurer og referencer.

Forfatterens trykklare manuskript med den endelige forfatterliste og DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. Vilkår for offentliggørelse og genbrug.

Artiklen på 30 sekunder

ForskningsspørgsmålHvordan kan en generativ model ændre udvalgte dele af et program og samtidig bevare valgte elementer af dets overordnede struktur?

Problemstilling

AI-assisterede kodeændringer kræver ofte én afgrænset ændring, mens udvalgte dele af programstrukturen fastholdes. Regenerering af hele programmet kan påvirke uvedkommende områder, og begrænsninger på tokenniveau giver ikke en grovkornet styringsgrænseflade.

Tilgang

Studiet indkoder Python-funktioner på 64 tokens med en hierarkisk VQ-VAE, låser udvalgte grovkornede diskrete koder og bruger maskeret diskret generering til at regenerere kode lokalt i de resterende latente positioner.

Hovedresultat

Når fire koder på øverste niveau låses, stiger parseraten fra 0.453 til 0.591. Samtidig er ændringsraten for de ulåste positioner fortsat 0.936, og unikhedsgraden blandt de betingede stikprøver er 0.998.

Hvorfor det er vigtigt

Resultaterne viser en målbar afvejning mellem stabilitet og redigeringsfrihed ved styrbar koderedigering og delvis regenerering af programmer. De giver foreløbigt belæg for et inspicerbart styringslag i det latente rum, men beviser ikke semantisk ækvivalens eller funktionel korrekthed.

Resumé

Arbejdsgange inden for softwareudvikling, herunder begrænset reparation, trinvis forfinelse og strukturbevarende ændringer, kræver styring af, hvad der ændres, og hvad der fastholdes. Generering på tokenniveau er en svag styringsgrænseflade til disse opgaver, fordi den begrænser lokal overfladetekst frem for de grovkornede strukturelle invarianter, som man ofte ønsker at bevare i softwareudvikling. Vi undersøger hierarkiske diskrete latente repræsentationer som en inspicerbar mellemrepræsentation for softwareartefakter: En hierarkisk VQ-VAE komprimerer en Python-funktion på 64 tokens til grov- og finkornede diskrete koder, og maskeret diskret generering regenererer kun udvalgte positioner under partielle begrænsninger. I 2.000 forbehandlede Python-funktioner øger låsning af fire koder på øverste niveau parseraten fra 0.453 til 0.591, samtidig med at de ulåste positioner fortsat ændres i betydeligt omfang (redigeringsfrihed, 0.936), og stikprøvernes unikhedsgrad er næsten maksimal (diversitet, 0.998). Når den grovkornede kontekst fastholdes, er forfinelsen på det nedre niveau svagere, men fortsat monoton; det understøtter en fortolkning af hierarkiet fra groft til fint. Samlet giver resultaterne foreløbigt belæg for et praktisk styringslag, der muliggør afgrænset, strukturbevarende regenerering af softwareartefakter over tokenniveauet.

Udgivet på Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering

Bidragstype Kontrolmetode for det latente rum

s. 1406–1407Ledsagende poster

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

Del denne artikelDel

Hovedresultater

Centrale resultater for inspicerbar kontrol af strukturbevarende softwareregenerering
IndstillingParserateSkeletSignaturUlåst ændring
Input (afkortet)0.9940.9940.994
Kodekrekonstruktion0.8570.8480.4930
Ubetinget generering0.4530.0800.995
Betinget, præfiks k=40.5910.2950.0610.936
Betinget, signaturspænd0.60.3020.063ikke rapporteret

Hovedresultat. Låsning af grovkornede latente positioner forbedrer den syntaktiske stabilitet uden at undertrykke ændringer i det redigerbare område; resultatet påviser strukturel styring, men garanterer ikke funktionel ækvivalens.

Datasæt
2,000 forbehandlede Python-funktioner fra en delmængde af CodeParrot Clean
Stikprøvestørrelse
2,000 forbehandlede Python-funktioner; unikheden blandt betingede stikprøver er 0.998.
Metrikker
Parsingsrate; proxyer for bevarelse af skelet og signatur; ændringsrate for ulåste positioner; stikprøveunikhed og entropi
Usikkerhed
Det tosiders studie rapporterer punktestimater uden konfidensintervaller eller statistisk analyse på tværs af flere seeds.
Betingelser
Funktioner på 64 tokens, argmax-afkodning, 16 koder på øverste niveau og 32 koder på nederste niveau; fuld låsning genskaber codec-rekonstruktionen eksakt.

PDF og citation

Citér artiklen BibTeX er det anbefalede format. Alle varianter nedenfor genereres ud fra den samme publikationspost.

Åbn 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},
}
Hent .bib

Citationsfiler:APA-tekstIEEE-tekstRISCSL-JSONSchema.org JSON-LDOAI-DC XMLOpenAIRE v4 XMLMODS XMLJATS 1.4-metadata-XMLFuldtekst i JATS 1.4 XMLRDF TurtleLinksæt (JSON)Linksæt (HTTP)RO-Crate

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

Komplet vejledning

Komplet forskningsvejledning

Metode

Metoden komprimerer en kort Python-funktion til to niveauer af diskrete koder, fastlåser udvalgte grove positioner og regenererer de resterende positioner, før de afkodes tilbage til kode.

  1. Indkod

    Komprimér en Python-funktion på 64 tokens til 16 koder på øverste niveau og 32 koder på nederste niveau med en hierarkisk VQ-VAE.

  2. Lås

    Vælg grovkornede kodepositioner, der repræsenterer den struktur, som skal bevares, eksempelvis et præfiks, der dækker funktionssignaturens spænd.

  3. Regenerér

    Kør kun masket diskret generering over ulåste positioner, og afkod det fuldførte hierarki tilbage til kildekode.

  4. Inspicér

    Mål parsingsrate, strukturelle proxyer, ændringer i ulåste positioner og stikprøveunikhed, før en regenerering accepteres.

Udvalgte grovkornede programkoder fastholdes, mens maskerede finkornede diskrete koder regenereres og afkodes til en ændret Python-funktion.
Hierarkisk redigering af diskrete latente koder bevarer udvalgte dele af programmets grovkornede struktur, mens de finkornede koder i det redigerbare område regenereres.Kilde: Forklarende diagram udarbejdet af forfatteren på grundlag af den publicerede metode og resultaterne..Vilkår for genbrug: CC BY 4.0.Foreslået kreditering: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. Hent SVG.

Hovedidé

Styringen anvendes på en indlært repræsentation over tokenniveauet: Grovkornede latente positioner angiver eksplicitte steder, hvor strukturen kan fastlåses, mens nærliggende implementeringsdetaljer fortsat kan redigeres.

Forskel fra beslægtede tilgange

Begrænsninger på prompt- eller tokenniveau virker på overfladeteksten. Den foreslåede grænseflade blotlægger grove og finkornede diskrete kontrolpunkter og måler den deraf følgende afvejning mellem stabilitet og frihed.

Hvad er nyt?

Arbejdet introducerer og evaluerer et inspicerbart, hierarkisk styringslag i det latente rum til afgrænset regenerering af softwareartefakter.

Spørgsmål, som denne artikel bidrager til at besvare

Åbn et spørgsmål for at få et kort svar med grundlag i artiklen. De detaljerede evidensgrænser fremgår af Begrænsninger.

  1. Hvordan kan AI redigere kode uden at omskrive det hele?

    Artiklen undersøger delvis koderegenerering over tokenniveauet. En hierarkisk VQ-VAE afbilder en kort Python-funktion til grove og fine diskrete koder; udvalgte grove positioner låses, og maskeret diskret generering ændrer kun de resterende latente positioner før afkodning. Dette giver en eksplicit bevarelsesgrænse i stedet for at regenerere hele funktionen.

  2. Hvilke metoder bevarer programstrukturen under kodegenerering?

    Dette arbejde afprøver hierarkisk diskret latent kontrol. Grove latente positioner kan fastholdes, mens ulåste positioner regenereres, hvorefter parseraten og strukturelle proxyer måles. Evidensen vedrører probabilistisk strukturel stabilitet i korte Python-funktioner; den fastslår ikke nøjagtig AST-bevarelse, semantisk ækvivalens eller funktionel korrekthed.

  3. Kan hierarkiske diskrete latente repræsentationer muliggøre lokaliseret styring af kode?

    I det rapporterede eksperiment med 2.000 funktioner øgede låsning af fire koder på øverste niveau parseraten fra 0.453 til 0.591. Samtidig blev 0.936 af de ulåste positioner ændret, og de betingede samples havde en unikhedsgrad på 0.998. Resultaterne udgør et foreløbigt belæg for, at grove latente begrænsninger kan bevare en vis struktur uden at fjerne den lokale redigeringsfrihed eller diversiteten blandt samples.

  4. Hvordan kan kodegenerering afveje strukturel stabilitet mod diversitet?

    Artiklen evaluerer stabilitet og frihed samlet frem for kun at optimere validitet. Låsning af grove koder øger den syntaktiske validitet, mens ændringer i ulåste positioner fortsat er omfattende, og betingede prøver forbliver næsten helt unikke. Resultatet påviser en målbar afvejning mellem stabilitet og frihed under den afprøvede konfiguration, ikke et universelt optimum.

  5. Hvordan forholder dette arbejde sig til LLM-assisteret koderedigering?

    Den afprøvede model er en hierarkisk VQ-VAE med maskeret diskret generering, ikke en stor sprogmodel. Kontrolproblemet er ikke desto mindre relevant for LLM-assisteret redigering, fordi unødvendige ændringer uden for et ønsket område udgør et praktisk problem. Artiklen bidrager med en komplementær mekanisme i det latente rum og en evalueringsramme, ikke et benchmark for LLM-redigering.

Sammenligning med beslægtede tilgange

Faktuel sammenligning mellem inspicerbar kontrol af strukturbevarende softwareregenerering og beslægtede tilgange
KapacitetKontrol på tokenniveauHierarkisk latent styring
Fastlås den overordnede strukturBegrænsetIndbygget låsning af grovkoder
Delvis regenereringSkrøbelige overfladebegrænsningerMaskeret genudtrækning af udvalgte koder
Inspicerbare kontrolpunkterIntet eksplicit mellemlagGrov- og finkornede diskrete positioner
Evidens i denne artikelIkke evalueret som et fuldstændigt sammenligningsgrundlagDiagnostik af syntaktisk stabilitet og redigeringsfrihed

Tabellen beskriver grænseflader og studiets målte evidens; den hævder hverken funktionel korrekthed eller universel overlegenhed.

Relevans og afgrænsning

Artiklen er mest relevant for arbejde, der kræver eksplicit styring af, hvad en AI-assisteret kodetransformation må ændre, og hvilke dele af et program der skal forblive stabile.

  1. Styrbar og strukturbevarende kodegenerering

  2. Lokaliseret programreparation og afgrænset refaktorering

  3. Hierarkiske diskrete repræsentationer af kildekode

  4. Maskeret diskret generering af kildekode

  5. Latent kontrol af softwareartefakter

Se begrænsninger og evidensgrænser

Begrænsninger

  • Studiet er begrænset til korte Python-funktioner, der er afkortet til 64 tokens.
  • Evalueringen anvender argmax-afkodning og syntaktiske eller strukturelle proxy-mål frem for test af funktionel ækvivalens.
  • Den præcise bevarelse af funktionssignaturen er fortsat utilstrækkelig.
  • Kontrol på lavere niveau er svagere end kontrol på øverste niveau.
  • Latente positioner er endnu ikke afstemt med semantiske områder såsom AST-spænd, signaturer eller kontrolflowstruktur.
  • Resultaterne dokumenterer ikke korrekthed ved praktisk reparation, refaktorering eller ændringer på repositoryniveau.

Referencer citeret i artiklen

Disse poster svarer til den nummererede referenceliste i artiklens PDF.

  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.

Ressourcer og reproducerbarhed

Forlag
ACM
Publikationsressourcer
Det offentlige manuskript, resultattabellerne, den forklarende figur og citationsfilerne er tilgængelige her. Implementeringskode og kontrolpunkter er ikke offentliggjort.

Dataerklæring

Kilde
En forbehandlet delmængde af CodeParrot Clean med 2,000 Python-funktioner.
Licens
Dette websted videredistribuerer ingen datasætfiler; genbrug er fortsat underlagt licenserne for det oprindelige CodeParrot-datasæt og kildekoden.
Forbehandling
Python-funktioner tokeniseres og afkortes eller udfyldes til 64 tokens inden den hierarkiske kodning.
Opdeling
Posteren rapporterer et evalueringssæt med 2,000 funktioner; et uforanderligt manifest over opdelingen mellem trænings- og valideringsdata indgår ikke i den offentlige artikel.
Format
Python-kildefunktioner, tokensekvenser i GPT-stil, kodesekvenser på øverste niveau med længden 16 og sekvenser på lavere niveau med længden 32.
Version / kontrolsum
Artiklen på to sider angiver hverken en kontrolsum for datasættet eller en uforanderlig snapshot-identifikator.
Indsamling
Der offentliggøres ikke et offentligt indsamlingsscript sammen med publikationssiden.
Begrænsninger for anvendelse
Stikprøven er ikke repræsentativ for software på repositoryniveau, flere programmeringssprog eller adfærdsverificerede reparationsopgaver.

Versioner

  1. Bibliografiske oplysningerDBLP
  2. Åbn den videnskabelige postOpenAlex
  3. Post i citationsgrafenSemantic Scholar
  4. Fuldtekst delt af forfatterenResearchGate
  5. Resumé i almindeligt sprogAnerkendelser

Den offentliggjorte DOI er den primære bibliografiske identifikator. Denne side forbliver projektets eneste kanoniske URL på tværs af versioner.