Skip to main content
Log in

Software maintainability prediction using hybrid neural network and fuzzy logic approach with parallel computing concept

  • Original Article
  • Published:
International Journal of System Assurance Engineering and Management Aims and scope Submit manuscript

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.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. http://gromit.iiar.pwr.wroc.pl/p_inf/ckjm/.

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

    MATH  Google Scholar 

  • Aggarwal KK, Singh Y, Chandra P, Puri M (2005) Measurement of software maintainability using a fuzzy model. J Comput Sci 1(4):538–542

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Banker RD, Datar SM, Kemerer CF, Zweig D (1993) Software complexity and maintenance costs. Commun ACM 36(11):81–94

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Baski D, Misra S (2011) Metrics suite for maintainability of extensible markup language web services. IET Softw 5(3):320–341

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Chidamber SR, Kemerer CF (1994) A metrics suite for object-oriented design. IEEE Trans Softw Eng 20(6):476–493

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Dubois D, Prade H (1979) Fuzzy real algebra: some results. IEEE Trans Softw Eng 2(4):327–348

    MATH  MathSciNet  Google Scholar 

  • 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

    MATH  Google Scholar 

  • Henderson-Sellers B (1996) Software metrics. Prentice-Hall, Englewood

    Google Scholar 

  • Huang D, Chow TWS (2005) Effective feature selection scheme using mutual information. Neurocomputing 63:325–343

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Kabir MM, Islam MM, Murase K (2010) A new wrapper feature selection approach using neural network. Neurocomputing 73(16):3273–3283

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Kumar L, Naik DK, Rath SK (2015) Validating the effectiveness of object-oriented metrics for predicting maintainability. Proc Comput Sci 57:798–806

    Article  Google Scholar 

  • Kumar L, Rath SK (2014) Hybrid neural network approach for predicting maintainability of object-oriented software. INFOCOMP J Comput Sci 13(2):10–21

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng 2(4):308–320

    Article  MATH  MathSciNet  Google Scholar 

  • Menzies T, Chen Z, Hihn J, Lum K (2006) Selecting best practices for effort estimation. IEEE Trans Softw Eng 32(11):883–895

    Article  Google Scholar 

  • Misra SC (2005) Modeling design/coding factors that drive maintainability of software systems. Softw Qual J 13(3):297–320

    Article  Google Scholar 

  • Misra S, Akman I (2008) Applicability of Weyuker’s properties on oo metrics: some misunderstandings. Comput Sci Inf Syst 5(1):17–23

    Article  Google Scholar 

  • Misra S, Akman I, Koyuncu M (2011) An inheritance complexity metric for object-oriented code: a cognitive approach. Sadhana 36(3):317

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • Pawlak Z (1982) Rough sets. Int J Comput Inform Sci 11(5):341–356

    Article  MATH  Google Scholar 

  • Riaz M, Mendes E, Tempero E (1997) Predicting maintenance effort with function points. Int Conf Softw Maint 1997:32–39

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Zhou Y, Baowen X (2008) Predicting the maintainability of open source software using design metrics. Wuhan Univ J Nat Sci 13(1):14–20

    Article  Google Scholar 

  • Zhou Y, Leung H (2007) Predicting object-oriented software maintainability using multivariate adaptive regression splines. J Syst Softw 80(8):1349–1361

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lov Kumar.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-017-0618-4

Keywords

Navigation