# Inspectable Control for Structure-Preserving Software Regeneration

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

Document language: pt

Controle inspecionável para regeneração de software com preservação de estrutura

Regeneração parcial e controlável de código por meio de representações latentes discretas hierárquicas.

[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, São Petersburgo, Federação Russa](https://en.itmo.ru/)
2. [AXXX, Moscou, Federação Russa](https://axxx.tech/)

[Ler o artigo completo em HTML](https://aogavrilov.com/publications/inspectable-control/full-text/) Texto pesquisável com fórmulas, tabelas, figuras e referências.

Manuscrito final do autor, com a lista definitiva de autores e o DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. [Termos de publicação e reutilização](https://creativecommons.org/licenses/by/4.0/) .

## O artigo em 30 segundos

**Pergunta de pesquisa** Como um modelo generativo pode modificar partes selecionadas de um programa e, ao mesmo tempo, preservar elementos escolhidos de sua estrutura de granularidade grossa?

### Problema

A modificação de código assistida por IA frequentemente requer uma única alteração delimitada, enquanto partes selecionadas da estrutura do programa permanecem fixas. Regenerar o programa inteiro pode afetar regiões não relacionadas, e as restrições no nível dos tokens não oferecem uma superfície de controle de granularidade grossa.

### Abordagem

O estudo codifica funções Python de 64 tokens com um VQ-VAE hierárquico, bloqueia códigos discretos selecionados de granularidade grossa e emprega geração discreta mascarada para regenerar código de modo localizado nas posições latentes restantes.

### Resultado principal

O bloqueio de quatro códigos de nível superior eleva a taxa de análise sintática de 0.453 para 0.591, enquanto as posições desbloqueadas ainda mudam à taxa de 0.936 e 0.998 das amostras condicionais permanecem únicas.

### Por que isso é importante

Os resultados mostram um compromisso mensurável entre estabilidade e liberdade na edição controlável de código e na regeneração parcial de programas. Oferecem evidências preliminares de uma camada de controle latente inspecionável, e não uma prova de equivalência semântica ou correção funcional.

## Resumo

Fluxos de trabalho de engenharia de software, como reparo com restrições, refinamento em etapas e modificação com preservação da estrutura, exigem controle sobre o que muda e o que permanece fixo. A geração no nível dos tokens constitui uma superfície de controle fraca para essas operações, pois restringe o texto superficial local, e não os invariantes estruturais grosseiros que a engenharia de software frequentemente busca preservar. Estudamos variáveis latentes discretas hierárquicas como representação intermediária inspecionável de artefatos de software: um VQ-VAE hierárquico comprime uma função Python de 64 tokens em códigos discretos grosseiros e finos, e a geração discreta mascarada regenera apenas posições selecionadas sob restrições parciais. Em 2.000 funções Python pré-processadas, fixar quatro códigos de nível superior eleva a taxa de análise sintática de 0.453 para 0.591, preservando alterações substanciais nas posições não fixadas (liberdade de edição, 0.936) e uma unicidade de amostras quase máxima (diversidade, 0.998). Sob contexto grosseiro fixo, o refinamento de nível inferior é mais fraco, mas permanece monotônico, corroborando uma interpretação da hierarquia do grosseiro para o fino. Em conjunto, esses resultados oferecem evidências preliminares de uma camada prática de controle que permite regenerar artefatos de software acima do nível dos tokens, de modo delimitado e com preservação da estrutura.

Publicado em Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering

Tipo de contribuição Método de controle no espaço latente

5 de julho de 2026 pp. 1406–1407 Pôster complementar

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

## Conteúdo Nesta página

## Principais resultados

| Configuração | Taxa de análise sintática | Esqueleto | Assinatura | Alteração desbloqueada |
| --- | --- | --- | --- | --- |
| Entrada (truncada) | 0.994 | 0.994 | 0.994 | — |
| Reconstrução pelo codec | 0.857 | 0.848 | 0.493 | 0 |
| Geração incondicional | 0.453 | 0.08 | 0 | 0.995 |
| Condicional, prefixo k=4 | 0.591 | 0.295 | 0.061 | 0.936 |
| Condicional, intervalo da assinatura | 0.6 | 0.302 | 0.063 | não informado |

**Resultado principal.** O bloqueio de representações latentes de granularidade grossa melhora a estabilidade sintática sem suprimir as alterações na região editável; o resultado demonstra controle estrutural, não equivalência funcional garantida.

Baixar resultados: [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) Espelho externo: [Ficha do conjunto de dados no Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results)

## PDF e citação

**Citar este artigo** BibTeX é o formato recomendado. Todas as variantes abaixo são geradas a partir do mesmo registro de publicação.

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

Arquivos de citação: [Texto em formato APA](https://aogavrilov.com/publications/inspectable-control/citation-apa.txt) [Texto 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) [JSON-LD do Schema.org](https://aogavrilov.com/publications/inspectable-control/metadata.jsonld) [XML OAI-DC](https://aogavrilov.com/publications/inspectable-control/oai-dc.xml) [XML OpenAIRE v4](https://aogavrilov.com/publications/inspectable-control/openaire.xml) [XML MODS](https://aogavrilov.com/publications/inspectable-control/mods.xml) [XML de metadados JATS 1.4](https://aogavrilov.com/publications/inspectable-control/metadata.jats.xml) [Texto integral em XML JATS 1.4](https://aogavrilov.com/publications/inspectable-control/full-text/article.jats.xml) [RDF Turtle](https://aogavrilov.com/publications/inspectable-control/metadata.ttl) [Conjunto de links (JSON)](https://aogavrilov.com/publications/inspectable-control/linkset.json) [Conjunto de links (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)

Guia completo

## Guia de pesquisa completo

## Método

## 

O método comprime uma função Python curta em dois níveis de códigos discretos, congela posições selecionadas de granularidade grossa e regenera as posições restantes antes de decodificar a representação novamente em código.

1. Codificar Comprima uma função Python de 64 tokens em 16 códigos de nível superior e 32 códigos de nível inferior por meio de um VQ-VAE hierárquico.
2. Bloquear Escolha posições de código de granularidade grossa que representem a estrutura a preservar, como um prefixo que abranja o intervalo da assinatura da função.
3. Regenerar Executar a geração discreta mascarada somente sobre as posições desbloqueadas e decodificar a hierarquia completa de volta para código-fonte.
4. Inspecionar Antes de aceitar uma regeneração, avaliar a taxa de análise sintática, as métricas substitutas estruturais, as alterações nas posições desbloqueadas e a unicidade das amostras.

![Códigos selecionados de granularidade grossa do programa permanecem fixos, enquanto códigos discretos mascarados de granularidade fina são regenerados e decodificados em uma função Python modificada.](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg)

**A edição de códigos latentes discretos hierárquicos preserva elementos selecionados da estrutura de granularidade grossa do programa enquanto regenera códigos de granularidade fina na região editável.* Fonte: [Diagrama explicativo criado pelo autor com base no método e nos resultados publicados.](https://doi.org/10.1145/3803437.3807386) . Termos de reutilização: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . Atribuição sugerida: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. [Baixar SVG](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg) .*

### Ideia central

O controle é aplicado a uma representação aprendida acima do nível dos tokens: posições latentes de granularidade grossa definem locais explícitos em que a estrutura pode ser congelada, enquanto detalhes próximos da implementação permanecem editáveis.

### Diferença em relação a abordagens correlatas

Restrições no nível do prompt ou do token atuam sobre o texto superficial. A interface proposta expõe pontos discretos de controle, tanto grossos quanto finos, e mede o compromisso resultante entre estabilidade e liberdade.

### O que há de novo

O trabalho apresenta e avalia uma camada hierárquica de controle latente inspecionável para a regeneração delimitada de artefatos de software.

## Perguntas que este artigo ajuda a responder

## 

Abra uma pergunta para obter uma resposta concisa fundamentada no artigo. Os limites detalhados das evidências estão descritos em Limitações.

1. Como a IA pode editar código sem reescrever tudo? O artigo estuda a regeneração parcial de código acima do nível dos tokens. Um VQ-VAE hierárquico mapeia uma função Python curta em códigos discretos de granularidade grossa e fina; posições selecionadas de granularidade grossa são bloqueadas, e a geração discreta mascarada altera apenas as posições latentes restantes antes da decodificação. Isso estabelece uma fronteira de preservação explícita, em vez de regenerar toda a função.
2. Quais métodos preservam a estrutura do programa durante a geração de código? Este trabalho testa o controle latente discreto hierárquico. As posições latentes de granularidade grossa podem ser fixadas enquanto as posições desbloqueadas são regeneradas; em seguida, medem-se a taxa de análise sintática e métricas estruturais substitutas. As evidências dizem respeito à estabilidade estrutural probabilística em funções Python curtas; não estabelecem preservação exata da AST, equivalência semântica nem correção funcional.
3. Representações latentes discretas hierárquicas podem proporcionar controle localizado sobre o código? No experimento relatado com 2.000 funções, o bloqueio de quatro códigos de nível superior aumentou a taxa de análise sintática de 0.453 para 0.591. Ao mesmo tempo, 0.936 das posições desbloqueadas foram alteradas, e 0.998 das amostras condicionais eram únicas. Esses resultados constituem evidência preliminar de que restrições latentes granulares podem preservar parte da estrutura sem eliminar a liberdade de edição local nem a diversidade das amostras.
4. Como a geração de código pode conciliar estabilidade estrutural e diversidade? O artigo avalia conjuntamente a estabilidade e a liberdade, em vez de otimizar apenas a validade. A fixação de códigos grosseiros eleva a validade sintática, enquanto as alterações nas posições não fixadas permanecem elevadas e as amostras condicionais continuam quase inteiramente únicas. O resultado demonstra um compromisso mensurável entre estabilidade e liberdade na configuração testada, não um ótimo universal.
5. Como este trabalho se relaciona à edição de código assistida por LLMs? O modelo testado é um VQ-VAE hierárquico com geração discreta mascarada, e não um modelo de linguagem de grande porte. Ainda assim, o problema de controle é pertinente à edição assistida por LLMs, pois alterações desnecessárias fora da região solicitada constituem uma preocupação prática. O artigo oferece um mecanismo complementar no espaço latente e um enquadramento de avaliação, não um benchmark de edição com LLMs.

## Comparação com abordagens correlatas

## 

| Capacidade | Controle no nível dos tokens | Controle latente hierárquico |
| --- | --- | --- |
| Fixe a estrutura de granularidade grossa | Limitado | Bloqueio nativo de códigos de granularidade grossa |
| Regeneração parcial | Restrições superficiais frágeis | Reamostragem mascarada dos códigos selecionados |
| Pontos de controle inspecionáveis | Sem camada intermediária explícita | Posições discretas de granularidade grossa e fina |
| Evidências apresentadas neste artigo | Não avaliado como linha de base completa | Diagnósticos de estabilidade sintática e liberdade de edição |

A tabela descreve as interfaces e as evidências mensuradas no estudo; não reivindica correção funcional nem superioridade universal.

## Relevância e escopo

## 

O artigo é particularmente relevante para trabalhos que exigem controle explícito sobre o que uma transformação de código assistida por IA pode alterar e quais partes do programa devem permanecer estáveis.

1. Geração de código controlável e com preservação da estrutura
2. Reparo localizado de programas e refatoração delimitada
3. Representações discretas hierárquicas para código-fonte
4. Geração discreta mascarada para código-fonte
5. Controle latente de artefatos de software

## Limitações

## 

- O estudo limita-se a funções Python curtas, truncadas em 64 tokens.
- A avaliação emprega decodificação por argmax e medidas indiretas sintáticas ou estruturais, em vez de testes de equivalência funcional.
- A preservação exata da assinatura permanece insatisfatória.
- O controle de nível inferior é mais fraco que o controle de nível superior.
- As posições latentes ainda não estão alinhadas a regiões semânticas, como intervalos da AST, assinaturas ou a estrutura do fluxo de controle.
- Os resultados não estabelecem correção para reparos práticos, refatorações ou alterações no nível de repositórios.

## Referências citadas pelo artigo

## 

Estas entradas correspondem à seção numerada de Referências no PDF do artigo.

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 .

## Recursos e reprodutibilidade

## 

### Declaração sobre os dados

## Versões

## 

1. **Versão publicada** [ACM FSE Companion, 2026](https://doi.org/10.1145/3803437.3807386)
2. **Manuscrito do autor** [Manuscrito final em formato textual acessível, com a lista definitiva de autores e o DOI](https://aogavrilov.com/publications/inspectable-control/paper.pdf)
3. **Espelho externo do texto integral** [Manuscrito do autor sob licença CC BY 4.0 no Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results/resolve/main/paper.pdf)
4. **Abrir o registro no repositório** [Registro do Zenodo indexado pelo OpenAIRE](https://zenodo.org/records/21605395)
5. **Abrir o texto integral no repositório** [Manuscrito do autor no Zenodo sob a licença CC BY 4.0; textualmente equivalente ao manuscrito local](https://zenodo.org/records/21605395/files/fse2026-posters-final11%20%284%29.pdf?download=1)
6. **Recursos do autor** [Pôster e apresentação de slides](https://aogavrilov.com/publications/inspectable-control/media/)
7. **Registro bibliográfico** [DBLP](https://dblp.org/rec/conf/sigsoft/GavrilovGMMM26)
8. **Abrir o registro acadêmico** [OpenAlex](https://openalex.org/W7169573479)
9. **Registro no grafo de citações** [Semantic Scholar](https://www.semanticscholar.org/paper/93c3de037596ce177d9d882d214ccad5c5405b00)
10. **Texto integral compartilhado pelo autor** [ResearchGate](https://www.researchgate.net/publication/410435483_Inspectable_Control_for_Structure-Preserving_Software_Regeneration)
11. **Resumo em linguagem acessível** [Kudos](https://www.growkudos.com/publications/10.1145%252F3803437.3807386/reader)

O DOI publicado é o identificador bibliográfico principal. Esta página continua sendo a única URL canônica do projeto em todas as versões.

## Publicação relacionada

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

Ler o [Edição controlável de código](https://aogavrilov.com/pt/projects/discrete-latent-generation/) guia de pesquisa. [Sobre o autor](https://aogavrilov.com/about/) .

### Notas de pesquisa específicas

Respostas específicas à intenção, com fronteiras de evidência e links para este artigo.

- [Modificação localizada de código com modelos generativos](https://aogavrilov.com/pt/research-notes/localized-code-modification-generative-models/)
- [Geração de código com restrições para engenharia de software](https://aogavrilov.com/pt/research-notes/constrained-code-generation-software-engineering/)
- [Refatoração assistida por IA: métodos e evidências](https://aogavrilov.com/pt/research-notes/ai-assisted-refactoring-evidence/)
- [A geração previsível de código requer um contrato de preservação](https://aogavrilov.com/pt/research-notes/predictable-code-generation-preservation-contract/)
