Inspectable Control for Structure-Preserving Software Regeneration
Udhibiti Unaokaguliwa kwa Uzalishaji Upya wa Programu Unaohifadhi Muundo
Uzalishaji upya unaodhibitika wa sehemu za msimbo kwa kutumia viwakilishi fiche tambufu vya kihierarkia.
Soma makala kamili katika HTMLMatini 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.
Muhtasari wa makala kwa sekunde 30
Swali la utafitiMuundo 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
kur. 1406–1407Bango andamani
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.
- Seti ya data
- vitendakazi 2,000 vya Python vilivyochakatwa awali kutoka seti ndogo ya CodeParrot Clean
- Ukubwa wa sampuli
- vitendakazi 2,000 vya Python vilivyochakatwa awali; upekee wa sampuli zenye masharti ni 0.998.
- Vipimo
- Kiwango cha uchanganuzi wa kisintaksia; viashiria mbadala vya uhifadhi wa kiunzi na saini; kiwango cha mabadiliko katika nafasi zisizofungwa; upekee na entropia ya sampuli
- Kutokuwa na uhakika
- Utafiti huu wa kurasa mbili unaripoti makadirio ya nukta bila vipindi vya kutegemewa wala uchanganuzi wa kitakwimu unaotumia mbegu nyingi.
- Masharti
- vitendakazi vyenye tokeni 64, usimbuaji wa argmax, misimbo 16 ya ngazi ya juu na 32 ya ngazi ya chini; kufunga kikamilifu hurejesha kwa usahihi ujenzi upya wa kodeki.
Pakua matokeo:CSVJSONMarkdownNakala ya nje:Kadi ya seti ya data ya Hugging Face
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},
}
Gavrilov, A., Gazzaev, A.-B., Mozikov, M., Makarov, I., and Muravyov, S. (2026). Inspectable Control for Structure-Preserving Software Regeneration. In Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering (pp. 1406–1407). ACM. https://doi.org/10.1145/3803437.3807386A. Gavrilov, A.-B. Gazzaev, M. Mozikov, I. Makarov, and S. Muravyov, “Inspectable Control for Structure-Preserving Software Regeneration,” in Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering, 2026, pp. 1406–1407, doi: 10.1145/3803437.3807386.TY - CPAPER
TI - Inspectable Control for Structure-Preserving Software Regeneration
AU - Gavrilov, Alexey
AU - Gazzaev, Alan-Barsag
AU - Mozikov, Mikhail
AU - Makarov, Ilya
AU - Muravyov, Sergey
PY - 2026
DA - 2026-07-05
T2 - Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering
SP - 1406
EP - 1407
PB - ACM
DO - 10.1145/3803437.3807386
UR - https://doi.org/10.1145/3803437.3807386
SN - 979-8-4007-2636-1
ER -
Faili za marejeleo:Matini ya APAMatini ya IEEERISCSL-JSONSchema.org JSON-LDOAI-DC XMLOpenAIRE v4 XMLMODS XMLXML ya metadata ya JATS 1.4JATS 1.4 XML ya matini kamiliRDF TurtleSeti ya Viungo (JSON)Seti ya Viungo (HTTP)RO-Crate
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.
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.
Funga
Chagua nafasi za msimbo za kiwango jumla zinazowakilisha muundo unaopaswa kuhifadhiwa, kama vile kiambishi-awali kinachofunika eneo la saini ya kitendakazi.
Zalisha upya
Tekeleza uzalishaji bainifu uliofichwa kwenye nafasi ambazo hazijafungwa pekee, kisha simbua daraja lililokamilika kurudi kuwa msimbo chanzo.
Kagua
Pima kiwango cha uchanganuzi wa kisintaksia, viashiria mbadala vya muundo, mabadiliko katika nafasi zisizofungwa na upekee wa sampuli kabla ya kukubali uzalishaji upya.
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.
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.
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.
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.
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.
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.
Uzalishaji wa msimbo unaodhibitika na wenye kuhifadhi muundo
Urekebishaji wa programu uliowekewa mipaka na urekebishaji wa muundo wa msimbo wenye mipaka
Viwakilishi tambufu vya kihierarkia vya msimbo chanzo
Uzalishaji bainifu wenye ufichaji kwa msimbo chanzo
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.
- Ali Razavi, Aaron van den Oord, Oriol Vinyals. . Generating Diverse High-Fidelity Images with VQ-VAE-2. Advances in Neural Information Processing Systems.
- Jacob Austin, Daniel D. Johnson, Jonathan Ho, Daniel Tarlow, Rianne van den Berg. . Structured Denoising Diffusion Models in Discrete State-Spaces. Advances in Neural Information Processing Systems.
- Subham Sekhar Sahoo, Marianne Arriola, Yair Schiff, Aaron Gokaslan, Edgar Marroquin, Justin T Chiu, Alexander Rush, Volodymyr Kuleshov. . Simple and Effective Masked Diffusion Language Models. Advances in Neural Information Processing Systems.
- Shraddha Barke, Michael B. James, Nadia Polikarpova. . Grounded Copilot: How Programmers Interact with Code-Generating Models. Proceedings of the ACM on Programming Languages.
- Fengji Zhang, Bei Chen, Yue Zhang, Jacky Keung, Jin Liu, Daoguang Zan, Yi Mao, Jian-Guang Lou, Weizhu Chen. . RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation. Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing.
Rasilimali na uwezo wa kuzalisha matokeo upya
- Mchapishaji
- ACM
- PDF ya matini ya ndani
- Muswada wa mwandishi ulio tayari kuchapishwa wenye orodha ya mwisho ya waandishi na DOI
- Rasilimali za chapisho
- Muswada wa umma, majedwali ya matokeo, kielelezo cha ufafanuzi na faili za nukuu zinapatikana hapa. Msimbo wa utekelezaji na vituo vya ukaguzi havijatolewa kwa umma.
Taarifa kuhusu data
- Chanzo
- Seti ndogo ya CodeParrot Clean iliyochakatwa awali, yenye vitendakazi 2,000 vya Python.
- Leseni
- Tovuti hii haisambazi upya faili zozote za mkusanyiko wa data; matumizi upya yanaendelea kutawaliwa na masharti ya mkusanyiko asilia wa CodeParrot na leseni za msimbo chanzo.
- Uchakataji awali
- Vitendakazi vya Python hugawanywa katika tokeni na kufupishwa au kujazwa hadi tokeni 64 kabla ya usimbaji wa kidaraja.
- Gawanya
- Bango linaripoti seti ya tathmini yenye vitendakazi 2,000; orodha-bainishi isiyobadilika ya mgawanyo wa mafunzo/uthibitishaji haijajumuishwa katika makala ya umma.
- Muundo
- Vitendakazi vya msimbo chanzo wa Python, mifuatano ya tokeni kwa mtindo wa GPT, mifuatano ya msimbo ya kiwango cha juu yenye urefu wa 16, na mifuatano ya kiwango cha chini yenye urefu wa 32.
- Toleo / jumla ya ukaguzi
- Thamani ya ukaguzi ya seti ya data na kitambulisho kisichobadilika cha taswira ya data havijaripotiwa katika makala ya kurasa mbili.
- Upataji
- Hati ya umma ya upataji haijatolewa pamoja na ukurasa wa chapisho.
- Mipaka ya matumizi
- Sampuli haiwakilishi programu za kiwango cha hazina, lugha nyingi za programu wala kazi za urekebishaji zilizothibitishwa kitabia.
Matoleo
- Toleo lililochapishwaACM FSE Companion, 2026
- Nakala ya nje ya matini kamiliHati ya mwandishi yenye leseni ya CC BY 4.0 kwenye Hugging Face
- Fungua rekodi ya hazinaRekodi ya Zenodo iliyoorodheshwa na OpenAIRE
- Fungua matini kamili katika hazinaHati ya mwandishi ya Zenodo CC BY 4.0; matini yake ni sawa na hati ya ndani
- Nyenzo za mwandishiBango na mkusanyiko wa slaidi
- Rekodi ya bibliaografiaDBLP
- Fungua rekodi ya kitaalumaOpenAlex
- Rekodi ya grafu ya marejeleoSemantic Scholar
- Matini kamili iliyoshirikiwa na mwandishiResearchGate
- Muhtasari kwa lugha nyepesiKudos
DOI iliyochapishwa ndiyo kitambulishi kikuu cha kibibliografia. Ukurasa huu unabaki URL moja rasmi ya mradi katika matoleo yote.