Menemukan bug program


Sebuah aplikasi atau program dikembangkan dengan menggunakan suatu bahasa pemrograman tertentu berdasar algoritma (atau sederetan perintah ke mesin komputer untuk menyelesaikan suatu masalah). Ketika sebuah bahasa pemrograman digunakan, maka si pemrogram harus mengikuti aturan atau tata bahasanya. Seperti kita menggunakan bahasa Indonesia, maka kitapun harus mengikuti tata bahasa Indonesia yang berlaku agar bisa dimengerti juga oleh orang lain. Nah, yang sering terjadi adalah, walaupun kita sudah mengikuti tata bahasa pemrograman yang digunakan, tanpa disadari perintah atau logika yang kita tulis memiliki sebuah kesalahan yang bisa jadi akan menyebabkan aplikasi atau program kita akan berhenti atau memberikan sebuah kesalahan (error) bahkan sampai ke fault. Istilah error biasanya terjadi karena ada kesalahan pada sintak bahasa program yang ditulis, sedangkan fault dikaitkan dengan kondisi aplikasi yang tidak dapat berjalan dengan baik, dan mungkin juga disebabkan karena error. Kedua hal ini sering kita sebut bahwa aplikasi tersebut memiliki bug. Contoh yang paling mudah adalah jika sebuah produk aplikasi memiliki kelemahan dalam hal keamanan, baik terhadap alokasi memori ataupun datanya, dikatakan aplikasi tersebut memiliki security bug hole.

Secara khusus untuk bahasa pemrograman Java, tim dari Universitas Maryland telah mengembangkan sebuah aplikasi yang diberi nama FindBugs. Dengan aplikasi ini, para programmer Java akan sangat dibantu untuk menemukan kelemahan-kelemahan yang mungkin terjadi dari aplikasi yang dikembangkan dengan bahasa Java. Bug yang dapat ditemukan oleh aplikasi FindBugs dikelompokkan dalam 3 kategori, yaitu: Correctness bug, Bad Practice, Performance dan Dodgy. Program ini sangatlah membantu, setidaknya untuk mengetahui dari awal kemungkinan-kemungkinan adanya bug pada aplikasi yang kita kembangkan, terutama dengan bahasa pemrograman Java. Hal menarik yang diuraikan oleh FindBugs di halaman demonya adalah dari beberapa aplikasi besarpun, seperti JDK 1.7 beta, Eclipse, Jboss ditemukan masih ada kemungkinan-kemungkinan adanya bug. Sayapun mencoba untuk menganalisis aplikasi Janjiku dengan program FindBugs ini, dan hasilnya masih ada beberapa untuk perlu diperbaiki😀.