Software Defect Prediction Framework Using Hybrid Software Metric

Amirul Zaim - Universiti Teknologi Malaysia, Johor, Malaysia
Johanna Ahmad - Universiti Teknologi Malaysia, Johor, Malaysia
Noor Hidayah Zakaria - Universiti Teknologi Malaysia, Johor, Malaysia
Goh Eg Su - Universiti Teknologi Malaysia, Johor, Malaysia
Hidra Amnur - Politeknik Negeri Padang, Limau Manis, Padang, 25164, Indonesia


Citation Format:



DOI: http://dx.doi.org/10.30630/joiv.6.4.1258

Abstract


Software fault prediction is widely used in the software development industry. Moreover, software development has accelerated significantly during this epidemic. However, the main problem is that most fault prediction models disregard object-oriented metrics, and even academician researcher concentrate on predicting software problems early in the development process. This research highlights a procedure that includes an object-oriented metric to predict the software fault at the class level and feature selection techniques to assess the effectiveness of the machine learning algorithm to predict the software fault. This research aims to assess the effectiveness of software fault prediction using feature selection techniques. In the present work, software metric has been used in defect prediction. Feature selection techniques were included for selecting the best feature from the dataset. The results show that process metric had slightly better accuracy than the code metric.

Keywords


Software fault prediction; machine learning; object-oriented metric.

Full Text:

PDF

References


S. S. Rathore and S. Kumar, "A study on software fault prediction techniques," Artif Intell Rev, vol. 51, no. 2, pp. 255–327, Feb. 2019, doi: 10.1007/s10462-017-9563-5.

S. S. Rathore and S. Kumar, "Towards an ensemble-based system for predicting the number of software faults," Expert Syst Appl, vol. 82, pp. 357–382, Oct. 2017, doi: 10.1016/j.eswa.2017.04.014.

N. Fenton, M. Neil, W. Marsh, P. Hearty, Å. RadliÅ„ski, and P. Krause, "On the effectiveness of early life cycle defect prediction with Bayesian nets," Empir Softw Eng, vol. 13, no. 5, pp. 499–537, Oct. 2008, doi: 10.1007/s10664-008-9072-x.

M. Öztürk, U. Cavusoglu, and A. Zengin, "A novel defect prediction method for web pages using k-means++," Expert Syst Appl, vol. 42, no. 19, pp. 6496–6506, May 2015, doi: 10.1016/j.eswa.2015.03.013.Kumar Pandey and M. Gupta, "Software Metrics Selection for Fault Prediction: A Review."

Okutan and O. T. Yıldız, "Software defect prediction using Bayesian networks," Empir Softw Eng, vol. 19, no. 1, pp. 154–181, 2014, doi: 10.1007/s10664-012-9218-8.

Catal and B. Diri, "A systematic review of software fault prediction studies," Expert Systems with Applications, vol. 36, no. 4. pp. 7346–7354, May 2009. doi: 10.1016/j.eswa.2008.10.027.

Alshayeb and W. Li, "An Empirical Validation of Object-Oriented Metrics in Two Different Iterative Software Processes," IEEE Transactions on Software Engineering, vol. 29, no. 11, pp. 1043–1049, 2003, doi: 10.1109/TSE.2003.1245305.

S. R. Chidamber and C. F. Kemerer, "A Metrics Suite for Object Oriented Design," IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476–493, 1994, doi: 10.1109/32.295895.

R. Shatnawi, "The application of ROC analysis in threshold identification, data imbalance and metrics selection for software fault prediction," Innov Syst Softw Eng, vol. 13, no. 2–3, pp. 201–217, Sep. 2017, doi: 10.1007/s11334-017-0295-0.

S. Hassan, "Predicting the Number of Software Faults Using Significant Process and Code Metrics," 2020.

P. Musilek, A. Mahaweerawat, P. Sophatsathit, and C. Lursinsap, "Fault Prediction in Object-Oriented Software Using Neural Network Techniques." [Online]. Available: https://www.researchgate.net/publication/228824925

Catal and B. Diri, "LNCS 4589 - Software Fault Prediction with Object-Oriented Metrics Based Artificial Immune Recognition System."

T. M. Khoshgoftaar and K. Gao, "Feature selection with imbalanced data for software defect prediction," in 8th International Conference on Machine Learning and Applications, ICMLA 2009, 2009, pp. 235–240. doi: 10.1109/ICMLA.2009.18.

Van Hulse, T. M. Khoshgoftaar, and A. Napolitano, "Experimental Perspectives on Learning from Imbalanced Data."

Thammasiri, D. Delen, P. Meesad, and N. Kasap, "A critical assessment of imbalanced class distribution problem: The case of predicting freshmen student attrition," Expert Syst Appl, vol. 41, no. 2, pp. 321–330, 2014, doi: 10.1016/j.eswa.2013.07.046.

Y. Yang et al., "Effort-aware just-in-time defect prediction: simple unsupervised models could be better than supervised models," Nov. 2016, pp. 157–168. doi: 10.1145/2950290.2950353.

W. Li, W. Zhang, X. Jia, and Z. Huang, "Effort-Aware semi-Supervised just-in-Time defect prediction," Inf Softw Technol, vol. 126, Oct. 2020, doi: 10.1016/j.infsof.2020.106364.

Catal, "Software fault prediction: A literature review and current trends," Expert Systems with Applications, vol. 38, no. 4. pp. 4626–4636, Apr. 2011. doi: 10.1016/j.eswa.2010.10.024.

T. Zhou, X. Sun, X. Xia, B. Li, and X. Chen, "Improving defect prediction with deep forest," Inf Softw Technol, vol. 114, pp. 204–216, Oct. 2019, doi: 10.1016/j.infsof.2019.07.003.

Gao, T. M. Khoshgoftaar, H. Wang, and N. Seliya, "Choosing software metrics for defect prediction: An investigation on feature selection techniques," Softw Pract Exp, vol. 41, no. 5, pp. 579–606, Apr. 2011, doi: 10.1002/spe.1043.

Kaur and R. Malhotra, "Application of random forest in predicting fault-prone classes," in Proceedings - 2008 International Conference on Advanced Computer Theory and Engineering, ICACTE 2008, 2008, pp. 37–43. doi: 10.1109/ICACTE.2008.204.

Sharma and P. Chandra, "Identification of latent variables using, factor analysis and multiple linear regression for software fault prediction," International Journal of System Assurance Engineering and Management, vol. 10, no. 6, pp. 1453–1473, Dec. 2019, doi: 10.1007/s13198-019-00896-5.

H. Xiao, M. Cao, and R. Peng, "Artificial neural network based software fault detection and correction prediction models considering testing effort," Applied Soft Computing Journal, vol. 94, Sep. 2020, doi: 10.1016/j.asoc.2020.106491.

Kumar Pandey and M. Gupta, "Software Metrics Selection for Fault Prediction: A Review."

L. Kumar, S. Misra, and S. K. Rath, "An empirical analysis of the effectiveness of software metrics and fault prediction model for identifying faulty classes," Comput Stand Interfaces, vol. 53, pp. 1–32, Aug. 2017, doi: 10.1016/j.csi.2017.02.003.

Y. Zhou and H. Leung, "Empirical analysis of object-oriented design metrics for predicting high and low severity faults," IEEE Transactions on Software Engineering, vol. 32, no. 10, pp. 771–789, Oct. 2006, doi: 10.1109/TSE.2006.102.

T. Zhou, X. Sun, X. Xia, B. Li, and X. Chen, "Improving defect prediction with deep forest," Inf Softw Technol, vol. 114, pp. 204–216, Oct. 2019, doi: 10.1016/j.infsof.2019.07.003.

Isa and R. Rajkumar, "Pipeline defect prediction using support vector machines," Applied Artificial Intelligence, vol. 23, no. 8, pp. 758–771, 2009, doi: 10.1080/08839510903210589.

Kumar Pandey and M. Gupta, "Software Metrics Selection for Fault Prediction: A Review."

K. Gao, T. M. Khoshgoftaar, H. Wang, and N. Seliya, "Choosing software metrics for defect prediction: An investigation on feature selection techniques," Softw Pract Exp, vol. 41, no. 5, pp. 579–606, Apr. 2011, doi: 10.1002/spe.1043.