Generator pengujian berbasis LLM baru dari Meta memberi peluang untuk mengintip masa depan pengembangan
- Meta menerbitkan makalah berjudul "Automated Unit Test Improvement using Large Language Models at Meta".
- Makalah ini menunjukkan cara menggunakan AI untuk mempercepat pengembangan dan mengurangi bug perangkat lunak.
- Dengan mengintegrasikan LLM ke dalam alur kerja pengembang, pendekatan ini mengusulkan perbaikan perangkat lunak yang akurat dan lengkap untuk meningkatkan code coverage saat ini.
Poin utama
- TestGen-LLM menggunakan pendekatan 'Assured LLM-based Software Engineering' (Assured LLMSE).
- Pendekatan ensemble digunakan untuk menghasilkan usulan perbaikan kode dengan beberapa LLM, prompt, dan hyperparameter, lalu memilih perbaikan terbaik.
- TestGen-LLM dirancang khusus untuk meningkatkan test yang sudah ditulis manusia.
Statistik
- Dalam evaluasi produk Reels dan Stories di Instagram, 75% test case yang dihasilkan TestGen-LLM berhasil dibuild, 57% lulus secara andal, dan 25% meningkatkan coverage.
- TestGen-LLM mampu memperbaiki 10% dari semua class yang diterapkan, dan pengembang menerima 73% usulan perbaikan test lalu menerapkannya ke production.
- Dalam "test-a-thon" untuk membuat test guna meningkatkan test coverage Instagram, median jumlah baris kode yang ditambahkan oleh test TestGen-LLM adalah 2,5.
Insight yang bisa diterapkan
- Ini adalah contoh yang baik tentang bagaimana LLM dapat digunakan untuk secara efisien meningkatkan produktivitas pengembangan dan keandalan perangkat lunak.
- Nilai sejati LLM ada pada kemampuannya menemukan dan menangkap edge case yang tak terduga.
- Untuk menggunakan LLM di production, diperlukan orkestrasi, pipeline, dan pemrosesan.
Cara kerja TestGen-LLM
- TestGen-LLM menerapkan serangkaian filter semantik pada kandidat solusi yang dihasilkan oleh LLM internal Meta, sehingga hanya test yang paling bernilai yang dipertahankan.
- Filter 1: kemungkinan build, Filter 2: eksekusi (apakah test lulus), Filter 3: ketidakstabilan, Filter 4: peningkatan coverage.
- Filter pemrosesan ini menjamin peningkatan pada test suite.
Kesimpulan
- Makalah ini adalah cara yang baik untuk melacak kemajuan LLM di ranah keandalan perangkat lunak, sesuatu yang sudah banyak pengembang lakukan dengan memanfaatkan LLM.
- LLM akan semakin mampu menemukan bug dan melakukan pengujian pada sistem perangkat lunak yang makin kompleks.
Opini GN⁺
- Artikel ini memberikan wawasan menarik tentang bagaimana kecerdasan buatan dapat memengaruhi masa depan pengembangan perangkat lunak.
- Alat seperti TestGen-LLM dapat sangat membantu dalam mengotomatisasi pekerjaan pengembang dan meningkatkan efisiensi.
- Perkembangan teknologi seperti ini bergerak ke arah pengurangan kompleksitas pengembangan perangkat lunak, peningkatan kualitas, dan penghematan waktu pengembang.
1 komentar
Komentar Hacker News