EVALUATING THE ACCURACY OF JDEODORANT’S REFACTORING OPPORTUNITY STRATEGY FOR LONG METHOD AND GOD-CLASS CODE SMELL
Nicholas Haddou, Dr.techn. Khabib Mustofa, S.Si.,M.Kom.
2024 | Skripsi | ILMU KOMPUTER
Code Smell adalah indikator masalah yang ada di dalam kode sumber. Adanya Code Smell tidak selalu berarti ada masalah saat ini, namun hal ini menyiratkan bahwa mungkin ada masalah. Dua Code Smell yang paling umum adalah Long Method dan God Class. Ini termasuk dalam kategori Code Smell yang membengkak, yang berarti mereka berusaha melakukan terlalu banyak dan melanggar Prinsip Tanggung Jawab Tunggal. Pengembang sering kali menulis kode seperti itu tanpa menyadarinya, dan oleh karena itu diperlukan alat untuk mendeteksi kelemahan tersebut, dan juga diperlukan alat yang akurat. JDeodorant menyediakan deteksi Code Smell ini untuk Eclipse IDE dan menggunakan strategi deteksi yang disebut peluang pemfaktoran ulang. Metode ini merupakan hal yang berbeda dalam penelitian sebelumnya yang mencoba menganalisis keakuratan alat jenis ini. Daftar referensi yang berisi semua Code Smell yang dikonfirmasi dibuat dengan menganalisis kode sumber menggunakan metrik perangkat lunak, metode pendeteksian yang berbeda dengan JDeodorant. Telah ditemukan bahwa tingkat deteksi JDeodorant memiliki tingkat akurasi 0,98 untuk deteksi Long Method dan 0,83 untuk deteksi God Class sehubungan dengan daftar referensi.
Code smells are indicators of a problem that lies within a source code. The existence of code smell does not necessarily mean a problem currently exists, but it implies that a problem could exist. Two of the most common code smells are Long Methods and God Class. These fall into the bloater category of code smells, which means they are attempting to do too much and violate the Single Responsibility Principle. Developers often write such codes without noticing, and thus tools to detect such flaws are required, and it is also required that these tools be accurate. JDeodorant provides a detection of these code smells for Eclipse IDE and it uses a detection strategy called refactoring opportunity. This method has been an outlier in previous researches that attempt to analyze the accuracy of these types of tools. A reference list containing all the confirmed code smells is made by analyzing the source code using software metrics, a method of detection different to JDeodorant. It has been found that JDeodorant’s detection rate possesses an accuracy rate of 0.98 for Long Methods detection and 0.83 for the detection of God Classes with respect to the reference list.
Kata Kunci : Code smell, Long Method, God Class, Eclipse IDE, detection rate