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.
Similar content being viewed by others
References
ISO: Software Engineering-Product Quality. In vol. ISO/IEC Standard No. 9126 (2001–2004)
Jones, C.: The Economics of Software Maintenance in the Twe nty-first century. In: http://www.compaid.com/caiinternet/ezine/capersjones-maintenance.pdf (2006)
Galorath, D.D.: Software total ownership costs: development is only job one. Softw. Tech. News 11(3) (2008)
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)
McConnell, S.; Complete, C.: A Practical Handbook of Software Construction. In. Microsoft Press Redmond, WA, USA (1993)
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
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
Li, W.; Etzkorn, L.; Davis, C.; Talburt, J.: An empirical study of object-oriented system evolution. Inform. Softw. Technol. 42(6), 373–381 (2000)
Ratiu, D.: Using history information to improve design flaws detection (2004)
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
Alshayeb, M.; Naji, M.; Elish, M.; Al-Ghamdi, J.: Towards measuring object-oriented class stability. IET Softw. 5(4), 415–424 (2011)
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)
Azar, D.; Harmanani, H.; Korkmaz, R.: Predicting stability of classes in an object-oriented system. J. Comput. Methods Sci. Eng. 10, 39–49 (2010)
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
Thwin, M.; Quah, T.: Application of neural networks for software quality prediction using object-oriented metrics. J. Syst. Softw. 76(2), 147–156 (2005)
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)
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)
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
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
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
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)
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
Elish, K.O.; Elish, M.O.: Predicting defect-prone software modules using support vector machines. J. Syst. Softw. 81(5), 649–660 (2008)
Yan, Z.; Chen, X.; Guo, P.: Software Defect Prediction Using Fuzzy Support Vector Regression. Adv. Neural Netw. -ISNN 2010, 17–24 (2010)
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
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
Gondra, I.: Applying machine learning to software fault-proneness prediction. J. Syst. Softw. 81(2), 186–195 (2008)
Twala, B.: Software faults prediction using multiple classifiers. In: 3rd International Conference on Computer Research and Development (ICCRD) 2011, pp. 504–510
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
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)
Radliński, Ł.: A conceptual Bayesian net model for integrated software quality prediction. Ann. UMCS, Inf. 11(4), 49–60 (2011)
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)
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
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
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
Android: The Android Project. http://www.android.com/
Eclpise: Eclipse. http://www.eclipse.org
Oracle: NetBeans. http://www.netbeans.org
Naji, M.: Measuring Object-Oriented Class Stability. Master Thesis, King Fahd University of Petroleum & Minerals (2008)
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
LOCC Software, http://csdl.ics.hawaii.edu/Tools/LOCC/LOCC.html
MetaMata: MetaMata Metrics Tool v2.0. http://www.metamata.com (2000)
Chidamber, S.R.; Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)
Predictive Modeling and Forecasting Software, DTREG. http://www.dtreg.com/
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-014-1372-4