Inspectable Control for Structure-Preserving Software Regeneration
Kendali yang Dapat Diperiksa untuk Regenerasi Perangkat Lunak yang Melestarikan Struktur
Regenerasi kode parsial terkendali menggunakan representasi laten diskret hierarkis.
Baca makalah lengkap dalam HTMLTeks 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.
Makalah dalam 30 detik
Pertanyaan risetBagaimana 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
hlm. 1406–1407Poster pendamping
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.
- Dataset
- 2.000 fungsi Python yang telah dipraproses dari suatu subset CodeParrot Clean
- Ukuran sampel
- 2.000 fungsi Python yang telah dipraproses; keunikan sampel bersyarat adalah 0,998.
- Metrik
- Tingkat keberhasilan penguraian; proksi pelestarian kerangka dan tanda tangan fungsi; tingkat perubahan pada posisi yang tidak dikunci; keunikan dan entropi sampel
- Ketidakpastian
- Studi dua halaman ini melaporkan estimasi titik tanpa interval kepercayaan maupun analisis statistik dengan beberapa seed.
- Kondisi
- Fungsi sepanjang 64 token, dekode argmax, 16 kode tingkat atas, dan 32 kode tingkat bawah; penguncian penuh memulihkan rekonstruksi codec secara tepat.
Unduh hasil:CSVJSONMarkdownCermin eksternal:Kartu dataset Hugging Face
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},
}
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 -
Berkas sitasi:Teks APATeks IEEERISCSL-JSONSchema.org JSON-LDXML OAI-DCXML OpenAIRE v4XML MODSXML metadata JATS 1.4Teks lengkap JATS 1.4 XMLRDF TurtleKumpulan Tautan (JSON)Kumpulan Tautan (HTTP)RO-Crate
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.
Enkode
Kompres fungsi Python sepanjang 64 token menjadi 16 kode tingkat atas dan 32 kode tingkat bawah menggunakan VQ-VAE hierarkis.
Kunci
Pilih posisi kode kasar yang merepresentasikan struktur yang hendak dilestarikan, misalnya prefiks yang mencakup rentang tanda tangan fungsi.
Menghasilkan ulang
Jalankan generasi diskret bertopeng hanya pada posisi yang tidak dikunci, lalu dekode hierarki yang telah dilengkapi kembali menjadi kode sumber.
Periksa
Ukur tingkat keberhasilan parsing, proksi struktural, perubahan pada posisi yang tidak dikunci, dan keunikan sampel sebelum menerima hasil regenerasi.
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.
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.
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.
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.
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.
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.
Generasi kode yang dapat dikontrol dan melestarikan struktur
Perbaikan program terlokalisasi dan refaktorisasi terbatas
Representasi diskret hierarkis untuk kode sumber
Generasi diskret bertopeng untuk kode sumber
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.
- 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.
Sumber daya & reprodusibilitas
- Penerbit
- ACM
- Sumber daya publikasi
- Naskah publik, tabel hasil, gambar penjelas, dan berkas sitasi tersedia di sini. Kode implementasi dan checkpoint tidak dirilis kepada publik.
Pernyataan data
- Sumber
- Subset CodeParrot Clean yang telah dipraproses dan memuat 2.000 fungsi Python.
- Lisensi
- Situs ini tidak mendistribusikan ulang berkas dataset; penggunaan kembali tetap tunduk pada dataset CodeParrot hulu dan lisensi kode sumber.
- Prapemrosesan
- Fungsi Python ditokenisasi, lalu dipangkas atau diisi hingga 64 token sebelum pengodean hierarkis.
- Pembagian
- Poster tersebut melaporkan set evaluasi berisi 2,000 fungsi; manifes pembagian train/validation yang imutabel tidak disertakan dalam makalah publik.
- Format
- Fungsi sumber Python, urutan token bergaya GPT, urutan kode tingkat atas sepanjang 16, dan urutan tingkat bawah sepanjang 32.
- Versi / checksum
- Checksum set data dan pengenal snapshot tetap tidak dilaporkan dalam makalah dua halaman tersebut.
- Akuisisi
- Skrip akuisisi publik tidak dirilis bersama halaman publikasi.
- Batas penggunaan
- Sampel tersebut tidak mewakili perangkat lunak pada skala repositori, beragam bahasa pemrograman, ataupun tugas perbaikan yang diverifikasi secara perilaku.
Versi
- Versi terbitanACM FSE Companion, 2026
- Cermin teks lengkap eksternalNaskah penulis berlisensi CC BY 4.0 di Hugging Face
- Buka rekaman repositoriRekaman Zenodo yang diindeks oleh OpenAIRE
- Buka teks lengkap repositoriNaskah penulis di Zenodo berlisensi CC BY 4.0; teksnya ekuivalen dengan naskah lokal
- Sumber daya penulisPoster dan set salindia
- Rekaman bibliografisDBLP
- Buka rekaman ilmiahOpenAlex
- Rekaman graf sitasiSemantic Scholar
- Teks lengkap yang dibagikan penulisResearchGate
- Ringkasan dalam bahasa yang mudah dipahamiKudos
DOI yang dipublikasikan merupakan pengenal bibliografis utama. Halaman ini tetap menjadi satu-satunya URL proyek kanonis di seluruh versi.