# Inspectable Control for Structure-Preserving Software Regeneration

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

Document language: bg

Контрол с възможност за проверка при регенериране на софтуер със запазване на структурата

Управляемо частично повторно генериране на код чрез йерархични дискретни латентни представяния.

[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, Москва, Руска федерация](https://axxx.tech/)

[Прочетете пълния текст във формат HTML](https://aogavrilov.com/publications/inspectable-control/full-text/) Текст с възможност за търсене, включващ формули, таблици, фигури и библиография.

Окончателен авторски ръкопис с финалния списък на авторите и DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. [Условия за публикуване и повторно използване](https://creativecommons.org/licenses/by/4.0/) .

## Статията за 30 секунди

**Изследователски въпрос** Как генеративен модел може да променя избрани части от програма, като същевременно запазва определени елементи от грубата ѝ структура?

### Проблем

Промяната на код с помощта на ИИ често изисква една ограничена намеса, при която избрани елементи от структурата на програмата остават фиксирани. Регенерирането на цялата програма може да засегне несвързани области, а ограниченията на равнище токени не осигуряват средство за по-общ структурен контрол.

### Подход

Изследването кодира Python функции от 64 токена с йерархичен VQ-VAE, заключва избрани груби дискретни кодове и използва маскирано дискретно генериране за локално регенериране на кода в останалите латентни позиции.

### Основен резултат

Фиксирането на четири кода от най-горното ниво повишава дела на успешно синтактично анализираните примери от 0.453 на 0.591; делът на променените нефиксирани позиции остава 0.936, а условните извадки — уникални с дял 0.998.

### Защо това е важно

Резултатите показват измерим баланс между стабилност и свобода при управляемо редактиране на код и частично повторно генериране на програми. Те предоставят ранни доказателства за подлежащ на проверка латентен слой за контрол, а не доказателство за семантична еквивалентност или функционална коректност.

## Резюме

Работните процеси в софтуерното инженерство — като поправяне при зададени ограничения, поетапно усъвършенстване и модификация със запазване на структурата — изискват контрол върху това какво се променя и какво остава фиксирано. Генерирането на равнище токени е слабо средство за контрол при тези операции, тъй като ограничава непосредствената текстова форма, а не общите структурни инварианти, които софтуерното инженерство често цели да запази. Изследваме йерархичните дискретни латентни представяния като междинно представяне на софтуерни артефакти с възможност за проверка: йерархичен VQ-VAE компресира Python функция от 64 токена до груби и фини дискретни кодове, а маскираното дискретно генериране регенерира само избрани позиции при частични ограничения. При 2 000 предварително обработени Python функции фиксирането на четири кода от най-горното ниво повишава дела на успешно синтактично анализираните функции от 0.453 на 0.591, като запазва значителен дял промени в нефиксираните позиции (свобода на редактиране, 0.936) и почти максимална уникалност на извадките (разнообразие, 0.998). При фиксиран груб контекст усъвършенстването на по-ниското ниво е по-слабо, но остава монотонно, което подкрепя тълкуването на йерархията от общото към детайла. Като цяло резултатите дават предварителни доказателства за практически контролен слой, който позволява ограничено регенериране на софтуерни артефакти със запазване на структурата над равнището на токените.

Публикувано в Трудове на 34-тата международна конференция на ACM по основи на софтуерното инженерство

Вид на приноса Метод за контрол в латентното пространство

5 юли 2026 г. с. 1406–1407 Съпътстващ постер

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

## Съдържание На тази страница

## Основни резултати

| Настройка | Дял на успешно синтактично анализираните примери | Скелет | Сигнатура | Отключена промяна |
| --- | --- | --- | --- | --- |
| Вход (съкратен) | 0.994 | 0.994 | 0.994 | — |
| Реконструкция от кодека | 0.857 | 0.848 | 0.493 | 0 |
| Безусловно генериране | 0.453 | 0.08 | 0 | 0.995 |
| Условно, префикс k=4 | 0.591 | 0.295 | 0.061 | 0.936 |
| Условно, диапазон на сигнатурата | 0.6 | 0.302 | 0.063 | не е отчетено |

**Основен резултат.** Заключването на грубите латентни представяния подобрява синтактичната устойчивост, без да потиска промените в редактируемата област; резултатът показва структурен контрол, а не гарантирана функционална еквивалентност.

Изтегляне на резултатите: [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) Външен огледален източник: [Карта на набор от данни в Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results)

## PDF и цитиране

**Как да цитирате статията** BibTeX е препоръчителният формат. Всеки вариант по-долу е генериран от един и същ запис за публикацията.

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

Файлове с библиографски записи: [Текст по APA](https://aogavrilov.com/publications/inspectable-control/citation-apa.txt) [Текст във формат 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) [XML метаданни по JATS 1.4](https://aogavrilov.com/publications/inspectable-control/metadata.jats.xml) [Пълен текст във формат 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) [Набор от връзки (JSON)](https://aogavrilov.com/publications/inspectable-control/linkset.json) [Набор от връзки (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)

Пълно ръководство

## Пълно изследователско ръководство

## Метод

## 

Методът компресира кратка Python функция до две нива от дискретни кодове, фиксира избрани груби позиции и генерира наново останалите позиции, преди да ги декодира обратно до програмен код.

1. Кодиране Компресирайте Python функция от 64 токена до 16 кода от горното ниво и 32 кода от долното ниво посредством йерархичен VQ-VAE.
2. Фиксиране Изберете позиции на грубите кодове, които представят структурата за запазване, например префикс, обхващащ сигнатурата на функцията.
3. Повторно генериране Изпълнете маскирано дискретно генериране само върху отключените позиции и декодирайте завършената йерархия обратно в изходен код.
4. Проверка Преди да приемете регенериран резултат, измерете дела на успешно синтактично анализираните примери, структурните заместители, промените в отключените позиции и уникалността на извадките.

![Избраните груби кодове на програмата остават фиксирани, докато маскираните фини дискретни кодове се регенерират и декодират в променена Python функция.](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg)

**Йерархичното редактиране чрез дискретни латентни кодове запазва избрани елементи от общата структура на програмата, докато регенерира фините кодове в редактируемата област.* Източник: [Обяснителна диаграма, създадена от автора въз основа на публикуваните метод и резултати.](https://doi.org/10.1145/3803437.3807386) . Условия за повторно използване: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . Препоръчително позоваване: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. [Изтегляне на SVG](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg) .*

### Основна идея

Контролът се прилага върху научено представяне над нивото на токените: позициите на грубите латентни представяния задават явни места, в които структурата може да бъде фиксирана, докато близките подробности на реализацията остават редактируеми.

### Разлика спрямо сродни подходи

Ограниченията на равнище инструкция или токен действат върху непосредствената текстова форма. Предложеният интерфейс предоставя дискретни точки за контрол на грубо и фино равнище и измерва произтичащия компромис между стабилност и свобода.

### Какво е новото

Разработката въвежда и оценява проверим йерархичен слой за латентен контрол при ограничено регенериране на софтуерни артефакти.

## Въпроси, на които тази статия помага да се отговори

## 

Отворете въпрос за кратък отговор, основан на статията. Подробните граници на доказателствата са посочени в раздел „Ограничения“.

1. Как изкуственият интелект може да редактира код, без да пренаписва всичко? Статията изследва частично повторно генериране на код над нивото на токените. Йерархичен VQ-VAE преобразува кратка Python функция в груби и фини дискретни кодове; избрани груби позиции се фиксират, а маскираното дискретно генериране променя само останалите латентни позиции преди декодирането. Така се задава изрична граница на запазване, вместо да се генерира наново цялата функция.
2. Кои методи запазват структурата на програмата при генериране на код? Тази разработка изпитва йерархичен дискретен латентен контрол. Грубите латентни позиции могат да бъдат фиксирани, докато отключените позиции се регенерират, след което се измерват делът на успешно синтактично анализираните резултати и структурни косвени показатели. Данните се отнасят до вероятностна структурна стабилност при кратки Python функции; те не установяват точно запазване на AST, семантична еквивалентност или функционална коректност.
3. Могат ли йерархичните дискретни латентни представяния да осигурят локализиран контрол върху кода? В описания експеримент с 2 000 функции фиксирането на четири кода от най-горното ниво повиши дела на успешно синтактично анализираните примери от 0.453 на 0.591. Същевременно делът на променените нефиксирани позиции беше 0.936, а условните извадки бяха уникални с дял 0.998. Тези резултати дават предварителни основания да се смята, че грубите ограничения в латентното пространство могат да запазят част от структурата, без да премахват свободата за локално редактиране или разнообразието на извадките.
4. Как при генерирането на код да се постигне баланс между структурна устойчивост и разнообразие? Статията оценява съвместно стабилността и свободата, вместо да оптимизира единствено валидността. Фиксирането на грубите кодове повишава синтактичната валидност, докато промените в нефиксираните позиции остават значителни, а условните извадки — почти изцяло уникални. Резултатът показва измерим баланс между стабилност и свобода при изпитаната конфигурация, а не универсален оптимум.
5. Как тази работа се отнася към редактирането на код с помощта на LLM? Изпитваният модел е йерархичен VQ-VAE с маскирано дискретно генериране, а не голям езиков модел. Въпреки това проблемът за контрола е съществен за редактирането с помощта на LLM, тъй като ненужните промени извън заявената област представляват практически проблем. Статията предлага допълващ механизъм в латентното пространство и рамка за оценяване, а не еталон за редактиране с LLM.

## Сравнение със сродни подходи

## 

| Възможност | Контрол на равнище токени | Йерархичен латентен контрол |
| --- | --- | --- |
| Фиксиране на грубата структура | Ограничено | Вградено заключване на грубите кодове |
| Частично регенериране | Нестабилни повърхнинни ограничения | Маскирано повторно семплиране на избрани кодове |
| Подлежащи на проверка точки за контрол | Без изрично обособен междинен слой | Дискретни позиции от грубото и финото ниво |
| Доказателства в тази публикация | Не е оценено като цялостна базова линия | Диагностика на синтактичната стабилност и свободата на редактиране |

Таблицата описва интерфейсите и измерените в изследването данни; тя не претендира за функционална коректност или универсално превъзходство.

## Приложимост и обхват

## 

Статията е най-приложима за разработки, които изискват изричен контрол върху това какво може да променя подпомагана от ИИ трансформация на код и кои части на програмата трябва да останат стабилни.

1. Управляемо генериране на код със запазване на структурата
2. Локализирано поправяне на програми и рефакториране в зададени граници
3. Йерархични дискретни представяния на програмен код
4. Маскирано дискретно генериране на изходен код
5. Латентен контрол върху софтуерни артефакти

## Ограничения

## 

- Изследването е ограничено до кратки Python функции, съкратени до 64 токена.
- Оценяването използва argmax декодиране и косвени синтактични или структурни показатели вместо тестове за функционална еквивалентност.
- Точното запазване на сигнатурата остава незадоволително.
- Контролът на по-ниско ниво е по-слаб от контрола на най-горно ниво.
- Латентните позиции все още не са съгласувани със семантични области като диапазони в AST, сигнатури или структура на потока на управление.
- Резултатите не установяват коректност при практическо поправяне, рефакториране или промени на ниво хранилище.

## Източници, цитирани в статията

## 

Тези записи съответстват на номерирания раздел References в PDF файла на статията.

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 .

## Ресурси и възпроизводимост

## 

### Декларация относно данните

## Версии

## 

1. **Публикувана версия** [ACM FSE Companion, 2026](https://doi.org/10.1145/3803437.3807386)
2. **Авторски ръкопис** [Достъпен като текст окончателен ръкопис за печат с финалния списък на авторите и DOI](https://aogavrilov.com/publications/inspectable-control/paper.pdf)
3. **Външен огледален източник на пълния текст** [Авторски ръкопис с лиценз CC BY 4.0 в Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results/resolve/main/paper.pdf)
4. **Отваряне на записа в хранилището** [Запис в Zenodo, индексиран от OpenAIRE](https://zenodo.org/records/21605395)
5. **Отваряне на пълния текст в хранилището** [Авторски ръкопис в Zenodo с лиценз CC BY 4.0; текстово еквивалентен на локалния ръкопис](https://zenodo.org/records/21605395/files/fse2026-posters-final11%20%284%29.pdf?download=1)
6. **Ресурси от автора** [Постер и презентация](https://aogavrilov.com/publications/inspectable-control/media/)
7. **Библиографски запис** [DBLP](https://dblp.org/rec/conf/sigsoft/GavrilovGMMM26)
8. **Отваряне на научния запис** [OpenAlex](https://openalex.org/W7169573479)
9. **Запис в графа на цитиранията** [Semantic Scholar](https://www.semanticscholar.org/paper/93c3de037596ce177d9d882d214ccad5c5405b00)
10. **Пълен текст, споделен от автора** [ResearchGate](https://www.researchgate.net/publication/410435483_Inspectable_Control_for_Structure-Preserving_Software_Regeneration)
11. **Резюме на достъпен език** [Признание](https://www.growkudos.com/publications/10.1145%252F3803437.3807386/reader)

Публикуваният DOI е основният библиографски идентификатор. Тази страница остава единственият каноничен URL на проекта във всички версии.

## Свързана публикация

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

Прочетете [Управляемо редактиране на код](https://aogavrilov.com/bg/projects/discrete-latent-generation/) изследователското ръководство. [За автора](https://aogavrilov.com/about/) .

### Тематични изследователски бележки

Отговори според конкретното намерение, с ясно очертани граници на доказателствата и препратки към настоящата публикация.

- [Локализирана промяна на код с генеративни модели](https://aogavrilov.com/bg/research-notes/localized-code-modification-generative-models/)
- [Ограничено генериране на код за софтуерното инженерство](https://aogavrilov.com/bg/research-notes/constrained-code-generation-software-engineering/)
- [Рефакториране с помощта на ИИ: методи и доказателства](https://aogavrilov.com/bg/research-notes/ai-assisted-refactoring-evidence/)
- [Предвидимото генериране на код изисква договор за запазване](https://aogavrilov.com/bg/research-notes/predictable-code-generation-preservation-contract/)
