# Refatoração assistida por IA: métodos e evidências

Canonical HTML: https://aogavrilov.com/pt/research-notes/ai-assisted-refactoring-evidence/

Document language: pt

NOTA DE PESQUISA

Como avaliar métodos recentes de refatoração assistida por IA sem confundir um patch gerado plausível com a preservação de comportamento verificada.

Publicado 30 de julho de 2026 [Alexey Gavrilov](https://aogavrilov.com/about/)

RESPOSTA DIRETA

## Quais métodos e evidências são relevantes para a refatoração assistida por IA com preservação de comportamento?

Separe a proposta de transformação de sua execução confiável e da verificação. Sempre que possível, permita que o modelo identifique uma refatoração e aplique-a por meio de um mecanismo de refatoração; em seguida, exija compilação, testes, verificações estáticas e evidências de que a transformação pretendida ocorreu.

## Por que a distinção é importante

O método e a garantia alegada precisam compartilhar o mesmo limite observável.

Espera-se que a refatoração preserve o comportamento observável e, ao mesmo tempo, melhore a estrutura interna. Um modelo de linguagem pode propor uma reescrita convincente sem demonstrar nenhuma dessas partes do contrato; portanto, a plausibilidade superficial não basta.

Trabalhos recentes separam as funções de diferentes maneiras: um modelo pode identificar uma transformação conhecida para execução por um mecanismo confiável ou gerar um patch que, em seguida, é submetido a compilação, testes, análise estática e detecção de refatoração. A superfície de verificação é tão importante quanto o modelo.

## Um procedimento prático

1. Especifique a refatoração pretendida Especifique a alteração estrutural e o comportamento que deve permanecer estável, em vez de solicitar uma limpeza genérica.
2. Dê preferência à execução confiável de transformações conhecidas Quando um mecanismo de refatoração admitir a operação, utilize o modelo para a detecção ou seleção de parâmetros e o mecanismo para sua aplicação.
3. Verifique os patches gerados no nível do repositório Compile, execute os testes pertinentes, aplique verificações estáticas e confirme que a refatoração pretendida ocorreu sem alterações não relacionadas.
4. Auditar o risco residual Registre comportamentos não cobertos, testes instáveis, efeitos entre arquivos e casos em que não foi possível verificar um patch plausível.

## Evidências necessárias

Uma afirmação é tão sólida quanto a propriedade medida após a geração ou a decodificação.

- A transformação é identificada, e não descrita apenas como uma melhoria da qualidade do código.
- A compilação e os testes pertinentes são concluídos com êxito após a alteração.
- Verificações estáticas e a detecção de refatorações sustentam a afirmação estrutural.
- Diferenças não relacionadas e externas ao escopo pretendido são mensuradas ou revisadas.
- O contexto do repositório e as limitações da cobertura de testes são explicitados.

### O que o estudo vinculado relata

- O artigo disponibilizado neste site sobre controle latente hierárquico constitui evidência correlata acerca da geração delimitada, e não um benchmark de refatoração com preservação de comportamento.
- Suas medições de taxa de análise sintática, liberdade de edição e diversidade podem orientar o projeto da superfície de controle, mas não substituem a compilação, os testes nem a detecção de refatorações.
- No caso de alegações sobre refatoração, o contrato de evidências deve continuar levando em conta o comportamento e o repositório.

[Ler a visão geral da publicação](https://aogavrilov.com/pt/publications/inspectable-control/) [Pesquisar no texto integral do artigo](https://aogavrilov.com/publications/inspectable-control/full-text/)

## Limite do escopo

- A aprovação nos testes disponíveis não comprova equivalência semântica quanto aos comportamentos não testados.
- Um diff menor não implica automaticamente uma refatoração correta.
- O experimento associado no site abrange funções Python curtas e não avalia a refatoração no nível de repositórios.

## Fontes primárias e trabalhos relacionados

Consulte os artigos vinculados para conhecer os métodos originais, as medições e as limitações declaradas.

1. [An Empirical Study on the Potential of LLMs in Automated Software Refactoring](https://arxiv.org/abs/2411.04444) Estuda refatorações propostas por LLMs e sua reaplicação por um mecanismo de refatoração confiável.
2. [SWE-Refactor: A Repository-Level Benchmark for Real-World LLM-Based Code Refactoring](https://arxiv.org/abs/2602.03712) Compilação e testes no nível do repositório, além de avaliação orientada à refatoração.
3. [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/pt/publications/inspectable-control/) Evidências relacionadas sobre geração delimitada e limitações explícitas.

Mantido por Alexey Gavrilov . Esta página sintetiza as evidências existentes e não acrescenta resultados experimentais além dos apresentados nas fontes citadas.
