# Inspectable Control for Structure-Preserving Software Regeneration

Canonical HTML: https://aogavrilov.com/ro/publications/inspectable-control/

Document language: ro

Control inspectabil pentru regenerarea software cu păstrarea structurii

Regenerare parțială controlabilă a codului folosind reprezentări latente discrete ierarhice.

[Alexey Gavrilov](https://orcid.org/0009-0006-3147-5430) 1 [Alan-Barsag Gazzaev](https://orcid.org/0009-0000-0334-312X) 1 [Mikhail Mozikov](https://orcid.org/0000-0003-0594-867X) 2 [Ilya Makarov](https://orcid.org/0000-0002-3308-8825) 2 [Sergey Muravyov](https://orcid.org/0000-0002-4251-1744) 1

1. [ITMO University, Saint Petersburg, Russian Federation](https://en.itmo.ru/)
2. [AXXX, Moscova, Federația Rusă](https://axxx.tech/)

[Citiți articolul integral în format HTML](https://aogavrilov.com/publications/inspectable-control/full-text/) Text interogabil cu formule, tabele, figuri și referințe.

Versiunea finală a manuscrisului furnizată de autor, cu lista definitivă de autori și DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. [Condiții de publicare și reutilizare](https://creativecommons.org/licenses/by/4.0/) .

## Lucrarea în 30 de secunde

**Întrebare de cercetare** Cum poate un model generativ să modifice anumite părți ale unui program, păstrând elementele alese ale structurii sale grosiere?

### Problemă

Modificarea codului asistată de IA necesită adesea o singură schimbare delimitată, în timp ce o structură selectată a programului rămâne fixă. Regenerarea întregului program poate perturba regiuni fără legătură, iar constrângerile la nivel de token nu oferă o suprafață de control grosieră.

### Abordare

Studiul codifică funcții Python de 64 de tokenuri cu un VQ-VAE ierarhic, blochează anumite coduri discrete grosiere și utilizează generarea discretă mascată pentru regenerarea localizată a codului în pozițiile latente rămase.

### Rezultatul principal

Blocarea a patru coduri de nivel superior mărește rata de analizare de la 0.453 la 0.591, în timp ce pozițiile neblocate continuă să se modifice cu rata 0.936, iar eșantioanele condiționate rămân unice în proporție de 0.998.

### De ce este important

Rezultatele evidențiază un compromis măsurabil între stabilitate și libertate pentru editarea controlabilă a codului și regenerarea parțială a programelor. Ele oferă dovezi preliminare pentru un strat latent de control inspectabil, nu o demonstrație a echivalenței semantice sau a corectitudinii funcționale.

## Rezumat

Fluxurile de lucru din ingineria software, precum repararea constrânsă, rafinarea etapizată și modificarea cu păstrarea structurii, impun controlul asupra elementelor care se schimbă și a celor care rămân fixe. Generarea la nivel de tokenuri oferă o interfață de control insuficientă pentru aceste operații, deoarece constrânge forma locală a textului, nu invariantele structurale grosiere pe care ingineria software urmărește adesea să le păstreze. Studiem variabilele latente discrete ierarhice ca reprezentare intermediară inspectabilă pentru artefacte software: un VQ-VAE ierarhic comprimă o funcție Python de 64 de tokenuri în coduri discrete grosiere și fine, iar generarea discretă mascată regenerează numai pozițiile selectate, sub constrângeri parțiale. Pe 2,000 de funcții Python preprocesate, blocarea a patru coduri de nivel superior îmbunătățește rata de parsare de la 0.453 la 0.591, menținând totodată modificări substanțiale în pozițiile deblocate (libertatea editării, 0.936) și o unicitate aproape maximă a eșantioanelor (diversitate, 0.998). Cu un context grosier fix, rafinarea la nivelul inferior este mai slabă, dar rămâne monotonă, ceea ce susține o interpretare de la grosier la fin a ierarhiei. În ansamblu, aceste rezultate oferă dovezi preliminare privind un strat practic de control care permite regenerarea delimitată a artefactelor software, cu păstrarea structurii, deasupra nivelului tokenurilor.

Publicat în Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering

Tipul contribuției Metodă de control în spațiul latent

5 iulie 2026 pp. 1406–1407 Poster asociat

DOI [https://doi.org/10.1145/3803437.3807386](https://doi.org/10.1145/3803437.3807386)

## Cuprins Pe această pagină

## Rezultate principale

| Configurație | Rata de analizare sintactică | Schemă structurală | Semnătură | Modificare deblocată |
| --- | --- | --- | --- | --- |
| Intrare (trunchiată) | 0.994 | 0.994 | 0.994 | — |
| Reconstrucția codecului | 0.857 | 0.848 | 0.493 | 0 |
| Generare necondiționată | 0.453 | 0.08 | 0 | 0.995 |
| Condiționat, prefix k=4 | 0.591 | 0.295 | 0.061 | 0.936 |
| Condiționat, intervalul semnăturii | 0.6 | 0.302 | 0.063 | neraportat |

**Rezultatul principal.** Blocarea variabilelor latente grosiere îmbunătățește stabilitatea sintactică fără a suprima modificările din regiunea editabilă; rezultatul demonstrează control structural, nu o echivalență funcțională garantată.

Descărcați rezultatele: [CSV](https://aogavrilov.com/publications/inspectable-control/results.csv) [JSON](https://aogavrilov.com/publications/inspectable-control/results.json) [Markdown](https://aogavrilov.com/publications/inspectable-control/results.md) Oglindă externă: [Fișa setului de date Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results)

## PDF și citare

**Citați această lucrare** BibTeX este formatul recomandat. Fiecare variantă de mai jos este generată din aceeași înregistrare a publicației.

```
@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},
}
```

Fișiere de citare: [Text APA](https://aogavrilov.com/publications/inspectable-control/citation-apa.txt) [Text IEEE](https://aogavrilov.com/publications/inspectable-control/citation-ieee.txt) [RIS](https://aogavrilov.com/publications/inspectable-control/citation.ris) [CSL-JSON](https://aogavrilov.com/publications/inspectable-control/citation.json) [Schema.org JSON-LD](https://aogavrilov.com/publications/inspectable-control/metadata.jsonld) [OAI-DC XML](https://aogavrilov.com/publications/inspectable-control/oai-dc.xml) [OpenAIRE v4 XML](https://aogavrilov.com/publications/inspectable-control/openaire.xml) [MODS XML](https://aogavrilov.com/publications/inspectable-control/mods.xml) [Metadate XML JATS 1.4](https://aogavrilov.com/publications/inspectable-control/metadata.jats.xml) [Text integral în format JATS 1.4 XML](https://aogavrilov.com/publications/inspectable-control/full-text/article.jats.xml) [RDF Turtle](https://aogavrilov.com/publications/inspectable-control/metadata.ttl) [Set de legături (JSON)](https://aogavrilov.com/publications/inspectable-control/linkset.json) [Set de legături (HTTP)](https://aogavrilov.com/publications/inspectable-control/linkset) [RO-Crate](https://aogavrilov.com/publications/inspectable-control/ro-crate-metadata.json)

DOI: [https://doi.org/10.1145/3803437.3807386](https://doi.org/10.1145/3803437.3807386)

Ghid complet

## Ghid complet de cercetare

## Metodă

## 

Metoda comprimă o funcție Python scurtă în două niveluri de coduri discrete, fixează pozițiile grosiere selectate și regenerează pozițiile rămase înainte de decodarea înapoi în cod.

1. Codificare Comprimați o funcție Python de 64 de tokenuri în 16 coduri de nivel superior și 32 de coduri de nivel inferior, utilizând un VQ-VAE ierarhic.
2. Blocați Alegeți poziții de cod grosiere care reprezintă structura ce trebuie conservată, precum un prefix care acoperă intervalul semnăturii funcției.
3. Regenerați Rulați generarea discretă mascată numai asupra pozițiilor deblocate și decodificați ierarhia completată înapoi în cod-sursă.
4. Inspectați Înainte de a accepta o regenerare, măsurați rata de analizare sintactică, indicatorii indirecți structurali, modificarea pozițiilor deblocate și unicitatea eșantioanelor.

![Codurile grosiere selectate ale programului rămân fixe, în timp ce codurile discrete fine mascate sunt regenerate și decodate într-o funcție Python modificată.](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg)

**Editarea ierarhică a codurilor latente discrete păstrează structura grosieră selectată a programului, regenerând în același timp codurile fine din regiunea editabilă.* Sursă: [Diagramă explicativă creată de autor pe baza metodei și rezultatelor publicate.](https://doi.org/10.1145/3803437.3807386) . Condiții de reutilizare: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . Citare sugerată: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. [Descărcați SVG](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg) .*

### Ideea principală

Controlul se aplică unei reprezentări învățate, situate deasupra tokenurilor: pozițiile latente grosiere definesc locuri explicite în care structura poate fi fixată, în timp ce detaliile de implementare din proximitate rămân editabile.

### Deosebirea față de abordările înrudite

Constrângerile la nivel de instrucțiune sau de token operează asupra textului de suprafață. Interfața propusă expune puncte discrete de control, atât grosiere, cât și fine, și măsoară compromisul rezultat între stabilitate și libertate.

### Elemente de noutate

Lucrarea introduce și evaluează un strat ierarhic și inspectabil de control latent pentru regenerarea delimitată a artefactelor software.

## Întrebări la care contribuie acest articol

## 

Deschideți o întrebare pentru un răspuns concis fundamentat în lucrare. Limitele detaliate ale dovezilor sunt prezentate în secțiunea Limitări.

1. Cum poate IA să editeze cod fără a rescrie totul? Lucrarea studiază regenerarea parțială a codului deasupra nivelului tokenilor. Un VQ-VAE ierarhic mapează o funcție Python scurtă în coduri discrete grosiere și fine; pozițiile grosiere selectate sunt blocate, iar generarea discretă mascată modifică numai pozițiile latente rămase înainte de decodare. Astfel se obține o limită de conservare explicită, în locul regenerării întregii funcții.
2. Ce metode păstrează structura programului în timpul generării codului? Lucrarea testează controlul latent discret ierarhic. Pozițiile latente grosiere pot fi fixate, în timp ce pozițiile deblocate sunt regenerate, după care se măsoară rata de analizare sintactică și indicatorii indirecți structurali. Dovezile privesc stabilitatea structurală probabilistică pentru funcții Python scurte; ele nu demonstrează păstrarea exactă a AST, echivalența semantică sau corectitudinea funcțională.
3. Pot variabilele latente discrete ierarhice să ofere un control localizat asupra codului? În experimentul raportat, care a inclus 2.000 de funcții, blocarea a patru coduri de nivel superior a crescut rata de analizare de la 0.453 la 0.591. Totodată, 0.936 dintre pozițiile neblocate s-au modificat, iar eșantioanele condiționate au fost unice în proporție de 0.998. Aceste rezultate constituie dovezi preliminare că anumite constrângeri latente grosiere pot conserva o parte din structură fără a elimina libertatea editării locale sau diversitatea eșantioanelor.
4. Cum poate generarea de cod să echilibreze stabilitatea structurală și diversitatea? Lucrarea evaluează împreună stabilitatea și libertatea, în loc să optimizeze exclusiv validitatea. Blocarea codurilor grosiere sporește validitatea sintactică, în timp ce modificarea pozițiilor deblocate rămâne ridicată, iar eșantioanele condiționate rămân aproape în întregime unice. Rezultatul demonstrează un compromis măsurabil între stabilitate și libertate în configurația testată, nu un optim universal.
5. Cum se raportează această lucrare la editarea codului asistată de LLM-uri? Modelul testat este un VQ-VAE ierarhic cu generare discretă mascată, nu un model lingvistic de mari dimensiuni. Problema controlului este totuși relevantă pentru editarea asistată de LLM, deoarece modificările inutile din afara regiunii solicitate constituie o dificultate practică. Lucrarea propune un mecanism complementar în spațiul latent și un cadru de evaluare, nu un reper de evaluare pentru editarea cu LLM.

## Comparație cu abordări înrudite

## 

| Capabilitate | Control la nivel de token | Control latent ierarhic |
| --- | --- | --- |
| Fixați structura grosieră | Limitat | Blocarea nativă a codurilor grosiere |
| Regenerare parțială | Constrângeri fragile de suprafață | Reeșantionarea mascată a codurilor selectate |
| Puncte de control inspectabile | Fără strat intermediar explicit | Poziții discrete grosiere și fine |
| Dovezile din această lucrare | Nu a fost evaluat ca linie de bază completă | Diagnosticarea stabilității sintactice și a libertății de editare |

Tabelul descrie interfețele și dovezile măsurate în studiu; nu susține corectitudinea funcțională sau superioritatea universală.

## Relevanță și domeniu de aplicare

## 

Lucrarea este deosebit de relevantă pentru cercetările care necesită control explicit asupra elementelor pe care o transformare de cod asistată de IA le poate modifica și asupra părților programului care trebuie să rămână stabile.

1. Generare controlabilă de cod cu conservarea structurii
2. Repararea localizată a programelor și refactorizarea delimitată
3. Reprezentări discrete ierarhice pentru codul-sursă
4. Generare discretă mascată pentru codul-sursă
5. Control latent pentru artefacte software

## Limitări

## 

- Studiul se limitează la funcții Python scurte, trunchiate la 64 de tokenuri.
- Evaluarea utilizează decodificarea argmax și indicatori surogat sintactici sau structurali, nu teste de echivalență funcțională.
- Păstrarea exactă a semnăturii rămâne deficitară.
- Controlul la nivel inferior este mai slab decât cel la nivel superior.
- Pozițiile latente nu sunt încă aliniate cu regiuni semantice precum intervalele AST, semnăturile sau structura fluxului de control.
- Rezultatele nu stabilesc corectitudinea pentru reparări practice, refactorizări sau modificări la nivel de depozit.

## Referințe citate în articol

## 

Aceste intrări corespund secțiunii numerotate de referințe din versiunea PDF a lucrării.

1. Ali Razavi, Aaron van den Oord, Oriol Vinyals. 2019 . [Generating Diverse High-Fidelity Images with VQ-VAE-2](https://arxiv.org/abs/1906.00446) . Advances in Neural Information Processing Systems .
2. Jacob Austin, Daniel D. Johnson, Jonathan Ho, Daniel Tarlow, Rianne van den Berg. 2021 . [Structured Denoising Diffusion Models in Discrete State-Spaces](https://arxiv.org/abs/2107.03006) . 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. 2024 . [Simple and Effective Masked Diffusion Language Models](https://arxiv.org/abs/2406.07524) . Advances in Neural Information Processing Systems .
4. Shraddha Barke, Michael B. James, Nadia Polikarpova. 2023 . [Grounded Copilot: How Programmers Interact with Code-Generating Models](https://doi.org/10.1145/3586030) . 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. 2023 . [RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation](https://doi.org/10.18653/v1/2023.emnlp-main.151) . Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing .

## Resurse și reproductibilitate

## 

### Declarație privind datele

## Versiuni

## 

1. **Versiunea publicată** [ACM FSE Companion, 2026](https://doi.org/10.1145/3803437.3807386)
2. **Manuscrisul autorului** [Manuscris final pentru publicare, accesibil ca text, cu lista definitivă a autorilor și DOI](https://aogavrilov.com/publications/inspectable-control/paper.pdf)
3. **Oglindă externă cu text integral** [Manuscrisul autorului, sub licența CC BY 4.0, pe Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results/resolve/main/paper.pdf)
4. **Deschideți înregistrarea din depozit** [Înregistrare Zenodo indexată de OpenAIRE](https://zenodo.org/records/21605395)
5. **Deschideți textul integral din depozit** [Manuscris al autorului pe Zenodo, CC BY 4.0; echivalent textual cu manuscrisul local](https://zenodo.org/records/21605395/files/fse2026-posters-final11%20%284%29.pdf?download=1)
6. **Resursele autorului** [Poster și set de diapozitive](https://aogavrilov.com/publications/inspectable-control/media/)
7. **Înregistrare bibliografică** [DBLP](https://dblp.org/rec/conf/sigsoft/GavrilovGMMM26)
8. **Deschideți înregistrarea academică** [OpenAlex](https://openalex.org/W7169573479)
9. **Înregistrare în graful de citări** [Semantic Scholar](https://www.semanticscholar.org/paper/93c3de037596ce177d9d882d214ccad5c5405b00)
10. **Text integral distribuit de autor** [ResearchGate](https://www.researchgate.net/publication/410435483_Inspectable_Control_for_Structure-Preserving_Software_Regeneration)
11. **Rezumat în limbaj accesibil** [Aprecieri](https://www.growkudos.com/publications/10.1145%252F3803437.3807386/reader)

DOI-ul publicat este identificatorul bibliografic principal. Această pagină rămâne unicul URL canonic al proiectului pentru toate versiunile.

## Publicație conexă

- [Where Quality Breaks in Compressed Short-Text Generation: Staged Bottleneck Localization](https://aogavrilov.com/ro/publications/where-quality-breaks/)

Citiți [Editare controlabilă a codului](https://aogavrilov.com/ro/projects/discrete-latent-generation/) ghidul de cercetare. [Despre autor](https://aogavrilov.com/about/) .

### Note de cercetare focalizate

Răspunsuri adaptate intenției, cu delimitarea dovezilor și trimiteri către această lucrare.

- [Modificarea localizată a codului cu modele generative](https://aogavrilov.com/ro/research-notes/localized-code-modification-generative-models/)
- [Generarea constrânsă de cod pentru ingineria software](https://aogavrilov.com/ro/research-notes/constrained-code-generation-software-engineering/)
- [Refactorizare asistată de IA: metode și dovezi](https://aogavrilov.com/ro/research-notes/ai-assisted-refactoring-evidence/)
- [Generarea predictibilă de cod necesită un contract de păstrare](https://aogavrilov.com/ro/research-notes/predictable-code-generation-preservation-contract/)
