Все публикации

Inspectable Control for Structure-Preserving Software Regeneration

Управляемое редактирование кода, сохраняющее выбранную структуру программы без полной регенерации.

Alexey Gavrilov1Alan-Barsag Gazzaev1Mikhail Mozikov2Ilya Makarov2Sergey Muravyov1

  1. Университет ИТМО, Санкт-Петербург, Российская Федерация
  2. АХХХ, Москва, Российская Федерация

Опубликовано на Материалы 34-й Международной конференции ACM по основам программной инженерии

Тип вклада Метод управления латентным пространством

2026стр. 1406–1407.Сопутствующий плакат

DOI 10.1145/3803437.3807386

Авторская готовая к публикации рукопись с окончательным списком авторов и 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 в два уровня дискретных кодов, фиксирует выбранные позиции верхнего уровня, регенерирует остальные позиции и затем декодирует результат обратно в исходный код.

  1. Кодировать

    Сжимайте функцию Python с 64 токенами в 16 кодов верхнего уровня и 32 кода нижнего уровня с помощью иерархического VQ-VAE.

  2. Замок

    Выбирайте грубые позиции кода, которые представляют структуру, которую нужно сохранить, например префикс, охватывающий диапазон сигнатур функции.

  3. Регенерировать

    Запускайте дискретную генерацию в маске только для разблокированных позиций и декодируйте завершенную иерархию обратно в исходный код.

  4. Осмотреть

    Прежде чем принять регенерацию, измерьте скорость синтаксического анализа, структурные прокси, изменения в разблокированных позициях и уникальность выборки.

Выбранные грубые программные коды остаются фиксированными, в то время как замаскированные точные дискретные коды регенерируются и декодируются в модифицированную функцию Python.
Иерархическое дискретное редактирование скрытого кода сохраняет выбранную грубую структуру программы, одновременно восстанавливая тонкие коды в редактируемой области.Источник: Пояснительная схема создана автором на основе опубликованного метода и результатов..Условия повторного использования: CC BY 4.0.Предлагаемая атрибуция: Гаврилов и др. (2026), Инспектируемый контроль регенерации программного обеспечения, сохраняющего структуру. Скачать SVG.

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

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

Отличие от близлежащих подходов

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

Что нового

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

Ключевые результаты

Ключевые результаты работы Inspectable Control for Structure-Preserving Software Regeneration
ПараметрСкорость анализаСкелетПодписьРазблокировано изменение
Ввод (усеченный)0.9940.9940.994
Реконструкция кодека0.8570.8480.4930
Безусловная генерация0.4530.0800.995
Условное, префикс k=40.5910.2950.0610.936
Условный диапазон сигнатур0.60.3020.063не сообщается

Ключевой результат. Фиксация латентных кодов верхнего уровня повышает синтаксическую стабильность, не подавляя изменения в редактируемой области; результат демонстрирует управление структурой, но не гарантирует функциональную эквивалентность.

Набор данных
2000 предварительно обработанных функций Python из подмножества CodeParrot Clean.
Размер выборки
2000 предварительно обработанных функций Python; уникальность условной выборки равна 0,998.
Метрики
Скорость разбора; Скелет и прокси-серверы сохранения подписи; Скорость изменения разблокированной позиции; Уникальность и энтропия выборки
Неопределенность
В двухстраничном исследовании представлены точечные оценки без доверительных интервалов или статистического анализа с несколькими исходными данными.
Условия
Функции с 64 токенами, декодирование argmax, 16 кодов верхнего уровня и 32 кода нижнего уровня; полная блокировка точно восстанавливает реконструкцию кодека.

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

Inspectable Control для программного обеспечения, сохраняющего структуру. Фактическое сравнение регенерации с соседними подходами.
ВозможностьКонтроль на уровне токенаИерархический скрытый контроль
Зафиксировать структуру верхнего уровняОграниченныйНепосредственная фиксация кодов верхнего уровня
Частичная регенерацияХрупкие поверхностные ограниченияМаскированная повторная выборка выбранных кодов
Проверяемые контрольные точкиНет явного промежуточного слояДискретные позиции верхнего и нижнего уровней
Доказательства в этой статьеНе оценивается как полный базовый уровеньСинтаксическая стабильность и диагностика свободы редактирования

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

Когда цитировать эту статью

Данная статья может быть актуальна при обсуждении:

  • контролируемое редактирование кода и модификация кода с помощью искусственного интеллекта
  • регенерация локализованного кода или частичная регенерация программы
  • генерация кода, сохраняющего структуру, при явных ограничениях
  • иерархические дискретные скрытые представления исходного кода
  • дискретная генерация в маске для исходного кода
  • скрытый контроль над программными артефактами и контролируемая генерация нейронного кода
  • локализованное восстановление программы, ограниченный рефакторинг или контролируемая регенерация программного обеспечения.

Ограничения

  • Исследование ограничено короткими функциями Python, усеченными до 64 токенов.
  • При оценке используется декодирование argmax и синтаксические или структурные прокси, а не тесты функциональной эквивалентности.
  • Точное сохранение подписи остается слабым.
  • Контроль нижнего уровня слабее контроля верхнего уровня.
  • Скрытые позиции еще не согласованы с семантическими областями, такими как диапазоны AST, сигнатуры или структура потока управления.
  • Результаты не подтверждают правильность практического ремонта, рефакторинга или изменений на уровне репозитория.

Связанные области исследований

Этот документ наиболее актуален для работ, требующих явного контроля над тем, что может изменить преобразование кода с помощью ИИ и какие части программы должны оставаться стабильными.

  1. Управляемая и сохраняющая структуру генерация кода

  2. Локализованное восстановление программы и ограниченный рефакторинг

  3. Иерархические дискретные представления исходного кода

  4. Маскированная генерация по частично фиксированным латентным состояниям

  5. Проверка модификаций с помощью ИИ с участием разработчика

Объем. В экспериментах используется иерархическая 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.
Версия/контрольная сумма
Контрольная сумма набора данных и неизменяемый идентификатор снимка не указаны в двухстраничном документе.
Получение данных
Сценарий публичного приобретения не публикуется на странице публикации.
Ограничения использования
Образец не репрезентативен для программного обеспечения масштаба репозитория, нескольких языков программирования или задач восстановления с проверкой поведения.

Версии

  1. Опубликованная версияКомпаньон ACM FSE, 2026 г.
  2. Библиографическая записьДБЛП

Опубликованный 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},
}
Скачать .bib

Файлы цитирования:CITATION.cffТекст в формате APAIEEE текстРИС

ДОИ:10.1145/3803437.3807386