Abstract
In present day scenario, majority of software companies use object-oriented concept to develop software systems as it enables effective design, development, testing and maintenance, in addition to the optimal characterization of the software system. With the increase in number of these software systems, their effective maintenance aspect becomes very important day by day. In this study, Neuro-Fuzzy approach: hybrid neural network and fuzzy logic approach has been considered to develop a maintainability model using ten different object-oriented static source code metrics as input. This method is applied on maintainability data of two commercial software products such as UIMS and QUES. Rough set analysis (RSA) and principal component analysis (PCA) are used to select suitable set of metrics from the ten metrics employed to improve performance of maintainability prediction model. From experimental results, it is observed that Neuro-Fuzzy model can effectively predict the maintainability of object-oriented software systems. After implementing parallel computing concept, it is observed that the training time gets reduced to a significant amount when the number of computing nodes were increased. Further it is observed that selected subset of metrics using feature selection techniques i.e., PCA, and RSA was able to predict maintainability with higher accuracy.
Similar content being viewed by others
References
Abreu FBE, Carapuca R (1994) Object-oriented software engineering: measuring and controlling the development process. In: Proceedings of the 4th international conference on software quality, vol 186, pp 1–8
Adeli H, Hung S-L (1994) Machine learning: neural networks, genetic algorithms, and fuzzy systems. Wiley, Hoboken
Aggarwal KK, Singh Y, Chandra P, Puri M (2005) Measurement of software maintainability using a fuzzy model. J Comput Sci 1(4):538–542
Aggarwal KK, Singh Y, Kaur A, Malhotra R (2006) Application of artificial neural network for predicting maintainability using object-oriented metrics. Trans Eng Comput Technol 15:285–289
Al-Jamimi H, Ahmed M et al (2012) Prediction of software maintainability using fuzzy logic. In: 3rd international conference on software engineering and service science (ICSESS), pp 702–705
Aljamaan H, Elish MO, Ahmad I (2013) An ensemble of computational intelligence models for software maintenance effort prediction. In: Advances in computational intelligence, pp 592–603
Bandi RK, Vaishnavi VK, Turk DE (2003) Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans Softw Eng 29(1):77–87
Banker RD, Datar SM, Kemerer CF, Zweig D (1993) Software complexity and maintenance costs. Commun ACM 36(11):81–94
Basili VR, Briand LC, Melo WL (1996) A validation of object-oriented design metrics as quality indicators. IEEE Trans Softw Eng 22(10):751–761
Baski D, Misra S (2011) Metrics suite for maintainability of extensible markup language web services. IET Softw 5(3):320–341
Binkley AB, Schach SR (1998) Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures. In: Proceedings of the 20th international conference on software engineering, pp 452–455. IEEE Computer Society
Briand LC, Wüst J, Daly JW, Porter DV (2000) Exploring the relationships between design measures and software quality in object-oriented systems. J Syst Softw 51(3):245–273
Chandra D (2012) Support vector approach by using radial kernel function for prediction of software maintenance effort on the basis of multivariate approach. Int J Comput Appl 54(4):21–25
Chen J-C, Huang S-J (2009) An empirical analysis of the impact of software development problem factors on software maintainability. J Syst Softw 82(6):981–992
Chidamber SR, Kemerer CF (1994) A metrics suite for object-oriented design. IEEE Trans Softw Eng 20(6):476–493
Dagpinar M, Jahnke JH (2003) Predicting maintainability with object-oriented metrics—an empirical comparison. In: 2013 20th working conference on reverse engineering (WCRE), pp 155–164
Damaševičius R, Štuikys V (2010) Metrics for evaluation of metaprogram complexity. Comput Sci Inf Syst 7(4):769–787
Dubois D, Prade H (1979) Fuzzy real algebra: some results. IEEE Trans Softw Eng 2(4):327–348
Elish MO, Elish KO (2009) Application of TreeNet in predicting object-oriented software maintainability: a comparative study. In: 13th European conference on software maintenance and reengineering, 2009. CSMR’09, pp 69–78
Halstead MH (1977) Elements of software science. Elsevier Science, New York
Henderson-Sellers B (1996) Software metrics. Prentice-Hall, Englewood
Huang D, Chow TWS (2005) Effective feature selection scheme using mutual information. Neurocomputing 63:325–343
Jin C, Liu J-A (2010) Applications of support vector mathine and unsupervised learning for predicting maintainability using object-oriented metrics. In: Second international conference on multimedia and information technology (MMIT), 2010, pp 24–27
Jung H-W, Kim S-G, Chung C-S (2004) Measuring software product quality: a survey of ISO/IEC 9126. IEEE Softw 21(5):88–92
Kabir MM, Islam MM, Murase K (2010) A new wrapper feature selection approach using neural network. Neurocomputing 73(16):3273–3283
Kang BK, Bieman JM (1995) Cohesion and reuse in an object-oriented system. In: Proceedings of the ACM SIGSOFT symposium on software reuseability, pp 259–262. Seattle
Kaur J, Singh S, Kahlon KS, Bassi P (2010) Neural network—a novel technique for software effort estimation. Int J Comput Theory Eng 2(1):17–19
Kohavi R (1999) Relation between software metrics and maintainability. In: Proceedings of the FESMA99 international conference, federation of European Software Measurement Associations, Amsterdam, The Netherlands, pp 465–476
Van Koten C, Gray AR (2006) An application of bayesian network for predicting object-oriented software maintainability. J Mater Process Technol 48(1):59–67
Kumar L, Naik DK, Rath SK (2015) Validating the effectiveness of object-oriented metrics for predicting maintainability. Proc Comput Sci 57:798–806
Kumar L, Rath SK (2014) Hybrid neural network approach for predicting maintainability of object-oriented software. INFOCOMP J Comput Sci 13(2):10–21
Kumar L, Rath SK (2015) Neuro-genetic approach for predicting maintainability using Chidamber and Kemerer software metrics suite. Recent Adv Inf Commun Technol 2015:31–40
Kumar L, Rath SK (2015) Predicting object-oriented software maintainability using hybrid neural network with parallel computing concept. In: Proceedings of the 8th India software engineering conference, pp 100–109
Li W, Henry S (1993) Maintenance metrics for the Object-Oriented paradigm. In: Proceedings of first international software metrics symposium, pp 52–60
Lorenz M, Kidd J (1994) Object-oriented software metrics. Prentice-Hall, Englewood
Malhotra R, Chug A (2014) Application of group method of data handling model for software maintainability prediction using object oriented systems. Int J Syst Assur Eng Manag 5(2):165–173
McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng 2(4):308–320
Menzies T, Chen Z, Hihn J, Lum K (2006) Selecting best practices for effort estimation. IEEE Trans Softw Eng 32(11):883–895
Misra SC (2005) Modeling design/coding factors that drive maintainability of software systems. Softw Qual J 13(3):297–320
Misra S, Akman I (2008) Applicability of Weyuker’s properties on oo metrics: some misunderstandings. Comput Sci Inf Syst 5(1):17–23
Misra S, Akman I, Koyuncu M (2011) An inheritance complexity metric for object-oriented code: a cognitive approach. Sadhana 36(3):317
Misra S (2007) Cognitive program complexity measure. In: Cognitive informatics, 6th IEEE international conference on, pp 120–125. IEEE
Oman P, Hagemeister J (1994) Construction and testing of polynomials predicting software maintainability. J Syst Softw 24(3):251–266
Pawlak Z (1982) Rough sets. Int J Comput Inform Sci 11(5):341–356
Riaz M, Mendes E, Tempero E (1997) Predicting maintenance effort with function points. Int Conf Softw Maint 1997:32–39
Riaz M, Mendes E, Tempero E (2009) A systematic review of software maintainability prediction and metrics. In: Proceedings of the 2009 3rd international symposium on empirical software engineering and measurement, pp 367–377
Schneberger SL (1997) Distributed computing environments: effects on software maintenance difficulty. J Syst Softw 37(2):101–116
Zhou Y, Baowen X (2008) Predicting the maintainability of open source software using design metrics. Wuhan Univ J Nat Sci 13(1):14–20
Zhou Y, Leung H (2007) Predicting object-oriented software maintainability using multivariate adaptive regression splines. J Syst Softw 80(8):1349–1361
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kumar, L., Rath, S.K. Software maintainability prediction using hybrid neural network and fuzzy logic approach with parallel computing concept. Int J Syst Assur Eng Manag 8 (Suppl 2), 1487–1502 (2017). https://doi.org/10.1007/s13198-017-0618-4
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13198-017-0618-4