CATATAN PENYELIDIKAN

Pengubahsuaian kod setempat menggunakan model generatif

Cara mengelakkan penulisan semula keseluruhan fungsi yang tidak perlu sambil mengekalkan kebebasan yang mencukupi untuk model generatif melaksanakan perubahan kod yang diminta.

Kongsi catatan penyelidikan iniKongsi

JAWAPAN LANGSUNG

Bagaimanakah model generatif dapat mengubah suai kod tanpa menulis semula keseluruhan fungsi?

Takrifkan kawasan dilindungi dan kawasan boleh sunting sebelum penjanaan, guna semula atau kekang perwakilan dilindungi, jana perubahan calon sahaja, dan tolak keluaran yang mengubah kod dilindungi atau gagal dalam semakan khusus tugas. Kesetempatan dan kejayaan tugas mesti diukur bersama-sama.

Mengapa perbezaan ini penting

Kaedah dan jaminan yang didakwa memerlukan sempadan boleh diperhatikan yang sama.

Pengubahsuaian kod setempat ialah masalah penyuntingan, bukan sekadar gesaan penjanaan kod yang lebih pendek. Input sedia mengandungi artifak yang wajar dikekalkan, maka kaedah tersebut memerlukan sempadan yang jelas antara kawasan yang dibenarkan berubah dengan sifat yang mesti kekal stabil.

Sempadan boleh berupa rentang sumber, nod sintaks, tandatangan API, tingkah laku ujian, kontrak kebergantungan atau kedudukan pendam terpelajar. Pilihan ini tidak boleh saling menggantikan: setiap satunya melindungi sifat boleh diperhatikan yang berbeza dan memerlukan langkah pengesahan yang sepadan.

Prosedur praktikal

  1. Nyatakan kontrak pengekalan

    Kenal pasti kawasan yang boleh disunting serta teks, struktur, antara muka atau tingkah laku tepat yang mesti kekal tidak berubah.

  2. Pilih antara muka kawalan berguna yang paling terbatas

    Gunakan semula rentang sumber yang tidak berubah, gunakan pengisian ruang atau penyahkodan berorientasikan suntingan, terapkan kekangan formal, atau kunci kedudukan pendam yang dipilih mengikut sifat yang diperlukan.

  3. Jana hanya pada bahagian yang dibenarkan berubah

    Kekalkan kebebasan yang mencukupi dalam kawasan yang boleh disunting untuk menyelesaikan tugasan; penyalinan keseluruhan input bersifat setempat tetapi tidak menghasilkan kemajuan.

  4. Sahkan kesetempatan dan kejayaan secara bersama

    Tolak calon yang mengubah kawasan terlindung, gagal dihuraikan atau dikompil, melanggar invarian struktur, atau tidak memenuhi perubahan yang diminta.

Bukti yang diperlukan

Kekuatan sesuatu dakwaan terbatas pada sifat yang diukur selepas penjanaan atau penyahkodan.

  • Perbezaan di luar rantau atau ukuran langsung lain bagi kestabilan rantau terlindung.
  • Kejayaan tugas dalam rantau boleh sunting.
  • Penghuraian, pengkompilan, ujian, semakan statik atau invarian khusus tugas, mengikut kesesuaian.
  • Kadar perubahan kawasan boleh sunting supaya penyalinan tidak disalah anggap sebagai kawalan.
  • Keunikan calon dan kebolehubahan antara larian berulang agar kesetempatan tidak disalah anggap sebagai keruntuhan mod.

Dapatan kajian yang dipautkan

  • Eksperimen terpaut memampatkan fungsi Python 64 token kepada kedudukan diskret berhierarki dan menjana semula kedudukan pendam terpilih di bawah kekangan separa.
  • Penguncian empat kod peringkat teratas meningkatkan kadar penghuraian daripada 0.453 kepada 0.591, manakala kedudukan yang tidak dikunci berubah pada kadar 0.936 dan sampel bersyarat kekal 0.998 unik.
  • Ukuran tersebut memperlihatkan tukar ganti antara kestabilan dengan kebebasan pada aras di atas token; ukuran itu tidak membuktikan pengekalan rentang sumber, AST, semantik atau tingkah laku secara tepat.

Baca gambaran keseluruhan penerbitan Cari dalam teks penuh makalah

Sempadan skop

  • Kod pendam yang dikunci tidak semestinya merupakan nod AST, rentang sumber terlindung atau invarian formal.
  • Kadar penghuraian membuktikan bahawa sintaks terbentuk dengan baik, bukannya ketepatan fungsi atau kejayaan pembaikan.
  • Bukti yang dilaporkan berasal daripada fungsi Python pendek yang dipraproses dan tidak membuktikan tingkah laku pada skala repositori.
Bandingkan antara muka kawalan penyuntingan setempat

Sumber utama dan berkaitan

Rujuk makalah yang dipautkan untuk kaedah asal, ukuran, dan batasan yang dinyatakan.

  1. Inspectable Control for Structure-Preserving Software Regeneration

    Makalah utama dan eksperimen pendam berhierarki yang terbatas.

  2. EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding

    Penyahkodan berorientasikan suntingan yang menggunakan semula bahagian sumber yang tidak berubah.

  3. PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair

    Menjadikan pemeliharaan dan perubahan minimum eksplisit dalam latihan pembaikan atur cara.

Diselenggara oleh . Halaman ini merumuskan bukti sedia ada dan tidak menambah hasil eksperimen selain yang terdapat dalam sumber yang dipetik.

Layari semua catatan penyelidikan