Editorial Ilmu Komputer & AI
Open AccessOA2026
Meninjau Ulang Perbaikan Kode LLM Berbasis Umpan Balik: Replikasi dan Ekstensi Java Eksploratif
Replikasi parsial FeedbackEval pada Python dan ekstensi Java eksploratif menunjukkan bahwa peringkat efektivitas umpan balik sensitif terhadap konstruksi benchmark, representasi umpan balik, dan ekosistem perkakas.
Louis Lalonde; Wassim Keddache; Thomas Perron Touchette; Leuson Da Silva; Foutse Khomhยท 2026ยท DOI 10.48550/arXiv.2609.00362
Masalah inti
Large Language Models (LLM) semakin populer untuk mengotomatiskan tugas rekayasa perangkat lunak, termasuk perbaikan kode. Meskipun hasil awal menjanjikan, kekhawatiran tentang reproduktibilitas dan generalisasi masih kurang dieksplorasi. Penelitian ini mengatasi kekhawatiran tersebut dengan mereproduksi sebagian benchmark FeedbackEval, yang mengevaluasi bagaimana LLM memanfaatkan berbagai jenis umpan balik untuk perbaikan kode Python, dan dengan melakukan ekstensi eksploratif ke Java. Pertanyaan penelitian utamanya adalah: (1) Dapatkah tren kualitatif utama FeedbackEval direproduksi? (2) Apakah tren tersebut dapat digeneralisasi ke Java, bahasa pemrograman berbeda dengan ekosistem perkakas yang khas? Penelitian ini bertujuan menilai ketangguhan perbaikan kode LLM berbasis umpan balik lintas bahasa dan mengidentifikasi faktor yang memengaruhi efektivitas umpan balik.
Inovasi
Dalam replikasi Python, tren kualitatif utama dari studi asli direproduksi: umpan balik tes tetap menjadi jenis umpan balik terkuat, secara signifikan meningkatkan keberhasilan perbaikan dibandingkan tanpa umpan balik. Secara spesifik, tingkat keberhasilan perbaikan dengan umpan balik tes jauh lebih tinggi daripada tanpa umpan balik, dan informasi tambahan lebih meningkatkan kinerja. Namun, dalam ekstensi Java, peringkatnya berbeda: umpan balik tes sederhana dan umpan balik tes berbasis JUnit tidak berbeda secara signifikan dalam tingkat keberhasilan perbaikan. Ini menunjukkan bahwa efektivitas jenis umpan balik mungkin tidak dapat digeneralisasi lintas bahasa. Lebih lanjut, penelitian ini menemukan bahwa prompt yang lebih ringan (yaitu, prompt lebih pendek dengan konteks lebih sedikit) mengurangi biaya tanpa perbedaan signifikan dalam efektivitas perbaikan. Ini menunjukkan bahwa prompt engineering dapat dioptimalkan untuk biaya tanpa mengorbankan kinerja. Hasil juga menunjukkan bahwa pilihan LLM (GPT-4o vs. Claude 3.5 Sonnet) memengaruhi kinerja absolut tetapi tidak peringkat relatif jenis umpan balik pada Python.
Large Language Models (LLM) semakin populer untuk mengotomatiskan tugas rekayasa perangkat lunak, termasuk perbaikan kode. Meskipun hasil awal menjanjikan, kekhawatiran tentang reproduktibilitas dan generalisasi masih kurang dieksplorasi. Penelitian ini mengatasi kekhawatiran tersebut dengan mereproduksi sebagian benchmark FeedbackEval, yang mengevaluasi bagaimana LLM memanfaatkan berbagai jenis umpan balik untuk perbaikan kode Python, dan dengan melakukan ekstensi eksploratif ke Java. Pertanyaan penelitian utamanya adalah: (1) Dapatkah tren kualitatif utama FeedbackEval direproduksi? (2) Apakah tren tersebut dapat digeneralisasi ke Java, bahasa pemrograman berbeda dengan ekosistem perkakas yang khas? Penelitian ini bertujuan menilai ketangguhan perbaikan kode LLM berbasis umpan balik lintas bahasa dan mengidentifikasi faktor yang memengaruhi efektivitas umpan balik.
Penelitian ini terdiri atas dua bagian utama. Pertama, replikasi parsial studi FeedbackEval asli pada 394 tugas perbaikan menggunakan dua LLM: GPT-4o dan Claude 3.5 Sonnet. Replikasi mengikuti pengaturan eksperimen asli, termasuk jenis umpan balik yang diberikan: tanpa umpan balik, umpan balik tes sederhana, dan umpan balik tes dengan informasi tambahan (misalnya, pesan galat, stack trace). Kedua, ekstensi Java eksploratif dilakukan dengan membangun 100 instans perbaikan yang salah dari 50 tugas Java. Instans tersebut dievaluasi dengan jenis umpan balik yang sama, diadaptasi ke ekosistem perkakas Java, termasuk umpan balik tes sederhana dan umpan balik tes berbasis JUnit. Efektivitas setiap jenis umpan balik diukur dengan tingkat keberhasilan perbaikan. Penelitian ini juga menyelidiki dampak panjang prompt terhadap efektivitas dan biaya perbaikan. Desain eksperimen memungkinkan perbandingan terkendali antara Python dan Java, meskipun ekstensi Java bersifat eksploratif karena ukuran sampel lebih kecil dan potensi perbedaan kompleksitas tugas.
Mengapa penting
Temuan ini menyoroti bahwa kesimpulan sebelumnya dari Python mungkin sensitif terhadap konstruksi benchmark, representasi umpan balik, dan ekosistem perkakas. Perbedaan antara hasil Python dan Java dapat dijelaskan oleh perbedaan dalam informativitas umpan balik dan ekosistem perkakas. Misalnya, verbositas kerangka kerja tes (misalnya, JUnit di Java vs. pytest di Python) dapat memengaruhi seberapa banyak informasi berguna yang disampaikan ke LLM. Di Java, kegagalan tes JUnit sering menghasilkan stack trace panjang yang dapat membebani model, sedangkan keluaran tes Python mungkin lebih ringkas. Selain itu, ekstensi Java menggunakan kumpulan tugas yang lebih kecil, yang dapat membatasi kekuatan statistik. Penelitian ini berhipotesis bahwa efektivitas jenis umpan balik bergantung pada bahasa dan perkakas spesifik, memotivasi kebutuhan akan benchmark multibahasa yang lebih terkendali. Temuan bahwa prompt yang lebih ringan mengurangi biaya tanpa kehilangan kinerja signifikan menunjukkan bahwa praktisi dapat mengadopsi langkah penghematan biaya. Secara keseluruhan, penelitian ini menyerukan evaluasi multibahasa yang lebih ketat dan desain umpan balik yang cermat dalam sistem perbaikan berbasis LLM. Pekerjaan selanjutnya harus mencakup benchmark Java yang lebih besar dan bahasa lain untuk memvalidasi observasi ini.
Siapa yang sebaiknya membaca
Praktisi dan peneliti ilmu komputer
Membuka konten memberโฆ