Pemrogram Repairnator Otomatis membuat tambalan yang cukup baik untuk menyesatkan orang
"Tidak ada yang dapat dinyatakan secara definitif di dunia ini, kecuali kematian dan pajak yang tak terhindarkan," tulis Benjamin Franklin pada 1789. Jika dia hidup hari ini, dia masih bisa menambahkan kesalahan pada daftar program.
Program komputer modern sangat kompleks sehingga kesalahan pasti muncul di dalamnya selama pengembangan. Oleh karena itu, pencarian dan penulisan tambalan yang memperbaikinya adalah bagian normal dari setiap jadwal pengembangan perangkat lunak. Bahkan ada perusahaan yang menawarkan pengembang layanan semacam itu - misalnya, Travis.
Tetapi menemukan bug dan menulis tambalan adalah bisnis yang panjang, mengambil sumber daya yang signifikan. Berbagai peneliti telah mengembangkan bot untuk mengotomatiskan proses ini, tetapi mereka biasanya bekerja lambat atau menghasilkan kode berkualitas buruk yang tidak lolos inspeksi. Oleh karena itu, pengembang sangat ingin mengandalkan bot cepat dan berkualitas tinggi yang memindai kesalahan dan menulis tambalan kepada mereka.

Hari ini, impian mereka menjadi kenyataan berkat
karya Martin Monperas dan teman-temannya dari Royal Institute of Technology di Stockholm, Swedia. Mereka akhirnya membuat bot yang mampu bersaing dengan orang-orang dalam menemukan bug dan menulis tambalan berkualitas.
Orang-orang bernama bot Repairnator dan berhasil mengujinya, memungkinkan mereka untuk bersaing dengan programmer manusia dalam mencari perbaikan "Ini adalah tonggak penting dalam perjalanan untuk bersaing dengan orang-orang dalam penelitian koreksi program otomatis," kata mereka.
Ilmuwan komputer telah lama menyadari kemungkinan mengotomatiskan proses penulisan tambalan. Tidak jelas apakah bot dapat melakukan pekerjaan ini secepat dan seefisien manusia.
Oleh karena itu, Monperas dan perusahaan memutuskan untuk menguji bot mereka dengan menyamarkannya sebagai pengembang manusia dan memungkinkannya untuk bersaing dengan orang-orang dalam pengembangan tambalan untuk GitHub, sebuah situs untuk pemrograman dengan kontrol versi. "Gagasan utama Repairnator adalah secara otomatis membuat tambalan yang memperbaiki bug di majelis, menunjukkannya kepada orang-orang yang pengembang, dan melihat apakah pengembang akan menerima tambalan ini sebagai penyertaan yang layak dalam kode," kata mereka.
Tim mendaftarkan Luc Esape sebagai programmer dari lab mereka di GitHub. "Luke memiliki foto profil, dia terlihat seperti pengembang junior, ingin berkontribusi pada pengembangan open source di GitHub," kata mereka.
Faktanya, Luke adalah Repairnator yang menyamar. Dibutuhkan penipuan, karena moderator cenderung mengevaluasi pekerjaan bot dan orang dengan cara yang berbeda. "Kerahasiaan diperlukan untuk menguji hipotesis ilmiah tentang kemampuan bersaing orang," kata Monperas dengan perusahaan itu, yang telah memberi tahu semua yang peduli tentang apa yang terjadi.
Tim membuat dua pendekatan untuk memeriksa Repairnator. Tes pertama berlangsung dari Februari hingga Desember 2017, ketika ia meluncurkan Repairnator pada daftar permanen 14.188 proyek dengan GitHub mencari bug. "Kami menemukan bahwa prototipe kami mampu melakukan sekitar 30 upaya koreksi per hari," kata mereka.
Selama ini, Repairnator menganalisis lebih dari 11.500 proyek dengan kesalahan. Dia mampu mereproduksi kesalahan dalam lebih dari 3.000 kasus. Dalam 15 kasus, ia dapat mengembangkan tambalan.
Tetapi tidak ada tambalan ini yang diterima ke dalam perakitan, karena Repairnator membuat mereka terlalu lama, atau menulis tambalan dengan kualitas yang tidak dapat diterima.
Pendekatan kedua lebih berhasil. Tim mengirim Luke untuk mengerjakan layanan integrasi berkesinambungan Travis dari Januari hingga Juni 2018. Meskipun tim tidak merinci apa yang sebenarnya mereka ubah di Repairnator, pada 12 Januari, ia menulis tambalan pertama yang diterima oleh moderator dalam majelis. "Dengan kata lain, Repairnator pertama kali dapat mencapai tingkat manusia," kata mereka. Selama enam bulan berikutnya, Repairnator mengeluarkan lima tambalan yang diterima oleh moderator.
Sebuah pencapaian yang mengesankan yang membuka jalan bagi generasi baru metode pengembangan perangkat lunak. Itu juga menimbulkan pertanyaan menarik. Pengembang memperhatikan patch yang dikembangkan Repairnator pada 12 Mei untuk proyek eclipse / ditto.
Setelah itu, tim menerima surat dari salah satu pengembang proyek: "Kami menerima permintaan kumpulan dari pengguna yang telah menandatangani perjanjian lisensi Kontributor Eclipse Foundation."
Ini menimbulkan masalah yang tidak menyenangkan karena bot tidak dapat menandatangani perjanjian lisensi. "Siapa yang memiliki kekayaan intelektual, dan siapa yang bertanggung jawab atas kontribusi bot: operator bot, penulis bot, perancang algoritme patch?" - tim pengembang mengajukan pertanyaan.
Masalah seperti ini harus diselesaikan sebelum orang dan bot dapat bekerja sama lebih jauh. Namun Monperas dan timnya optimis tentang masa depan. "Kami percaya Repairnator adalah prototipe pengembangan perangkat lunak di masa depan di mana bot dan orang-orang berkolaborasi dengan mulus dan menjadi mitra dalam menemukan kelemahan perangkat lunak," kata mereka.
Franklin, penemu terkenal itu sendiri, pasti akan terkesan dengan apa yang terjadi.