Inspectable Control for Structure-Preserving Software Regeneration
Управляемое редактирование кода, сохраняющее выбранную структуру программы без полной регенерации.
- Университет ИТМО, Санкт-Петербург, Российская Федерация
- АХХХ, Москва, Российская Федерация
Опубликовано на Материалы 34-й Международной конференции ACM по основам программной инженерии
Тип вклада Метод управления латентным пространством
2026стр. 1406–1407.Сопутствующий плакат
Авторская готовая к публикации рукопись с окончательным списком авторов и DOI.CC BY 4.0 author manuscript; the ACM DOI page remains the version of record.Условия публикации и повторного использования.
Статья за 30 секунд
Проблема
При изменении кода с помощью ИИ часто требуется одно локальное изменение при сохранении выбранной структуры программы. Полная регенерация может затронуть несвязанные участки, а ограничения на уровне токенов не дают явного управления структурой верхнего уровня.
Подход
Иерархический VQ-VAE кодирует функции Python длиной 64 токена; выбранные дискретные коды верхнего уровня фиксируются, а маскированная дискретная генерация локально обновляет оставшиеся латентные позиции.
Основной результат
Фиксация четырех кодов верхнего уровня повышает долю синтаксически разбираемых результатов с 0,453 до 0,591; незаблокированные позиции при этом изменяются с частотой 0,936, а уникальность условных образцов остается на уровне 0,998.
Почему это важно
Результаты показывают измеримый компромисс между стабильностью и свободой редактирования при управляемом изменении кода и частичной регенерации программы. Это раннее свидетельство полезности проверяемого латентного слоя управления, а не доказательство семантической эквивалентности или функциональной корректности.
Аннотация
Рабочие процессы разработки ПО — ограниченное исправление, поэтапное уточнение и модификация с сохранением структуры — требуют контролировать, что меняется, а что остается неизменным. Генерация на уровне токенов слабо подходит для такого управления: она ограничивает локальный поверхностный текст, а не структурные инварианты верхнего уровня, которые обычно требуется сохранить. Мы рассматриваем иерархические дискретные латентные переменные как проверяемое промежуточное представление программных артефактов: иерархический VQ-VAE сжимает функцию Python из 64 токенов в дискретные коды верхнего и нижнего уровней, а маскированная дискретная генерация обновляет только выбранные позиции при частичных ограничениях. На 2000 предварительно обработанных функциях Python фиксация четырех кодов верхнего уровня повышает долю синтаксически разбираемых результатов с 0,453 до 0,591, сохраняя значительные изменения в незаблокированных позициях (свобода редактирования 0,936) и почти максимальную уникальность образцов (разнообразие 0,998). При фиксированном контексте верхнего уровня уточнение нижнего уровня слабее, но остается монотонным, что соответствует интерпретации иерархии от общего к детальному. Результаты дают первые свидетельства существования практического слоя управления для ограниченной регенерации программных артефактов с сохранением структуры над уровнем токенов.
Метод
Метод сжимает короткую функцию Python в два уровня дискретных кодов, фиксирует выбранные позиции верхнего уровня, регенерирует остальные позиции и затем декодирует результат обратно в исходный код.
Кодировать
Сжимайте функцию Python с 64 токенами в 16 кодов верхнего уровня и 32 кода нижнего уровня с помощью иерархического VQ-VAE.
Замок
Выбирайте грубые позиции кода, которые представляют структуру, которую нужно сохранить, например префикс, охватывающий диапазон сигнатур функции.
Регенерировать
Запускайте дискретную генерацию в маске только для разблокированных позиций и декодируйте завершенную иерархию обратно в исходный код.
Осмотреть
Прежде чем принять регенерацию, измерьте скорость синтаксического анализа, структурные прокси, изменения в разблокированных позициях и уникальность выборки.
Основная идея
Управление применяется к обученному представлению над уровнем токенов: латентные позиции верхнего уровня явно задают, где структура фиксируется, тогда как связанные детали реализации остаются редактируемыми.
Отличие от близлежащих подходов
Ограничения на уровне запроса или токенов действуют на поверхностный текст. Предлагаемый интерфейс предоставляет дискретные точки управления верхнего и нижнего уровней и измеряет возникающий компромисс между стабильностью и свободой изменений.
Что нового
В работе предложен и оценен проверяемый иерархический латентный слой управления для ограниченной регенерации программных артефактов.
Ключевые результаты
| Параметр | Скорость анализа | Скелет | Подпись | Разблокировано изменение |
|---|---|---|---|---|
| Ввод (усеченный) | 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 | не сообщается |
Ключевой результат. Фиксация латентных кодов верхнего уровня повышает синтаксическую стабильность, не подавляя изменения в редактируемой области; результат демонстрирует управление структурой, но не гарантирует функциональную эквивалентность.
- Набор данных
- 2000 предварительно обработанных функций Python из подмножества CodeParrot Clean.
- Размер выборки
- 2000 предварительно обработанных функций Python; уникальность условной выборки равна 0,998.
- Метрики
- Скорость разбора; Скелет и прокси-серверы сохранения подписи; Скорость изменения разблокированной позиции; Уникальность и энтропия выборки
- Неопределенность
- В двухстраничном исследовании представлены точечные оценки без доверительных интервалов или статистического анализа с несколькими исходными данными.
- Условия
- Функции с 64 токенами, декодирование argmax, 16 кодов верхнего уровня и 32 кода нижнего уровня; полная блокировка точно восстанавливает реконструкцию кодека.
Сравнение с соседними подходами
| Возможность | Контроль на уровне токена | Иерархический скрытый контроль |
|---|---|---|
| Зафиксировать структуру верхнего уровня | Ограниченный | Непосредственная фиксация кодов верхнего уровня |
| Частичная регенерация | Хрупкие поверхностные ограничения | Маскированная повторная выборка выбранных кодов |
| Проверяемые контрольные точки | Нет явного промежуточного слоя | Дискретные позиции верхнего и нижнего уровней |
| Доказательства в этой статье | Не оценивается как полный базовый уровень | Синтаксическая стабильность и диагностика свободы редактирования |
В таблице описаны интерфейсы и измеренные данные исследования; он не претендует на функциональную правильность или универсальное превосходство.
Когда цитировать эту статью
Данная статья может быть актуальна при обсуждении:
- контролируемое редактирование кода и модификация кода с помощью искусственного интеллекта
- регенерация локализованного кода или частичная регенерация программы
- генерация кода, сохраняющего структуру, при явных ограничениях
- иерархические дискретные скрытые представления исходного кода
- дискретная генерация в маске для исходного кода
- скрытый контроль над программными артефактами и контролируемая генерация нейронного кода
- локализованное восстановление программы, ограниченный рефакторинг или контролируемая регенерация программного обеспечения.
Ограничения
- Исследование ограничено короткими функциями Python, усеченными до 64 токенов.
- При оценке используется декодирование argmax и синтаксические или структурные прокси, а не тесты функциональной эквивалентности.
- Точное сохранение подписи остается слабым.
- Контроль нижнего уровня слабее контроля верхнего уровня.
- Скрытые позиции еще не согласованы с семантическими областями, такими как диапазоны AST, сигнатуры или структура потока управления.
- Результаты не подтверждают правильность практического ремонта, рефакторинга или изменений на уровне репозитория.
Связанные области исследований
Этот документ наиболее актуален для работ, требующих явного контроля над тем, что может изменить преобразование кода с помощью ИИ и какие части программы должны оставаться стабильными.
Управляемая и сохраняющая структуру генерация кода
Локализованное восстановление программы и ограниченный рефакторинг
Иерархические дискретные представления исходного кода
Маскированная генерация по частично фиксированным латентным состояниям
Проверка модификаций с помощью ИИ с участием разработчика
Объем. В экспериментах используется иерархическая VQ-VAE и дискретная генерация в маске, а не LLM. Они оценивают короткие функции Python с помощью синтаксических и структурных прокси, а не функциональной корректности, точного сохранения AST или восстановления в масштабе репозитория.
Материалы и воспроизводимость
- Издатель
- ACM
- Код
- Не опубликовано публично; неактивная кнопка кода не отображается.
- Установка
- Рецепт общедоступной установки пока недоступен; неактивная кнопка кода не отображается.
- Минимальный пробег
- Опубликованный рабочий процесс состоит из кодирования → блокировки выбранных кодов верхнего уровня → восстановления разблокированных позиций → декодирования → проверки достоверности и изменения области действия.
- Конфигурации
- Иерархическая VQ-VAE с 16 должностями высшего и 32 должностями нижнего уровня; дискретная генерация в масках при частичных ограничениях.
- Выпустить/зафиксировать
- Идентификатор общедоступного выпуска недоступен.
- Контрольные точки
- Страница публикации не распространяет контрольные точки модели.
- Ожидаемый результат
- Частота анализа префикса k=4 0,591, разблокированное изменение 0,936 и уникальность условной выборки 0,998.
- Аппаратное обеспечение
- Требования к оборудованию не указаны в опубликованном двухстраничном документе.
Сведения о данных
- Источник
- Предварительно обработанное подмножество CodeParrot Clean, содержащее 2000 функций Python.
- Лицензия
- Этот сайт не распространяет файлы наборов данных; повторное использование по-прежнему регулируется лицензиями на набор исходных данных CodeParrot и исходный код.
- Предварительная обработка
- Функции Python токенизируются и усекаются или дополняются до 64 токенов перед иерархическим кодированием.
- Расколоть
- На плакате сообщается о наборе оценок из 2000 функций; неизменяемый разделенный манифест обучения/проверки не включен в общедоступный документ.
- Формат
- Исходные функции Python, последовательности токенов в стиле GPT, последовательности кода верхнего уровня длиной 16 и последовательности нижнего уровня длиной 32.
- Версия/контрольная сумма
- Контрольная сумма набора данных и неизменяемый идентификатор снимка не указаны в двухстраничном документе.
- Получение данных
- Сценарий публичного приобретения не публикуется на странице публикации.
- Ограничения использования
- Образец не репрезентативен для программного обеспечения масштаба репозитория, нескольких языков программирования или задач восстановления с проверкой поведения.
Версии
- Опубликованная версияКомпаньон ACM FSE, 2026 г.
- Библиографическая записьДБЛП
Опубликованный DOI является основным библиографическим идентификатором. Эта страница остается единственным каноническим URL-адресом проекта во всех версиях.
Цитировать эту статью
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},
}
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 -
Файлы цитирования:CITATION.cffТекст в формате APAIEEE текстРИС