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.

Alexey Gavrilov1Alan-Barsag Gazzaev1Mikhail Mozikov2Ilya Makarov2Sergey Muravyov1

  1. ITMO University, Saint Petersburg, Russian Federation
  2. AXXX, Moskwa, Federasi Rusia

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

DOI https://doi.org/10.1145/3803437.3807386

Bagikan makalah iniBagikan

Hasil utama

Hasil utama Kontrol yang Dapat Diperiksa untuk Regenerasi Perangkat Lunak dengan Preservasi Struktur
PengaturanTingkat keberhasilan parsingKerangkaTanda tanganPerubahan pada bagian yang tidak terkunci
Masukan (dipotong)0.9940.9940.994
Rekonstruksi codec0.8570.8480.4930
Generasi tanpa syarat0.4530.0800.995
Kondisional, prefiks k=40.5910.2950.0610.936
Kondisional, rentang tanda tangan0.60.3020.063tidak 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.

PDF & sitasi

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

Buka PDF
@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},
}
Unduh .bib

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

DOI: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.
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..Ketentuan penggunaan kembali: CC BY 4.0.Atribusi yang disarankan: Gavrilov et al. (2026), Inspectable Control for Structure-Preserving Software Regeneration. Unduh 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

Perbandingan faktual Kontrol yang Dapat Diperiksa untuk Regenerasi Perangkat Lunak dengan Preservasi Struktur dengan pendekatan terkait
KapabilitasKontrol tingkat tokenKontrol laten hierarkis
Bekukan struktur kasarTerbatasPenguncian kode kasar secara native
Regenerasi parsialKendala permukaan yang rapuhPengambilan sampel ulang bertopeng pada kode terpilih
Titik kontrol yang dapat diperiksaTanpa lapisan perantara eksplisitPosisi diskret kasar dan halus
Bukti dalam makalah iniTidak dievaluasi sebagai baseline lengkapDiagnostik 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

Lihat keterbatasan dan batas bukti

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. . Generating Diverse High-Fidelity Images with VQ-VAE-2. Advances in Neural Information Processing Systems.
  2. 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.
  3. 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.
  4. Shraddha Barke, Michael B. James, Nadia Polikarpova. . Grounded Copilot: How Programmers Interact with Code-Generating Models. 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. . 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

  1. Sumber daya penulisPoster dan set salindia
  2. Rekaman bibliografisDBLP
  3. Buka rekaman ilmiahOpenAlex
  4. Rekaman graf sitasiSemantic Scholar
  5. Teks lengkap yang dibagikan penulisResearchGate
  6. 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.