FVSpec: Menerjemahkan pengujian berbasis properti nyata ke Lean dan tolok ukur baru untuk verifikasi AI

8 September 202628 tampilan

Para peneliti mengumpulkan lebih dari 11 ribu pengujian berbasis properti dari proyek Python nyata dan secara otomatis mengubahnya menjadi ribuan spesifikasi formal Lean 4. Tolok ukur terbuka yang dihasilkan memungkinkan evaluasi seberapa baik model dan agen menangani verifikasi kode nyata.

FVSpec: Menerjemahkan pengujian berbasis properti nyata ke Lean dan tolok ukur baru untuk verifikasi AI

Mengapa Perlu Benchmark Baru

Semakin banyak kode yang ditulis oleh jaringan saraf, semakin mendesak pertanyaannya: bagaimana memastikan bahwa kode tersebut benar-benar melakukan apa yang seharusnya dilakukan? Pengujian biasa menemukan sebagian kesalahan, tetapi tidak memberikan jaminan formal atas kebenaran. Untuk itu diperlukan verifikasi — penerjemahan program ke dalam bahasa pernyataan matematis yang ketat dan pembuktian propertinya. Pekerjaan ini mahal dan rumit, sehingga para peneliti ingin menyerahkannya kepada AI.

Masalahnya adalah model yang dilatih pada contoh-contoh pembelajaran yang rapi sering kali kebingungan saat berhadapan dengan kode nyata. Proyek nyata penuh dengan konvensi implisit, kekhasan bahasa, dan perilaku yang tidak terdokumentasi. Untuk menguji seberapa baik AI menangani kondisi seperti itu, diperlukan arena uji berskala besar yang dibangun dari program nyata, bukan dari soal-soal sintetis.

FVSpec: Pengujian Nyata sebagai Tantangan bagi AI

Sekelompok peneliti — Quinn Dougherty, Max von Hippel, Simon Henniger, Hazel Shackleton, dan Mike Dodds — mempresentasikan benchmark FVSpec. Karya ini muncul di arXiv dengan nomor 2606.01008, dan pada Agustus 2026 para penulis merilis versi terbaru.

Ide utamanya adalah mengambil pengujian berbasis properti dari repositori Python nyata dan mengubahnya menjadi spesifikasi formal dalam bahasa Lean 4. Pengujian semacam itu tidak memeriksa contoh-contoh spesifik, melainkan properti fungsi: "untuk setiap input yang valid, kondisi tertentu terpenuhi". Hal ini menjadikannya jembatan alami menuju formalisasi matematis.

Para penulis mengumpulkan 11.039 pengujian berbasis properti dari proyek Python sumber terbuka. Hanya 2.772 di antaranya yang berhasil diterjemahkan secara otomatis ke Lean 4 — sekitar seperempatnya. Hasilnya menghasilkan 9.415 spesifikasi: sekitar tiga varian formalisasi untuk setiap pengujian yang berhasil diterjemahkan. Cadangan ini diperlukan karena properti yang sama dapat ditulis dengan cara yang berbeda, dan sebelumnya tidak selalu jelas varian mana yang akan lebih nyaman untuk pembuktian selanjutnya.

Mengapa Ini Sulit

Menulis ulang pengujian ke Lean bukanlah penggantian sintaksis secara mekanis. Python dan Lean berada dalam paradigma yang berbeda: yang pertama menggunakan pengetikan dinamis, objek yang dapat diubah, dan konstruksi imperatif; yang kedua menggunakan sistem tipe ketat dengan tipe dependen. Agar spesifikasi sesuai dengan perilaku kode yang sebenarnya, semantik Python harus dimodelkan dengan hati-hati.

Kesulitan tambahan adalah bahwa pengujian berbasis properti sering ditulis sebagai skenario imperatif: dengan perulangan, pengecualian, dan penanganan status. Mengekstraksi pernyataan murni berbentuk "untuk setiap x, P(x) berlaku" dari ini merupakan tugas penelitian tersendiri.

Terakhir, Lean 4 tetap menjadi bahasa dengan sistem tipe yang rumit, yang jarang ditemui bahkan dalam pengembangan profesional. Ini merupakan tantangan serius bagi model bahasa: mereka perlu secara bersamaan menguasai sintaksis yang langka, terbiasa dengan tipe dependen, dan menghasilkan definisi yang benar.

Bagaimana Pipeline dan Evaluasi Bekerja

Untuk penerjemahan otomatis, para penulis membuat pipeline dari tiga agen LLM. Berdasarkan deskripsi, agen-agen tersebut membagi pekerjaan di antara mereka: satu menganalisis pengujian sumber, yang lain membangun spesifikasi, dan yang ketiga memeriksa serta meningkatkan hasil. Seluruh kode pipeline dipublikasikan, begitu pula data yang dikumpulkan.

Kualitas penerjemahan dievaluasi dari beberapa arah. Cakupan menunjukkan proporsi pengujian nyata yang dapat diformalisasi. Metrik kualitas terpisah mengevaluasi sejauh mana spesifikasi yang dihasilkan mencerminkan perilaku kode asli. Selain itu, para peneliti menetapkan baseline untuk pembuatan bukti: mereka menjalankan beberapa pendekatan otomatis dan berbasis model serta menemukan seberapa sering pendekatan tersebut berhasil membuktikan pernyataan yang dirumuskan. Pengukuran semacam itu memberikan titik acuan bagi karya-karya masa depan untuk perbandingan.

Apa Manfaatnya bagi Praktik

FVSpec menargetkan bidang yang jarang diteliti — verifikasi formal berbantuan AI untuk perangkat lunak nyata. Kemampuan membuktikan properti contoh pembelajaran tidak menjamin keberhasilan pada kode nyata, sehingga benchmark yang dibangun dari pengujian nyata membantu membandingkan metode secara jujur dan melacak kemajuan.

Signifikansi pendekatan semacam ini tumbuh seiring dengan jumlah kode yang dihasilkan oleh jaringan saraf. Jika AI semakin sering menulis program, maka alat verifikasi otomatis menjadi kebutuhan, bukan kemewahan.

Kesimpulan

FVSpec adalah langkah penting menuju verifikasi formal yang tidak lagi menjadi domain spesialis sempit dan berubah menjadi alat praktis. Benchmark ini menggabungkan pengujian berbasis properti nyata, bahasa Lean 4, dan pipeline LLM terbuka. Berkat data dan kode yang dapat diakses, peneliti mana pun dapat mereproduksi eksperimen atau mengusulkan pendekatannya sendiri, sehingga komunitas memiliki titik bersama untuk bergerak maju.

Pertanyaan yang sering ditanyakan

FVSpec: Menerjemahkan pengujian berbasis properti nyata ke Lean dan tolok ukur baru untuk verifikasi AI