Skip to main content
Log in

Object-Oriented Class Stability Prediction: A Comparison Between Artificial Neural Network and Support Vector Machine

  • Research Article - Computer Engineering and Computer Science
  • Published:
Arabian Journal for Science and Engineering Aims and scope Submit manuscript

Abstract

Software stability is an important factor for better software quality. Stable classes tend to reduce the software maintenance cost and effort. Therefore, achieving class stability is an important quality objective when developing software. Designers can make better decisions to improve class stability if they can predict it before the fact using some predictors. In this paper, we investigate the correlation between some available design measurements and class stability over versions and propose a stability prediction model using such available measurements. We conducted a set of experiments using artificial neural network (ANN) and support vector machine (SVM) to build different prediction models. We compared the accuracy of these prediction models. Our experiments reveal that ANN and SVM prediction models are effective in predicting object-oriented class stability.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ISO: Software Engineering-Product Quality. In vol. ISO/IEC Standard No. 9126 (2001–2004)

  2. Jones, C.: The Economics of Software Maintenance in the Twe nty-first century. In: http://www.compaid.com/caiinternet/ezine/capersjones-maintenance.pdf (2006)

  3. Galorath, D.D.: Software total ownership costs: development is only job one. Softw. Tech. News 11(3) (2008)

  4. Chen, J.; Huang, S.: An empirical analysis of the impact of software development problem factors on software maintainability. J. Syst. Softw. 82(6), 981–992 (2009)

    Article  Google Scholar 

  5. McConnell, S.; Complete, C.: A Practical Handbook of Software Construction. In. Microsoft Press Redmond, WA, USA (1993)

  6. Elish, M.; Rine, D.: Investigation of Metrics for Object-Oriented Design Logical Stability. In: 7th IEEE European Conference on Software Maintenance and Reengineering, March 2003, pp. 193–200

  7. Elish, M.; Rine, D.: Investigation of metrics for Object-Oriented design logical stability. In: Proceedings of the Seventh European Conference of Software Maintenance and Reengineering, March 2003, pp. 193–200

  8. Li, W.; Etzkorn, L.; Davis, C.; Talburt, J.: An empirical study of object-oriented system evolution. Inform. Softw. Technol. 42(6), 373–381 (2000)

    Article  Google Scholar 

  9. Ratiu, D.: Using history information to improve design flaws detection (2004)

  10. Grosser, D.; Sahraoui, H.; Valtchev, P.: An analogy-based approach for predicting design stability of Java classes. In: Proceedings of the Ninth IEEE International Software Metrics Symposium 2003, pp. 252–262

  11. Alshayeb, M.; Naji, M.; Elish, M.; Al-Ghamdi, J.: Towards measuring object-oriented class stability. IET Softw. 5(4), 415–424 (2011)

    Article  Google Scholar 

  12. Bouktif, S.; Azar, D.; Precup, D.; Sahraoui, H.; Kegl, B.: Improving rule set based software quality prediction: A genetic algorithm-based approach. J. Object Technol. 3(4), 227–241 (2004)

    Article  Google Scholar 

  13. Azar, D.; Harmanani, H.; Korkmaz, R.: Predicting stability of classes in an object-oriented system. J. Comput. Methods Sci. Eng. 10, 39–49 (2010)

    Google Scholar 

  14. Singh, Y.; Kumar, P.: Prediction of software reliability using feed forward neural networks. In: International Conference on Computational Intelligence and Software Engineering (CiSE) 2010, pp. 1–5

  15. Thwin, M.; Quah, T.: Application of neural networks for software quality prediction using object-oriented metrics. J. Syst. Softw. 76(2), 147–156 (2005)

    Article  Google Scholar 

  16. Zhong, C.; Hu, Q.; Yang, F.; Yin, M.: Software Quality Prediction Method with Hybrid Applying Principal Components Analysis and Wavelet Neural Network and Genetic Algorithm. JDCTA: Int. J. Digit. Content Technol. Appl. 5(3), 225–234 (2011)

    Article  Google Scholar 

  17. Kanmani, S.; Uthariaraj, V.R.; Sankaranarayanan, V.; Thambidurai, P.: Object-oriented software fault prediction using neural networks. Inform. Softw. Technol. 49(5), 483–492 (2007)

    Article  Google Scholar 

  18. Wei, P.; Lan, Y.; Qiang, M.: An approach of software quality prediction based on relationship analysis and prediction model. In: 8th International Conference on Reliability, Maintainability and Safety, ICRMS 2009, pp. 713–717

  19. Al-Jamimi, H.A.; Ghouti, L.: Efficient prediction of software fault proneness modules using support vector machines and probabilistic neural networks. In: Software Engineering (MySEC), 2011 5th Malaysian Conference in 2011, pp. 251–256

  20. Wang, Q.; Yu, B.; Zhu, J.: Extract rules from software quality prediction model based on neural network. In: Proceedings of the 16th IEEE International Conference on Tools with Artificial Intelligence, ICTAI’04 2004

  21. Khosgoftaar, T.M.; Lanning, D.L.; Pandya, A.S.: A comparative study of pattern recognition techniques for quality evaluation of telecommunications software. IEEE J. Select. Areas Commun. 12(2), 279–291 (1994)

    Article  Google Scholar 

  22. Khan, M.J.; Shamail, S.; Awais, M.M.; Hussain, T.: Comparative study of various artificial intelligence techniques to predict software quality. In: Multitopic Conference, INMIC 2006, pp. 173–177. IEEE

  23. Elish, K.O.; Elish, M.O.: Predicting defect-prone software modules using support vector machines. J. Syst. Softw. 81(5), 649–660 (2008)

    Article  Google Scholar 

  24. Yan, Z.; Chen, X.; Guo, P.: Software Defect Prediction Using Fuzzy Support Vector Regression. Adv. Neural Netw. -ISNN 2010, 17–24 (2010)

  25. Singh, Y.; Kaur, A.; Malhotra, R.: Software Fault Proneness Prediction Using Support Vector Machines. In: Proceedings of the World Congress on Engineering 2009, pp. 240–245

  26. Xing, F.; Guo, P.; Lyu, M.R.: A novel method for early software quality prediction based on support vector machine. In: Proceedings of the 16th IEEE International Symposium on Software Reliability Engineering 2005

  27. Gondra, I.: Applying machine learning to software fault-proneness prediction. J. Syst. Softw. 81(2), 186–195 (2008)

    Article  Google Scholar 

  28. Twala, B.: Software faults prediction using multiple classifiers. In: 3rd International Conference on Computer Research and Development (ICCRD) 2011, pp. 504–510

  29. Kamei, Y.; Monden, A.; Matsumoto, K.: Empirical evaluation of svm-based software reliability model. In: Proceedings of the 5th ACM-IEEE International Symposium on Empirical Software Engineering (ISESE2006), Rio de Janeiro, Brazil 2006, pp. 39–41

  30. Wagner, S.: A Bayesian network approach to assess and predict software quality using activity-based quality models. Inform. Softw. Technol. 52(11), 1230–1241 (2010)

    Article  Google Scholar 

  31. Radliński, Ł.: A conceptual Bayesian net model for integrated software quality prediction. Ann. UMCS, Inf. 11(4), 49–60 (2011)

    Google Scholar 

  32. Jia, H.; Shu, F.; Yang, Y.; Wang, Q.: Predicting Fault-Prone Modules: A Comparative Study. Software Engineering Approaches for Offshore and Outsourced Development, Lecture Notes in Business Information Processing 35, 45–59 (2009)

    Article  Google Scholar 

  33. Paikari, E.; Sun, B.; Ruhe, G.; Livani, E.: Customization support for CBR-based defect prediction. In: Proceedings of the 7th International Conference on Predictive Models in Software Engineering, Banff, Alberta, Canada 2011, pp. 1–10. ACM

  34. Kaur, A.; Brar, A.S.; Sandhu, P.S.: An empirical approach for software fault prediction. In: International Conference on Industrial and Information Systems (ICIIS) 2010, pp. 261–265

  35. Khoshgoftaar, T.M.; Allen, E.B.; Jones, W.D.; Hudepohl, J.: Classification tree models of software quality over multiple releases. In: 10th International Symposium on Software Reliability Engineering 1999, pp. 116–125. IEEE

  36. Android: The Android Project. http://www.android.com/

  37. Eclpise: Eclipse. http://www.eclipse.org

  38. Oracle: NetBeans. http://www.netbeans.org

  39. Naji, M.: Measuring Object-Oriented Class Stability. Master Thesis, King Fahd University of Petroleum & Minerals (2008)

  40. AlGhamdi, J.; Rufai, R.; Khan, S.: OOMeter: A Software Quality Assurance Tool. In: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering (CSMR 2005), MAR. 2005 2005, pp. 190–191

  41. LOCC Software, http://csdl.ics.hawaii.edu/Tools/LOCC/LOCC.html

  42. MetaMata: MetaMata Metrics Tool v2.0. http://www.metamata.com (2000)

  43. Chidamber, S.R.; Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  44. Predictive Modeling and Forecasting Software, DTREG. http://www.dtreg.com/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Alshayeb.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Alshayeb, M., Eisa, Y. & Ahmed, M.A. Object-Oriented Class Stability Prediction: A Comparison Between Artificial Neural Network and Support Vector Machine. Arab J Sci Eng 39, 7865–7876 (2014). https://doi.org/10.1007/s13369-014-1372-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13369-014-1372-4

Keywords

Navigation