# Inspectable Control for Structure-Preserving Software Regeneration

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

Document language: id

Kendali yang Dapat Diperiksa untuk Regenerasi Perangkat Lunak yang Melestarikan Struktur

Regenerasi kode parsial terkendali menggunakan representasi laten diskret hierarkis.

[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, Moskwa, Federasi Rusia](https://axxx.tech/)

[Baca makalah lengkap dalam HTML](https://aogavrilov.com/publications/inspectable-control/full-text/) Teks yang dapat ditelusuri beserta rumus, tabel, gambar, dan referensi.

Naskah siap terbit dari penulis dengan daftar penulis final dan DOI. CC BY 4.0 author manuscript; the ACM DOI page remains the version of record. [Ketentuan publikasi dan penggunaan kembali](https://creativecommons.org/licenses/by/4.0/) .

## Makalah dalam 30 detik

**Pertanyaan riset** Bagaimana model generatif dapat mengubah bagian tertentu dari program sambil mempertahankan unsur terpilih dari struktur tingkat kasarnya?

### Masalah

Modifikasi kode berbantuan AI sering kali hanya memerlukan satu perubahan berbatas, sementara struktur program tertentu harus tetap dipertahankan. Regenerasi seluruh program dapat mengganggu bagian yang tidak terkait, sedangkan kendala pada tingkat token tidak menyediakan antarmuka kendali pada tingkat struktur kasar.

### Pendekatan

Studi ini mengodekan fungsi Python sepanjang 64 token dengan VQ-VAE hierarkis, mengunci kode diskret tingkat kasar yang dipilih, dan menggunakan generasi diskret bertopeng untuk meregenerasi kode secara lokal pada posisi laten yang tersisa.

### Hasil utama

Penguncian empat kode tingkat atas meningkatkan tingkat keberhasilan penguraian dari 0.453 menjadi 0.591, sementara tingkat perubahan pada posisi yang tidak dikunci tetap 0.936 dan keunikan sampel bersyarat tetap 0.998.

### Mengapa hal ini penting

Hasil ini menunjukkan kompromi terukur antara stabilitas dan kebebasan dalam penyuntingan kode terkendali serta regenerasi program parsial. Hasil tersebut memberikan bukti awal mengenai lapisan kendali laten yang dapat ditelaah, bukan bukti ekuivalensi semantik atau kebenaran fungsional.

## Abstrak

Alur kerja rekayasa perangkat lunak seperti perbaikan dengan kendala, penyempurnaan bertahap, dan modifikasi yang mempertahankan struktur memerlukan kendali atas bagian yang boleh berubah dan bagian yang harus tetap. Generasi pada tingkat token merupakan antarmuka kendali yang lemah untuk operasi semacam ini karena hanya membatasi teks permukaan lokal, bukan invarian struktural tingkat kasar yang sering perlu dipertahankan dalam rekayasa perangkat lunak. Kami mengkaji laten diskret hierarkis sebagai representasi antara yang dapat ditelaah untuk artefak perangkat lunak: VQ-VAE hierarkis memampatkan fungsi Python sepanjang 64 token menjadi kode diskret tingkat kasar dan halus, lalu generasi diskret bertopeng hanya meregenerasi posisi terpilih dengan kendala parsial. Pada 2,000 fungsi Python yang telah dipraproses, penguncian empat kode tingkat atas meningkatkan tingkat keberhasilan penguraian dari 0.453 menjadi 0.591, dengan tetap mempertahankan perubahan substansial pada posisi yang tidak dikunci (kebebasan penyuntingan, 0.936) dan keunikan sampel yang nyaris maksimal (keragaman, 0.998). Dengan konteks tingkat kasar yang tetap, penyempurnaan tingkat bawah lebih lemah tetapi tetap monoton, sehingga mendukung penafsiran hierarki dari kasar ke halus. Secara keseluruhan, hasil ini memberikan bukti awal mengenai lapisan kendali praktis untuk regenerasi artefak perangkat lunak yang berbatas dan mempertahankan struktur di atas tingkat token.

Diterbitkan di Prosiding 34th ACM International Conference on the Foundations of Software Engineering

Jenis kontribusi Metode kontrol ruang laten

5 Juli 2026 hlm. 1406–1407 Poster pendamping

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

## Daftar isi Di halaman ini

## Hasil utama

| Pengaturan | Tingkat keberhasilan parsing | Kerangka | Tanda tangan | Perubahan pada bagian yang tidak terkunci |
| --- | --- | --- | --- | --- |
| Masukan (dipotong) | 0.994 | 0.994 | 0.994 | — |
| Rekonstruksi codec | 0.857 | 0.848 | 0.493 | 0 |
| Generasi tanpa syarat | 0.453 | 0.08 | 0 | 0.995 |
| Kondisional, prefiks k=4 | 0.591 | 0.295 | 0.061 | 0.936 |
| Kondisional, rentang tanda tangan | 0.6 | 0.302 | 0.063 | tidak dilaporkan |

**Hasil utama.** Penguncian laten tingkat kasar meningkatkan stabilitas sintaksis tanpa meniadakan perubahan pada wilayah yang dapat disunting; hasil ini menunjukkan kendali struktural, bukan jaminan ekuivalensi fungsional.

Unduh hasil: [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) Cermin eksternal: [Kartu dataset Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results)

## PDF & sitasi

**Cara menyitasi makalah ini** BibTeX merupakan format yang disarankan. Semua varian di bawah ini dihasilkan dari rekaman publikasi yang sama.

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

Berkas sitasi: [Teks APA](https://aogavrilov.com/publications/inspectable-control/citation-apa.txt) [Teks 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) [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 metadata JATS 1.4](https://aogavrilov.com/publications/inspectable-control/metadata.jats.xml) [Teks lengkap JATS 1.4 XML](https://aogavrilov.com/publications/inspectable-control/full-text/article.jats.xml) [RDF Turtle](https://aogavrilov.com/publications/inspectable-control/metadata.ttl) [Kumpulan Tautan (JSON)](https://aogavrilov.com/publications/inspectable-control/linkset.json) [Kumpulan Tautan (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)

Panduan lengkap

## Panduan riset lengkap

## Metode

## 

Metode ini memampatkan fungsi Python pendek menjadi dua tingkat kode diskret, membekukan posisi kasar yang dipilih, dan meregenerasi posisi lainnya sebelum mendekodekannya kembali menjadi kode.

1. Enkode Kompres fungsi Python sepanjang 64 token menjadi 16 kode tingkat atas dan 32 kode tingkat bawah menggunakan VQ-VAE hierarkis.
2. Kunci Pilih posisi kode kasar yang merepresentasikan struktur yang hendak dilestarikan, misalnya prefiks yang mencakup rentang tanda tangan fungsi.
3. Menghasilkan ulang Jalankan generasi diskret bertopeng hanya pada posisi yang tidak dikunci, lalu dekode hierarki yang telah dilengkapi kembali menjadi kode sumber.
4. Periksa Ukur tingkat keberhasilan parsing, proksi struktural, perubahan pada posisi yang tidak dikunci, dan keunikan sampel sebelum menerima hasil regenerasi.

![Kode program kasar yang dipilih dipertahankan tetap, sedangkan kode diskret halus yang bermask diregenerasi dan didekode menjadi fungsi Python yang telah dimodifikasi.](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg)

**Penyuntingan kode melalui laten diskret hierarkis mempertahankan struktur program tingkat kasar yang dipilih sambil meregenerasi kode tingkat halus pada wilayah yang dapat disunting.* Sumber: [Diagram penjelas buatan penulis berdasarkan metode dan hasil yang telah dipublikasikan.](https://doi.org/10.1145/3803437.3807386) . Ketentuan penggunaan kembali: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . Atribusi yang disarankan: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. [Unduh SVG](https://aogavrilov.com/publications/inspectable-control/hierarchical-discrete-latent-code-editing.svg) .*

### Gagasan utama

Kendali diterapkan pada representasi hasil pembelajaran di atas tingkat token: posisi laten tingkat kasar menetapkan lokasi eksplisit tempat struktur dapat dibekukan, sementara detail implementasi di sekitarnya tetap dapat disunting.

### Perbedaan dari pendekatan terkait

Kendala pada tingkat prompt atau token bekerja pada teks permukaan. Antarmuka yang diusulkan mengekspos titik kontrol diskret berbutir kasar dan halus, serta mengukur kompromi antara stabilitas dan kebebasan yang dihasilkan.

### Apa yang baru

Karya ini memperkenalkan dan mengevaluasi lapisan kendali laten hierarkis yang dapat ditelaah untuk regenerasi artefak perangkat lunak berbatas.

## Pertanyaan yang turut dijawab oleh makalah ini

## 

Buka pertanyaan untuk memperoleh jawaban ringkas yang berlandaskan makalah. Batas bukti terperinci dicantumkan pada bagian Keterbatasan.

1. Bagaimana AI dapat menyunting kode tanpa menulis ulang semuanya? Makalah ini mengkaji regenerasi kode parsial di atas tingkat token. VQ-VAE hierarkis memetakan fungsi Python pendek ke kode diskret tingkat kasar dan halus; posisi tingkat kasar yang dipilih dikunci, lalu generasi diskret bertopeng hanya mengubah posisi laten yang tersisa sebelum pendekodean. Mekanisme ini menyediakan batas pelestarian yang eksplisit sehingga seluruh fungsi tidak perlu diregenerasi.
2. Metode apa yang melestarikan struktur program selama generasi kode? Karya ini menguji kontrol laten diskret hierarkis. Posisi laten kasar dapat ditetapkan, sementara posisi yang tidak terkunci diregenerasi; setelah itu, tingkat keberhasilan parsing dan proksi struktural diukur. Bukti yang tersedia berkaitan dengan stabilitas struktur probabilistik pada fungsi Python pendek; bukti tersebut tidak menetapkan pelestarian AST secara eksak, ekuivalensi semantik, ataupun kebenaran fungsional.
3. Dapatkah variabel laten diskret hierarkis memberikan kontrol terlokalisasi atas kode? Dalam eksperimen terhadap 2,000 fungsi yang dilaporkan, penguncian empat kode tingkat atas meningkatkan tingkat keberhasilan parsing dari 0.453 menjadi 0.591. Pada saat yang sama, 0.936 dari posisi yang tidak dikunci berubah dan 0.998 sampel bersyarat bersifat unik. Hasil ini merupakan bukti awal bahwa kendala laten berbutir kasar dapat mempertahankan sebagian struktur tanpa meniadakan kebebasan penyuntingan lokal atau keragaman sampel.
4. Bagaimana generasi kode dapat menyeimbangkan stabilitas struktur dan keragaman? Makalah ini mengevaluasi stabilitas dan kebebasan secara bersamaan, alih-alih hanya mengoptimalkan validitas. Penguncian kode kasar meningkatkan validitas sintaksis, sementara perubahan pada posisi yang tidak dikunci tetap tinggi dan sampel kondisional hampir seluruhnya unik. Hasil ini menunjukkan trade-off stabilitas–kebebasan yang terukur dalam konfigurasi yang diuji, bukan optimum universal.
5. Bagaimana karya ini berkaitan dengan penyuntingan kode berbantuan LLM? Model yang diuji adalah VQ-VAE hierarkis dengan generasi diskret bertopeng, bukan model bahasa besar. Meskipun demikian, persoalan kontrol ini relevan bagi penyuntingan berbantuan LLM karena perubahan yang tidak perlu di luar wilayah yang diminta merupakan masalah praktis. Makalah tersebut menyumbangkan mekanisme ruang laten dan kerangka evaluasi yang saling melengkapi, bukan tolok ukur penyuntingan LLM.

## Perbandingan dengan pendekatan terkait

## 

| Kapabilitas | Kontrol tingkat token | Kontrol laten hierarkis |
| --- | --- | --- |
| Bekukan struktur kasar | Terbatas | Penguncian kode kasar secara native |
| Regenerasi parsial | Kendala permukaan yang rapuh | Pengambilan sampel ulang bertopeng pada kode terpilih |
| Titik kontrol yang dapat diperiksa | Tanpa lapisan perantara eksplisit | Posisi diskret kasar dan halus |
| Bukti dalam makalah ini | Tidak dievaluasi sebagai baseline lengkap | Diagnostik stabilitas sintaksis dan kebebasan penyuntingan |

Tabel tersebut menjelaskan antarmuka dan bukti terukur dalam studi; tabel itu tidak mengklaim kebenaran fungsional maupun keunggulan universal.

## Relevansi & cakupan

## 

Makalah ini paling relevan bagi pekerjaan yang membutuhkan kendali eksplisit atas bagian yang boleh diubah oleh transformasi kode berbantuan AI dan bagian program yang harus tetap stabil.

1. Generasi kode yang dapat dikontrol dan melestarikan struktur
2. Perbaikan program terlokalisasi dan refaktorisasi terbatas
3. Representasi diskret hierarkis untuk kode sumber
4. Generasi diskret bertopeng untuk kode sumber
5. Kontrol laten untuk artefak perangkat lunak

## Keterbatasan

## 

- Studi ini terbatas pada fungsi Python pendek yang dipangkas menjadi 64 token.
- Evaluasi menggunakan dekode argmax serta proksi sintaksis atau struktural, bukan pengujian ekuivalensi fungsional.
- Pelestarian tanda tangan fungsi secara tepat masih lemah.
- Kontrol tingkat bawah lebih lemah daripada kontrol tingkat atas.
- Posisi laten belum diselaraskan dengan wilayah semantik seperti rentang AST, tanda tangan fungsi, atau struktur aliran kendali.
- Hasil ini tidak membuktikan kebenaran untuk perbaikan praktis, refaktorisasi, atau perubahan pada tingkat repositori.

## Referensi yang disitasi dalam makalah

## 

Entri-entri ini bersesuaian dengan bagian Referensi bernomor dalam PDF makalah.

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 .

## Sumber daya & reprodusibilitas

## 

### Pernyataan data

## Versi

## 

1. **Versi terbitan** [ACM FSE Companion, 2026](https://doi.org/10.1145/3803437.3807386)
2. **Naskah penulis** [Naskah camera-ready yang teksnya dapat diakses, dengan daftar penulis final dan DOI](https://aogavrilov.com/publications/inspectable-control/paper.pdf)
3. **Cermin teks lengkap eksternal** [Naskah penulis berlisensi CC BY 4.0 di Hugging Face](https://huggingface.co/datasets/aogavrilov/inspectable-control-results/resolve/main/paper.pdf)
4. **Buka rekaman repositori** [Rekaman Zenodo yang diindeks oleh OpenAIRE](https://zenodo.org/records/21605395)
5. **Buka teks lengkap repositori** [Naskah penulis di Zenodo berlisensi CC BY 4.0; teksnya ekuivalen dengan naskah lokal](https://zenodo.org/records/21605395/files/fse2026-posters-final11%20%284%29.pdf?download=1)
6. **Sumber daya penulis** [Poster dan set salindia](https://aogavrilov.com/publications/inspectable-control/media/)
7. **Rekaman bibliografis** [DBLP](https://dblp.org/rec/conf/sigsoft/GavrilovGMMM26)
8. **Buka rekaman ilmiah** [OpenAlex](https://openalex.org/W7169573479)
9. **Rekaman graf sitasi** [Semantic Scholar](https://www.semanticscholar.org/paper/93c3de037596ce177d9d882d214ccad5c5405b00)
10. **Teks lengkap yang dibagikan penulis** [ResearchGate](https://www.researchgate.net/publication/410435483_Inspectable_Control_for_Structure-Preserving_Software_Regeneration)
11. **Ringkasan dalam bahasa yang mudah dipahami** [Kudos](https://www.growkudos.com/publications/10.1145%252F3803437.3807386/reader)

DOI yang dipublikasikan merupakan pengenal bibliografis utama. Halaman ini tetap menjadi satu-satunya URL proyek kanonis di seluruh versi.

## Publikasi terkait

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

Baca [Penyuntingan kode yang dapat dikontrol](https://aogavrilov.com/id/projects/discrete-latent-generation/) panduan riset. [Tentang penulis](https://aogavrilov.com/about/) .

### Catatan riset terfokus

Jawaban khusus sesuai maksud, dengan batas bukti dan tautan kembali ke makalah ini.

- [Modifikasi kode terlokalisasi dengan model generatif](https://aogavrilov.com/id/research-notes/localized-code-modification-generative-models/)
- [Generasi kode berkendala untuk rekayasa perangkat lunak](https://aogavrilov.com/id/research-notes/constrained-code-generation-software-engineering/)
- [Refaktorisasi berbantuan AI: metode dan bukti](https://aogavrilov.com/id/research-notes/ai-assisted-refactoring-evidence/)
- [Generasi kode yang dapat diprediksi memerlukan kontrak pelestarian](https://aogavrilov.com/id/research-notes/predictable-code-generation-preservation-contract/)
