Prediksi Cerdas Software Defects pada Proyek Python Menggunakan Static Analysis dan Machine Learning

Isi Artikel Utama

Bagas Firmansyah
Muhammad Rigi Yuda Syahrial
Siti Nur Kamila
Rina Kurniawati
Bradley Yaman
Gina Purnama Insany

Abstrak

Keandalan perangkat lunak merupakan aspek krusial dalam rekayasa perangkat lunak modern, seiring meningkatnya penggunaan bahasa Python dalam pengembangan sistem open-source maupun enterprise. Deteksi dini cacat perangkat lunak sebelum proses eksekusi menjadi penting untuk menjaga kualitas sistem serta menekan biaya pemeliharaan. Namun, pendekatan tradisional seperti tinjauan kode manual dan analisis statis berbasis aturan sering mengalami keterbatasan dalam menangkap cacat yang bersifat kompleks dan kontekstual, khususnya pada proyek berskala besar, serta cenderung menghasilkan tingkat false positive yang tinggi. Penelitian ini mengusulkan sebuah intelligent framework yang mengintegrasikan static code analysis dengan pendekatan machine learning untuk memprediksi kecenderungan perbaikan bug pada proyek Python. Dataset disusun dari 10.757 snapshot file Python yang diekstraksi dari riwayat commit dua repositori berskala besar, yaitu Django dan scikit-learn. Enam fitur numerik diekstraksi menggunakan Radon, Pylint, dan Bandit untuk merepresentasikan kompleksitas kode, struktur program, pelanggaran gaya penulisan, serta potensi isu keamanan. Penelitian ini menggunakan tiga algoritma pembelajaran mesin, yaitu Random Forest, Support Vector Machine (SVM), dan Regresi Logistik, untuk tugas klasifikasi. Pemilihan algoritma tersebut didasarkan pada keunggulan masing-masing: Random Forest dipilih karena merupakan metode ensemble yang tahan terhadap overfitting, SVM dipilih karena efektif menangani data yang bersifat non-linear, dan Regresi Logistik digunakan sebagai baseline sederhana dengan proses komputasi yang cepat. Berdasarkan hasil evaluasi, model Random Forest memberikan kinerja terbaik pada metrik akurasi, presisi, recall, dan skor F1. Oleh karena itu, Random Forest dijadikan model utama dalam penelitian ini, sedangkan SVM dan Regresi Logistik hanya digunakan sebagai pembanding. Ketidakseimbangan kelas ditangani menggunakan Synthetic Minority Over-sampling Technique (SMOTE). Hasil evaluasi menunjukkan bahwa model Random Forest memberikan performa terbaik dengan nilai akurasi sebesar 76,91%, precision 89,93%, recall 83,29%, dan F1-score 86,48% pada skema evaluasi stratified cross-validation. Analisis feature importance mengungkapkan bahwa kompleksitas kode dan jumlah pelanggaran gaya penulisan merupakan faktor paling berpengaruh terhadap prediksi bug.

Rincian Artikel

Cara Mengutip
Bagas Firmansyah, Muhammad Rigi Yuda Syahrial, Siti Nur Kamila, Rina Kurniawati, Bradley Yaman, & Gina Purnama Insany. (2026). Prediksi Cerdas Software Defects pada Proyek Python Menggunakan Static Analysis dan Machine Learning. Prosiding Seminar Nasional Teknologi Informasi, Mekatronika, Dan Ilmu Komputer, 5, 152–162. Diambil dari http://prosiding.sentimeter.nusaputra.ac.id/index.php/prosiding/article/view/112
Bagian
Artikel

Referensi

S. Stradowski and L. Madeyski, “Industrial applications of software defect prediction using machine learning: A business-driven systematic literature review,” Inf. Softw. Technol., vol. 159, no. March, p. 107192, 2023, doi: 10.1016/j.infsof.2023.107192.

V. Ganesh, T. Leek, and M. Rinard, “Taint-based Directed Whitebox Fuzzing,” pp. 474–484, 2009, doi: https://doi.org/10.1109/ICSE.2009.5070546.

W. Albattah and M. Alzahrani, “Software Defect Prediction Based on Machine Learning and Deep Learning Techniques: An Empirical Approach,” AI, vol. 5, no. 4, pp. 1743–1758, 2024, doi: 10.3390/ai5040086.

K. Aimin, “Software defect prediction using machine learning techniques,” Adv. Artif. Hum. Intell. Mod. Era, pp. 180–195, 2023, doi: 10.4018/979-8-3693-1301-5.ch010.

R. Ferenc, D. Bán, T. Grósz, and T. Gyimóthy, “Deep learning in static, metric-based bug prediction,” Array, vol. 6, no. March, p. 100021, 2020, doi: 10.1016/j.array.2020.100021.

P. Mahbub, O. Shuvo, and M. Masudur Rahman, “Defectors: A Large, Diverse Python Dataset for Defect Prediction,” Proc. - 2023 IEEE/ACM 20th Int. Conf. Min. Softw. Repos. MSR 2023, pp. 393–397, 2023, doi: 10.1109/MSR59073.2023.00085.

L. E. O. Breiman, “Random Forests,” pp. 5–32, 2001, doi: https://doi.org/10.1023/A:1010933404324.

N. V Chawla, K. W. Bowyer, L. O. Hall, and W. P. Kegelmeyer, “SMOTE : Synthetic Minority Over-sampling Technique,” vol. 16, pp. 321–357, 2002, doi: https://doi.org/10.1613/jair.953.

T. J. Mccabe, “A Complexi-ty,” no. 4, pp. 308–320, 1976, doi: https://doi.org/10.1109/TSE.1976.233837.

S. Lessmann, S. Member, B. Baesens, C. Mues, and S. Pietsch, “Benchmarking Classification Models for Software Defect Prediction : A Proposed Framework and Novel Findings,” vol. 34, no. 4, pp. 485–496, 2008, doi: https://doi.org/10.1109/TSE.2008.35.

A. Priyadarshini and V. Krishnapriya, “Software Defect Prediction across Multiple Datasets using Classification Techniques,” vol. 10, pp. 158–167, 2025, doi: https://doi.org/10.52783/jisem.v10i41s.7807.

R. Oueslati and G. Manita, “Software Defect Prediction Using Integrated Logistic Regression and Fractional Chaotic Grey Wolf Optimizer,” no. Enase, pp. 633–640, 2024, doi: 10.5220/0012704600003687.