Menulis kode hanyalah langkah pertama dalam menciptakan sesuatu. Menyisir kode Anda untuk mencari bug dan memperbaikinya memakan waktu dan seringkali membutuhkan waktu lebih lama dari yang diperkirakan, tetapi tetap merupakan langkah penting.

Andai saja ada cara untuk secara otomatis memperbaiki bug yang melampaui kesalahan sintaks dan benar-benar memahami maksud di balik kode Anda.

Baru-baru ini, Microsoft mengembangkan AI yang mampu mendeteksi dan memperbaiki bug dalam kode menggunakan pembelajaran mendalam. Tapi bagaimana bagian dari teknologi revolusioner ini muncul, dan bagaimana cara kerjanya?

Apa itu BugLab, dan Bagaimana Cara Kerjanya?

BugLab adalah implementasi Python kecerdasan buatan yang mencari dan memperbaiki bug dalam kode. Ini dikembangkan oleh Miltos Alamanis dan Marc Brockschmidt, dua peneliti di Microsoft Research. Mereka berhasil mengatasi kurangnya data berlabel yang sering digunakan dalam pembelajaran mesin dengan beralih ke pembelajaran yang diawasi sendiri dan memungkinkan BugLab untuk melatih dirinya sendiri melalui permainan "petak umpet" dengan baris kode.

instagram viewer

BugLab dilatih menggunakan dua model komputasi; satu yang menyembunyikan bug dalam potongan kode yang benar, dan yang lain yang mencari dan memperbaiki bug. Kedua model terus belajar dari satu sama lain. Seiring waktu, pemilih bug menjadi lebih baik dalam menyembunyikan bug dalam kode, dan detektor menjadi lebih baik dalam menangkap dan memperbaikinya.

Memahami Kode Dengan BugLab

Sebagian besar bug yang dilatih oleh BugLab AI untuk dideteksi dan diperbaiki tidak mengakibatkan kesalahan logis tetapi hanya salah sebagai akibat dari konteks umum kode. Memahami maksud pengembang sangat penting untuk menemukan bug ini.

Memperlakukan potongan kode dengan cara yang sama seperti memproses bahasa alami menghasilkan hasil yang kurang optimal. Masih sulit bagi AI untuk memahami hubungan antara pernyataan yang berbeda ketika mereka dipecah menjadi token individu.

Sebaliknya, BugLab melihat kode secara keseluruhan. Dengan begitu, setiap sintaks, ekspresi, simbol, dan pengenal direpresentasikan sebagai titik dalam grafik, memungkinkan AI untuk "memahami" koneksi dan hubungan antara berbagai node.

Arsitektur jaringan saraf kemudian digunakan untuk melatih AI debugging. Mereka mampu menarik wawasan dari struktur kaya grafik kode dan memberikan alasan untuk hubungan setiap node dengan yang lain.

Apakah BugLab Bekerja pada Kode Kehidupan Nyata?

Penting untuk dicatat bahwa BugLab bukanlah pengganti programmer yang terampil. Itu karena bug kompleks masih belum terjangkau.

Tujuan Microsoft dengan AI adalah untuk mendeteksi dan memperbaiki bug yang umum terjadi seperti operator Boolean yang salah, seperti penggunaan “atau” sebagai ganti “dan” dan sebaliknya, selain perbandingan nilai dan variabel yang dibalik penyalahgunaan.

Berdasarkan Microsoft, hasilnya menjanjikan, karena BugLab mampu mendeteksi dan secara otomatis memperbaiki sekitar 26 persen bug dalam sebuah kode. Namun, persentase akurasi yang signifikan masih hilang karena kesalahan positif dan bug yang terlewat.

Aplikasi Masa Depan Microsoft BugLab

Tujuan Microsoft dengan BugLab adalah menghemat waktu pengembang perangkat lunak, sering kali dihabiskan untuk memeriksa kode mereka untuk mencari bug terkecil.

Sementara model debug AI masih dalam proses, ia memiliki peluang untuk menemukan dan memperbaiki bug yang berkisar dari tidak nyaman hingga bencana. Tetapi dalam beberapa tahun, Anda dapat mengharapkan BugLab menjadi suatu keharusan di setiap perangkat pengembang, meskipun itu tidak sempurna.

Evolusi Eksponensial AI Mengajar Mandiri

Semakin banyak waktu model AI seperti BugLab harus berlatih pada contoh kehidupan nyata, semakin baik dan lebih akurat hasil yang akan mereka hasilkan.

Salah satu rintangan paling menantang yang dihadapi peneliti Microsoft saat mengembangkan BugLab adalah menggunakan pemahaman manusia tentang kode dan niat ke dalam alat. Tetapi sekarang setelah sebagian besar terpecahkan, Anda dapat mengharapkan BugLab menjadi lebih baik seiring waktu.

Pembelajaran Mendalam vs. Pembelajaran Mesin vs. AI: Bagaimana Mereka Pergi Bersama?

Mencoba mencari tahu perbedaan antara kecerdasan buatan, pembelajaran mesin, dan pembelajaran mendalam? Inilah yang mereka semua maksud.

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Pemrograman
  • Microsoft
  • Kiat Pengkodean
  • Kecerdasan buatan
Tentang Penulis
Anina Ot (89 Artikel Diterbitkan)

Anina adalah penulis lepas teknologi dan keamanan internet di MakeUseOf. Dia mulai menulis di bidang keamanan siber 3 tahun lalu dengan harapan membuatnya lebih mudah diakses oleh kebanyakan orang. Tertarik untuk mempelajari hal-hal baru dan seorang nerd astronomi yang hebat.

More From Anina Ot

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan