Abstract
An improved software defects prediction algorithm based on combination of Kohonen map and hierarchical clustering is presented in this paper. The need for software reliability assessment and analysis growths rapidly due to increasing dependence of our day-to-day life on software-controlled devices and systems. Software reliability prediction is the only tool available at early stage of software development lifecycle when the debugging cost risk of faulty operation is minimal. Artificial intelligence and machine learning in particular are promising techniques to solve this task. Various classification methods have been used previously to build software defect prediction models, ranging from simple, like logistic regression, to advanced methods, e.g. multivariate adaptive regression splicing. However, the available literature still does not allow to make unambiguous conclusion concerning the choice of the best classifier and trying different dimensions to overcome potential bias is suggested. The purpose of the paper is to analyze the software code metrics to find dependences be-tween software module’s defect-proneness and its metrics. JM1 public NASA dataset from PROMISE Software Engineering Repository was used in this study. To increase the classification accuracy, we combine self-organizing maps with hierarchical clustering and data preprocessing.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Lyu, M.: Software reliability engineering: a roadmap. In: Future of Software Engineering (FoSE’07), Minneapolis, MN, USA, May 2007, pp. 153–170. IEEE (2007)
Pham, H.: System Software Reliability. Springer-Verlag London Limited (2006)
Halstead, M.H.: Elements of Software Science. Elsevier North-Holland Publishing, New York (1977)
McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. SE-2(4), 308–320 (1976)
Chen, N., Hoi, S.C.H., Xiao, X.: Software process evaluation: a machine learning framework with application to defect management process. Empirical Softw. Eng. 19(6), 1531–1564 (2014)
Rahmani, C., Azadmanesh, A.: Exploitation of Quantitative Approaches to Software Reliability. Survivable Networked Systems (CIST-9900) Report. University of Nebraska at Omaha (2008)
Maevsky, D., Kharchenko, V., Kolisnyk, M., Maevskaya, E.: Software reliability models and assessment techniques review: classification issues. In: Proceedings of 9th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications, 2017, Bucharest, vol. 2, pp. 894–899 (2017)
Lewis, C., Lin, Z., Sadowski, C., Zhu, X., Ou, R., Whitehead, E.J.: Does bug prediction support human developers? Findings from a google case study. In: Proceedings of the 35th International Conference on Software Engineering ICSE’13, San Fran-cisco, CA, USA, September 2013, pp. 372–381. IEEE (2013)
Nagappan, N., Ball, T., Zeller, A.: Mining metrics to predict component failures. In: Proceedings of the 28th International Conference on Software Engineering ICSE 06, Shanghai, China, May 2006, p. 452. ACM (2006)
Hassan, A.E., Holt, R.C.: The top ten list: dynamic fault prediction. In: 21 IEEE International Conference on Software Maintenance ICSM05, Budapest, 2005, pp. 263–272. IEEE (2005)
Selvarani, R., Bharathi, R.: Early detection of software reliability: a design analysis. In: Hosseinian-Far, A., Ramachandran, M., Sarwar, D. (eds.) Strategic Engineering for Cloud Computing and Big Data Analytics, pp. 83–99. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-52491-7_5
Rahman, F., Posnett, D., Hindle, A., Barr, E., Devanbu, P.: BugCache for inspections: hit or miss? In: Proceedings of the 19th ACM SIGSOFT Symposium on the Foundations of Software Engineering and 13rd European Software Engineering Conference (ESEC/FSE’11), Szeged, Hungary, September 2011. ACM (2011)
Zimmermann, T., Nagappan, N., Zeller, A.: Predicting bugs from history. Software Evolution, pp. 69–88. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-76440-3_4
Li, L., Lessmann, S., Baesens, B.: Evaluating software defect prediction performance: an updated benchmarking study (2019). arXiv preprint arXiv:1901.01726 [cs.SE]
Lessmann, S., Baesens, B., Mues, C., Pietsch, S.: Benchmarking classification models for software defect prediction: a proposed framework and novel findings. IEEE Trans. Softw. Eng. 34(4), 485–496 (2008)
Chen, N., Hoi, S.C.H., Xiao, X.: Software process evaluation: a machine learning framework with application to defect management process. Empirical Softw. Eng. 19(6), 1531–1564 (2014)
Majumder, S., Balaji, N., Brey, K., Fu, W., Menzies, T.: 500+ times faster than deep learning (a case study exploring faster methods for text mining stackoverflow) (2018). arXiv preprint arXiv:1802.05319
Shirabad, J.S., Menzies, T.J.: The PROMISE Repository of Software Engineering Databases. School of Information Technology and Engineering, University of Ottawa, Canada (2005). http://promise.site.uottawa.ca/SERepository
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Shakhovska, N., Yakovyna, V., Kryvinska, N. (2020). An Improved Software Defect Prediction Algorithm Using Self-organizing Maps Combined with Hierarchical Clustering and Data Preprocessing. In: Hartmann, S., Küng, J., Kotsis, G., Tjoa, A.M., Khalil, I. (eds) Database and Expert Systems Applications. DEXA 2020. Lecture Notes in Computer Science(), vol 12391. Springer, Cham. https://doi.org/10.1007/978-3-030-59003-1_27
Download citation
DOI: https://doi.org/10.1007/978-3-030-59003-1_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-59002-4
Online ISBN: 978-3-030-59003-1
eBook Packages: Computer ScienceComputer Science (R0)