Nothing Special   »   [go: up one dir, main page]

Skip to main content

An Improved Software Defect Prediction Algorithm Using Self-organizing Maps Combined with Hierarchical Clustering and Data Preprocessing

  • Conference paper
  • First Online:
Database and Expert Systems Applications (DEXA 2020)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Lyu, M.: Software reliability engineering: a roadmap. In: Future of Software Engineering (FoSE’07), Minneapolis, MN, USA, May 2007, pp. 153–170. IEEE (2007)

    Google Scholar 

  2. Pham, H.: System Software Reliability. Springer-Verlag London Limited (2006)

    Google Scholar 

  3. Halstead, M.H.: Elements of Software Science. Elsevier North-Holland Publishing, New York (1977)

    MATH  Google Scholar 

  4. McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. SE-2(4), 308–320 (1976)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Rahmani, C., Azadmanesh, A.: Exploitation of Quantitative Approaches to Software Reliability. Survivable Networked Systems (CIST-9900) Report. University of Nebraska at Omaha (2008)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. Li, L., Lessmann, S., Baesens, B.: Evaluating software defect prediction performance: an updated benchmarking study (2019). arXiv preprint arXiv:1901.01726 [cs.SE]

  15. 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)

    Article  Google Scholar 

  16. 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)

    Google Scholar 

  17. 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

  18. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Natalia Kryvinska .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics