Peneliti Microsoft telah mengembangkan solusi Kecerdasan Buatan (AI) yang mereka yakini dapat membantu pemrogram men-debug aplikasi mereka dengan lebih cepat dan lebih akurat.
Disebut BugLab, AI didasarkan pada model permainan “petak umpet”, dan bekerja dengan cara yang mirip dengan cara Generative Adversarial Networks (GAN) dibuat.
Merinci penelitian dalam posting blog (terbuka di tab baru)peneliti Miltos Allamanis (Peneliti Utama) dan Marc Brockschmidt (Manajer Riset Utama Senior) menjelaskan bagaimana mereka membuat dua jaringan dan mengadu domba satu sama lain, seperti cara bermain petak umpet.
Kompetisi
Satu jaringan dirancang untuk membuat bug, baik besar maupun kecil, ke dalam kode yang ada, sementara yang lain dibuat untuk menemukannya. Saat permainan berlangsung, dan kedua “peserta” menjadi lebih baik, AI sampai pada titik di mana cukup baik untuk mengidentifikasi bug yang tersembunyi dalam kode sebenarnya.
Kedua model dilatih bersama, tanpa data berlabel, dengan cara yang diawasi sendiri, lebih dari “jutaan potongan kode”, para peneliti menjelaskan.
Meskipun idenya adalah untuk membuat program yang dapat mengidentifikasi bug kompleks yang sewenang-wenang, ini masih “di luar jangkauan metode AI modern”, klaim para peneliti. Sebaliknya, mereka berfokus pada bug yang sering muncul, seperti perbandingan yang salah, operator Boolean yang salah, penyalahgunaan variabel, dan bug serupa.
Alarm palsu menghalangi
Pengujian dilakukan pada Python (terbuka di tab baru)dan setelah melatih aplikasi, saatnya untuk mengujinya di kehidupan nyata.
“Untuk mengukur kinerja, kami secara manual menganotasi kumpulan data kecil bug dari paket di Python Package Index dengan bug tersebut dan menunjukkan bahwa model yang dilatih dengan metode “petak umpet” kami hingga 30% lebih baik dibandingkan dengan alternatif lain, misalnya , pendeteksi dilatih dengan bug yang disisipkan secara acak,” tambah blog tersebut.
Duo menggambarkan hasil sebagai “menjanjikan”, karena sekitar seperempat (26%) bug dapat ditemukan dan diperbaiki secara otomatis. Terlebih lagi, di antara bug yang terdeteksi ada 19 bug yang sebelumnya tidak diketahui.
Namun, ada banyak kesalahan positif, membuat para peneliti menyimpulkan bahwa diperlukan lebih banyak pelatihan sebelum model semacam itu dapat digunakan secara praktis.