# Inspectable Control for Structure-Preserving Software Regeneration

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

Document language: sw

Udhibiti Unaokaguliwa kwa Uzalishaji Upya wa Programu Unaohifadhi Muundo

Uzalishaji upya unaodhibitika wa sehemu za msimbo kwa kutumia viwakilishi fiche tambufu vya kihierarkia.

[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, Saint Petersburg, Russian Federation](https://en.itmo.ru/)
2. [AXXX, Moscow, Russian Federation](https://axxx.tech/)

[Soma makala kamili katika HTML](https://aogavrilov.com/publications/inspectable-control/full-text/) Matini inayotafutika yenye fomula, majedwali, vielelezo na marejeleo.

Muswada wa mwandishi ulio tayari kuchapishwa wenye orodha ya mwisho ya waandishi na DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. [Masharti ya uchapishaji na matumizi upya](https://creativecommons.org/licenses/by/4.0/) .

## Muhtasari wa makala kwa sekunde 30

**Swali la utafiti** Muundo zalishi unawezaje kurekebisha sehemu teule za programu huku ukihifadhi vipengele vilivyochaguliwa vya muundo wake wa jumla?

### Tatizo

Urekebishaji wa msimbo unaosaidiwa na AI mara nyingi huhitaji badiliko moja lenye mipaka huku muundo teule wa programu ukibaki thabiti. Kuzalisha upya programu nzima kunaweza kuvuruga maeneo yasiyohusika, na vizuizi vya kiwango cha tokeni havitoi kiolesura cha udhibiti wa muundo wa jumla.

### Mkabala

Utafiti husimba vitendakazi vya Python vyenye tokeni 64 kwa VQ-VAE ya kihierarkia, hufunga misimbo tambufu teule ya ngazi ya jumla, na hutumia uzalishaji tambufu wenye ufichaji kuzalisha upya msimbo katika nafasi fiche zilizosalia.

### Tokeo kuu

Kufunga misimbo minne ya ngazi ya juu huongeza kiwango cha uchanganuzi kutoka 0.453 hadi 0.591, huku nafasi zisizofungwa zikiendelea kubadilika kwa kiwango cha 0.936 na sampuli zenye masharti zikibaki za kipekee kwa kiwango cha 0.998.

### Umuhimu wake

Matokeo yanaonyesha uwiano unaopimika kati ya uthabiti na uhuru katika uhariri wa msimbo unaodhibitika na uzalishaji upya wa sehemu ya programu. Yanatoa ushahidi wa awali wa safu ya udhibiti wa nafasi fiche inayoweza kukaguliwa, si uthibitisho wa ulinganifu wa kisemantiki wala usahihi wa kiutendaji.

## Muhtasari

Mitiririko ya kazi ya uhandisi wa programu, kama vile urekebishaji wenye vizuizi, uboreshaji wa hatua kwa hatua na urekebishaji unaohifadhi muundo, huhitaji udhibiti wa kinachobadilika na kinachobaki thabiti. Uzalishaji katika kiwango cha tokeni ni kiolesura dhaifu cha udhibiti kwa shughuli hizi kwa sababu huwekea mipaka matini ya eneo husika badala ya sifa zisizobadilika za muundo wa jumla ambazo uhandisi wa programu mara nyingi hulenga kuhifadhi. Tunachunguza viwakilishi fiche tambufu vya kihierarkia kama uwakilishi wa kati unaoweza kukaguliwa kwa vizalia vya programu: VQ-VAE ya kihierarkia hubana kitendakazi cha Python chenye tokeni 64 kuwa misimbo tambufu ya jumla na ya kina, kisha uzalishaji tambufu wenye ufichaji huzalisha upya nafasi teule pekee chini ya vizuizi vya sehemu. Katika vitendakazi 2,000 vya Python vilivyochakatwa awali, kufunga misimbo minne ya ngazi ya juu huongeza kiwango cha uchanganuzi kutoka 0.453 hadi 0.591, huku mabadiliko makubwa yakibaki katika nafasi zisizofungwa (uhuru wa uhariri, 0.936) na upekee wa sampuli ukikaribia upeo (uanuwai, 0.998). Katika muktadha wa jumla uliowekwa, uboreshaji wa ngazi ya chini ni dhaifu zaidi lakini hubaki wa mwelekeo mmoja, jambo linalounga mkono tafsiri ya hierarkia kutoka jumla hadi kina. Kwa ujumla, matokeo haya yanatoa ushahidi wa awali wa safu ya udhibiti inayoweza kutumika, inayowezesha uzalishaji upya wa vizalia vya programu wenye mipaka na unaohifadhi muundo juu ya kiwango cha tokeni.

Imechapishwa katika Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering

Aina ya mchango Mbinu ya udhibiti wa nafasi fiche

5 Julai 2026 kur. 1406–1407 Bango andamani

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

## Yaliyomo Katika ukurasa huu

## Matokeo makuu

| Mpangilio | Kiwango cha uchanganuzi wa kisintaksia | Kiunzi | Sahihi | Mabadiliko yasiyofungwa |
| --- | --- | --- | --- | --- |
| Ingizo (limekatwa) | 0.994 | 0.994 | 0.994 | — |
| Ujengaji upya wa kodeki | 0.857 | 0.848 | 0.493 | 0 |
| Uzalishaji usio na sharti | 0.453 | 0.08 | 0 | 0.995 |
| Yenye sharti, kiambishi-awali k=4 | 0.591 | 0.295 | 0.061 | 0.936 |
| Yenye sharti, eneo la saini | 0.6 | 0.302 | 0.063 | haikuripotiwa |

**Tokeo kuu.** Kufunga nafasi fiche za kiwango jumla huimarisha uthabiti wa kisintaksia bila kuzuia mabadiliko katika eneo linaloweza kuhaririwa; matokeo yanaonyesha udhibiti wa muundo, wala si ulinganifu wa kiutendaji uliohakikishwa.

Pakua matokeo: [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) Nakala ya nje: [Kadi ya seti ya data ya Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results)

## PDF na rejeleo

**Rejelea makala hii** BibTeX ndiyo muundo unaopendekezwa. Kila toleo lililo hapa chini huzalishwa kutoka rekodi ileile ya chapisho.

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

Faili za marejeleo: [Matini ya APA](https://aogavrilov.com/publications/inspectable-control/citation-apa.txt) [Matini ya 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) [Schema.org JSON-LD](https://aogavrilov.com/publications/inspectable-control/metadata.jsonld) [OAI-DC XML](https://aogavrilov.com/publications/inspectable-control/oai-dc.xml) [OpenAIRE v4 XML](https://aogavrilov.com/publications/inspectable-control/openaire.xml) [MODS XML](https://aogavrilov.com/publications/inspectable-control/mods.xml) [XML ya metadata ya JATS 1.4](https://aogavrilov.com/publications/inspectable-control/metadata.jats.xml) [JATS 1.4 XML ya matini kamili](https://aogavrilov.com/publications/inspectable-control/full-text/article.jats.xml) [RDF Turtle](https://aogavrilov.com/publications/inspectable-control/metadata.ttl) [Seti ya Viungo (JSON)](https://aogavrilov.com/publications/inspectable-control/linkset.json) [Seti ya Viungo (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)

Mwongozo kamili

## Mwongozo kamili wa utafiti

## Mbinu

## 

Mbinu hubana kitendakazi kifupi cha Python kuwa ngazi mbili za misimbo tambufu, hufunga nafasi teule za jumla na kuzalisha upya nafasi zilizosalia kabla ya kuzisimbua kuwa msimbo.

1. Simba Bana kitendakazi cha Python chenye tokeni 64 kuwa misimbo 16 ya kiwango cha juu na misimbo 32 ya kiwango cha chini kwa kutumia VQ-VAE ya ngazi.
2. Funga Chagua nafasi za msimbo za kiwango jumla zinazowakilisha muundo unaopaswa kuhifadhiwa, kama vile kiambishi-awali kinachofunika eneo la saini ya kitendakazi.
3. Zalisha upya Tekeleza uzalishaji bainifu uliofichwa kwenye nafasi ambazo hazijafungwa pekee, kisha simbua daraja lililokamilika kurudi kuwa msimbo chanzo.
4. Kagua Pima kiwango cha uchanganuzi wa kisintaksia, viashiria mbadala vya muundo, mabadiliko katika nafasi zisizofungwa na upekee wa sampuli kabla ya kukubali uzalishaji upya.

![Misimbo teule ya jumla ya programu hubaki bila kubadilika, huku misimbo bainifu ya kidijitali yenye vinyago ikizalishwa upya na kusimbuliwa kuwa kitendakazi cha Python kilichorekebishwa.](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg)

**Uhariri wa misimbo fiche tambufu ya kihierarkia huhifadhi muundo teule wa jumla wa programu huku ukizalisha upya misimbo ya kina katika eneo linaloweza kuhaririwa.* Chanzo: [Mchoro wa ufafanuzi uliotengenezwa na mwandishi kwa kuzingatia mbinu na matokeo yaliyochapishwa.](https://doi.org/10.1145/3803437.3807386) . Masharti ya matumizi tena: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . Nukuu inayopendekezwa: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. [Pakua SVG](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg) .*

### Wazo kuu

Udhibiti hutumika kwenye uwakilishi uliojifunzwa ulio juu ya tokeni: nafasi fiche za kiwango jumla hubainisha wazi sehemu ambazo muundo unaweza kugandishwa huku maelezo ya utekelezaji yaliyo karibu yakiendelea kuharirika.

### Tofauti na mikabala inayokaribiana

Vikwazo vya kiwango cha agizo au tokeni hutumika kwenye matini ya juu juu. Kiolesura kinachopendekezwa huweka wazi sehemu bainifu za udhibiti, kuanzia pana hadi mahususi, na hupima mlinganisho unaotokea kati ya uthabiti na uhuru.

### Kilicho kipya

Kazi hii inatambulisha na kutathmini safu ya udhibiti unaokaguliwa katika nafasi fiche ya kihirarkia kwa ajili ya kuzalisha upya vizalia vya programu ndani ya mipaka.

## Maswali ambayo makala hii husaidia kujibu

## 

Fungua swali ili kupata jibu fupi linalotegemea makala. Mipaka ya kina ya ushahidi imeorodheshwa katika Mapungufu.

1. AI inawezaje kuhariri msimbo bila kuandika upya kila kitu? Makala inachunguza uzalishaji upya wa sehemu za msimbo juu ya kiwango cha tokeni. VQ-VAE ya kihierarkia huwakilisha kitendakazi kifupi cha Python kwa misimbo tambufu ya jumla na ya kina; nafasi teule za jumla hufungwa, na uzalishaji tambufu wenye ufichaji hubadilisha tu nafasi fiche zilizosalia kabla ya usimbuaji. Hivyo, mpaka wa uhifadhi unawekwa wazi badala ya kuzalisha upya kitendakazi kizima.
2. Ni mbinu zipi huhifadhi muundo wa programu wakati wa uzalishaji wa msimbo? Kazi hii hujaribu udhibiti wa viwakilishi fiche tambufu vya kihierarkia. Nafasi fiche za ngazi ya jumla zinaweza kufungwa huku nafasi zisizofungwa zikizalishwa upya; kisha kiwango cha uchanganuzi na viashiria mbadala vya muundo hupimwa. Ushahidi unahusu uthabiti wa muundo wa kiuwezekano katika vitendakazi vifupi vya Python; hauthibitishi uhifadhi kamili wa AST, ulinganifu wa kisemantiki wala usahihi wa kiutendaji.
3. Je, viwakilishi fiche tambufu vya kihierarkia vinaweza kuwezesha udhibiti wa msimbo katika eneo maalumu? Katika jaribio lililoripotiwa la vitendakazi 2,000, kufunga misimbo minne ya ngazi ya juu kuliongeza kiwango cha uchanganuzi kutoka 0.453 hadi 0.591. Wakati huohuo, 0.936 ya nafasi zisizofungwa zilibadilika na sampuli zenye masharti zilikuwa za kipekee kwa kiwango cha 0.998. Matokeo haya ni ushahidi wa awali kwamba masharti mapana ya viwakilishi fiche yanaweza kuhifadhi sehemu ya muundo bila kuondoa uhuru wa uhariri wa ndani au uanuwai wa sampuli.
4. Uzalishaji wa msimbo unawezaje kusawazisha uthabiti wa muundo na uanuwai? Makala hutathmini uthabiti na uhuru kwa pamoja badala ya kuboresha uhalali pekee. Kufunga misimbo ya jumla huongeza uhalali wa kisintaksia huku mabadiliko katika nafasi zisizofungwa yakibaki makubwa na sampuli zenye masharti zikibaki karibu zote za kipekee. Matokeo yanaonyesha uwiano unaopimika kati ya uthabiti na uhuru chini ya usanidi uliojaribiwa, wala si kiwango bora cha jumla.
5. Kazi hii inahusianaje na uhariri wa msimbo unaosaidiwa na LLM? Modeli iliyojaribiwa ni VQ-VAE ya kihirarkia yenye uzalishaji wa kidijiti wenye ufunikaji, si modeli kubwa ya lugha. Hata hivyo, tatizo la udhibiti lina umuhimu kwa uhariri unaosaidiwa na LLM kwa sababu mabadiliko yasiyo ya lazima nje ya eneo lililoombwa ni tatizo la kiutendaji. Makala inatoa utaratibu wa ziada wa nafasi fiche na mfumo wa tathmini, si kipimo sanifu cha uhariri wa LLM.

## Ulinganisho na mikabala inayokaribiana

## 

| Uwezo | Udhibiti katika kiwango cha tokeni | Udhibiti wa kidaraja wa nafasi fiche |
| --- | --- | --- |
| Funga muundo wa jumla | Kiwango kidogo | Ufungaji asilia wa misimbo yenye uzito mpana |
| Uzalishaji upya wa sehemu | Masharti dhaifu ya juujuu | Usampulishaji upya wenye ufichaji wa misimbo iliyochaguliwa |
| Sehemu za udhibiti unaokaguliwa | Hakuna safu ya kati iliyo bayana | Nafasi bainifu za kiwango jumla na kiwango mahususi |
| Ushahidi katika makala hii | Haikutathminiwa kama msingi linganishi kamili | Uchunguzi wa uthabiti wa kisintaksia na uhuru wa uhariri |

Jedwali linafafanua violesura na ushahidi uliopimwa katika utafiti; halidai usahihi wa kiutendaji wala ubora wa jumla.

## Umuhimu na mawanda

## 

Makala inafaa zaidi kwa kazi inayohitaji udhibiti wa wazi wa mambo ambayo ugeuzaji wa msimbo unaosaidiwa na AI unaweza kubadilisha na sehemu za programu zinazopaswa kubaki thabiti.

1. Uzalishaji wa msimbo unaodhibitika na wenye kuhifadhi muundo
2. Urekebishaji wa programu uliowekewa mipaka na urekebishaji wa muundo wa msimbo wenye mipaka
3. Viwakilishi tambufu vya kihierarkia vya msimbo chanzo
4. Uzalishaji bainifu wenye ufichaji kwa msimbo chanzo
5. Udhibiti wa nafasi fiche kwa vizalia vya programu

## Mapungufu

## 

- Utafiti umewekewa mipaka ya vitendakazi vifupi vya Python vilivyokatwa hadi tokeni 64.
- Tathmini hutumia usimbuaji wa argmax na vipimo mbadala vya kisintaksia au kimuundo badala ya majaribio ya usawa wa kiutendaji.
- Uhifadhi kamili wa sahihi bado ni dhaifu.
- Udhibiti wa ngazi ya chini ni dhaifu kuliko udhibiti wa ngazi ya juu.
- Nafasi fiche bado hazijaoanishwa na maeneo ya kisemantiki kama vile masafa ya AST, saini, au muundo wa mtiririko wa udhibiti.
- Matokeo hayathibitishi usahihi kwa urekebishaji wa kiutendaji, urekebishaji wa msimbo au mabadiliko katika kiwango cha hazina.

## Marejeleo yaliyotajwa katika makala

## 

Maingizo haya yanalingana na sehemu ya Marejeleo yenye nambari katika PDF ya makala.

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 .

## Rasilimali na uwezo wa kuzalisha matokeo upya

## 

### Taarifa kuhusu data

## Matoleo

## 

1. **Toleo lililochapishwa** [ACM FSE Companion, 2026](https://doi.org/10.1145/3803437.3807386)
2. **Muswada wa mwandishi** [Muswada wa mwisho tayari kwa uchapishaji unaofikika kama matini, wenye orodha ya mwisho ya waandishi na DOI](https://aogavrilov.com/publications/inspectable-control/paper.pdf)
3. **Nakala ya nje ya matini kamili** [Hati ya mwandishi yenye leseni ya CC BY 4.0 kwenye Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results/resolve/main/paper.pdf)
4. **Fungua rekodi ya hazina** [Rekodi ya Zenodo iliyoorodheshwa na OpenAIRE](https://zenodo.org/records/21605395)
5. **Fungua matini kamili katika hazina** [Hati ya mwandishi ya Zenodo CC BY 4.0; matini yake ni sawa na hati ya ndani](https://zenodo.org/records/21605395/files/fse2026-posters-final11%20%284%29.pdf?download=1)
6. **Nyenzo za mwandishi** [Bango na mkusanyiko wa slaidi](https://aogavrilov.com/publications/inspectable-control/media/)
7. **Rekodi ya bibliaografia** [DBLP](https://dblp.org/rec/conf/sigsoft/GavrilovGMMM26)
8. **Fungua rekodi ya kitaaluma** [OpenAlex](https://openalex.org/W7169573479)
9. **Rekodi ya grafu ya marejeleo** [Semantic Scholar](https://www.semanticscholar.org/paper/93c3de037596ce177d9d882d214ccad5c5405b00)
10. **Matini kamili iliyoshirikiwa na mwandishi** [ResearchGate](https://www.researchgate.net/publication/410435483_Inspectable_Control_for_Structure-Preserving_Software_Regeneration)
11. **Muhtasari kwa lugha nyepesi** [Kudos](https://www.growkudos.com/publications/10.1145%252F3803437.3807386/reader)

DOI iliyochapishwa ndiyo kitambulishi kikuu cha kibibliografia. Ukurasa huu unabaki URL moja rasmi ya mradi katika matoleo yote.

## Chapisho linalohusiana

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

Soma [Uhariri wa msimbo unaodhibitika](https://aogavrilov.com/sw/projects/discrete-latent-generation/) mwongozo wa utafiti. [Kuhusu mwandishi](https://aogavrilov.com/about/) .

### Madokezo mahsusi ya utafiti

Majibu yanayolenga dhamira mahususi, yenye mipaka ya ushahidi na viungo vinavyorejea makala hii.

- [Urekebishaji wa msimbo katika eneo maalumu kwa kutumia modeli zalishi](https://aogavrilov.com/sw/research-notes/localized-code-modification-generative-models/)
- [Uzalishaji wa msimbo wenye vizuizi kwa uhandisi wa programu](https://aogavrilov.com/sw/research-notes/constrained-code-generation-software-engineering/)
- [Uundaji upya unaosaidiwa na AI: mbinu na ushahidi](https://aogavrilov.com/sw/research-notes/ai-assisted-refactoring-evidence/)
- [Uzalishaji wa msimbo unaotabirika unahitaji mkataba wa uhifadhi](https://aogavrilov.com/sw/research-notes/predictable-code-generation-preservation-contract/)
