# Рефакторисање уз помоћ вештачке интелигенције: методи и докази

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

Document language: sr

ИСТРАЖИВАЧКА БЕЛЕШКА

Како вредновати новије методе рефакторисања уз подршку вештачке интелигенције, а да се уверљива генерисана закрпа не поистовети са потврђеним очувањем понашања.

Објављено 30. јул 2026. [Alexey Gavrilov](https://aogavrilov.com/about/)

НЕПОСРЕДАН ОДГОВОР

## Који су методи и докази важни за рефакторисање уз помоћ вештачке интелигенције и очување понашања?

Раздвојте предлагање трансформације од поузданог извршавања и провере. Где год је могуће, нека модел препозна рефакторисање, а механизам за рефакторисање га примени; потом захтевајте компилацију, тестове, статичке провере и доказ да је намеравана трансформација заиста извршена.

## Зашто је та разлика важна

Метод и наведена гаранција морају имати исту уочљиву границу.

Од рефакторисања се очекује да очува уочљиво понашање и истовремено унапреди унутрашњу структуру. Језички модел може предложити уверљиву прераду без потврђивања иједног дела тог захтева, па површинска уверљивост није довољна.

Новија истраживања раздвајају улоге на различите начине: модел може да препозна познату трансформацију коју ће извршити поуздан механизам или да генерише закрпу која се потом подвргава компилацији, тестовима, статичкој анализи и откривању рефакторисања. Обухват верификације важан је колико и сам модел.

## Практичан поступак

1. Одредите намеравано рефакторисање Уместо општег захтева за сређивање, навести структурну измену и понашање које мора остати стабилно.
2. За познате трансформације предност дати поузданом извршавању Када механизам за рефакторисање подржава дату операцију, користите модел за откривање или избор параметара, а механизам за њену примену.
3. Проверите генерисане закрпе на нивоу репозиторијума Компајлирајте, покрените релевантне тестове, примените статичке провере и потврдите да је намеравано рефакторисање спроведено без неповезаних измена.
4. Испитајте преостали ризик Забележити непокривено понашање, нестабилне тестове, ефекте који захватају више датотека и случајеве у којима наизглед ваљана закрпа није могла бити верификована.

## Неопходни докази

Тврдња је утемељена само онолико колико и својство измерено после генерисања или декодирања.

- Трансформација је прецизно одређена, а не описана само као побољшање квалитета кода.
- Након измене, компилација и релевантни тестови успешно пролазе.
- Статичке провере и откривање рефакторисања поткрепљују тврдњу о структури.
- Неповезане разлике изван предвиђеног опсега мере се или прегледају.
- Наведени су контекст репозиторијума и ограничења покривености тестовима.

### Шта повезана студија наводи

- Рад на овом сајту о хијерархијском латентном управљању пружа сродне доказе о ограниченом генерисању, али није референтно мерило за рефакторисање уз очување понашања.
- Његова мерења стопе успешног рашчлањивања, слободе уређивања и разноврсности могу допринети пројектовању контролне површине, али не замењују компилацију, тестове нити откривање рефакторисања.
- Код тврдњи о рефакторисању, захтеви у погледу доказа треба и даље да узимају у обзир понашање и репозиторијум.

[Прочитајте преглед публикације](https://aogavrilov.com/sr/publications/inspectable-control/) [Претражите цео текст рада](https://aogavrilov.com/publications/inspectable-control/full-text/)

## Граница обухвата

- Пролазак доступних тестова не доказује семантичку еквивалентност за непроверена понашања.
- Мањи diff није сам по себи исправно рефакторисање.
- Повезани експеримент на сајту обухвата кратке Python функције и не вреднује рефакторисање на нивоу репозиторијума.

## Примарни и сродни извори

За изворне методе, мерења и наведена ограничења погледајте повезане радове.

1. [An Empirical Study on the Potential of LLMs in Automated Software Refactoring](https://arxiv.org/abs/2411.04444) Проучава рефакторисања која предлаже LLM и њихову поновну примену помоћу поузданог механизма за рефакторисање.
2. [SWE-Refactor: A Repository-Level Benchmark for Real-World LLM-Based Code Refactoring](https://arxiv.org/abs/2602.03712) Компилација и тестови на нивоу репозиторијума, као и евалуација усмерена на рефакторисање.
3. [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/sr/publications/inspectable-control/) Повезани докази о ограниченом генерисању и изричито наведена ограничења.

Одржава Alexey Gavrilov . Ова страница сажима постојеће доказе и не додаје експерименталне резултате мимо наведених извора.
