Abstract
Object-oriented methodology has emerged as most prominent in software industry for application development. Maintenance phase begins once the product is delivered and by software maintainability we mean the ease with which existing software could be modified during maintenance phase. We can improve and control software maintainability if we can predict it in the early phases of software life cycle using design metrics. Predicting the maintainability of any software has become critical with the increasing importance of software maintenance. Many authors have practiced and proved theoretical validation followed by empirical evaluation using statistical and experimental techniques for evaluating the relevance of any given metrics suite using many models. In this paper, we have presented an empirical study to evaluate the effectiveness of novel technique called Group Method of Data Handling (GMDH) for the prediction of maintainability over other models. Although many metrics have been proposed in the literature, software design metrics suite proposed by Chidamber et al. and revised by Li et al. have been selected for this study. Two web-based customized softwares developed using C# Language have been used for empirical study. Source code of old and new versions for both applications were collected and analysed against modifications made in every class. The changes were counted in terms of number of lines added, deleted or modified in the classes belonging to new version with respect to the classes of old version. Finally values of metrics were combined with “change” in order to generate data points. Hence, in this study an attempt has been made to evaluate and examine the effectiveness of prediction models for the purpose of software maintainability using real life web based projects. Three models using Feed Forward 3-Layer Back Propagation Network (FF3LBPN), General Regression Neural Network (GRNN) and GMDH are developed and performance of GMDH is compared against two others i.e. FF3LBPN and GRNN. With the aid of this empirical analysis, we can safely suggest that software professionals can use OO metric suite to predict the maintainability of software using GMDH technique with least error and best precision in an object oriented paradigm.
Similar content being viewed by others
References
Aggarwal KK, Singh Y, Chandra P, Puri M (2005a) Measurement of software maintainability using a fuzzy model. J Comput Sci 1(4):538–542 ISSN 1549-3636
Aggarwal KK, Singh Y, Kaur A, Malhotra R (2005b) Analysis of object-oriented metrics. In: International workshop on software measurement (IWSM)
Aggarwal KK, Singh Y, Kaur A, Malhotra R (2006) Application of artificial neural network for predicting maintainability using object oriented metrics. Proc World Acad Sci Eng Technol 15:285–289
Aggarwal KK, Singh Y, Kaur A, Malhotra R (2007) Application of artificial neural network for predicting fault proneness models. In: International conference on information systems, technology and management (ICISTM 2007), pp 12–13
Ash D, Alderete J, Yao L, Oman PW, Lowther B (1994) Using software maintainability models to track code health. In: Proceedings of international conference on software maintenance. IEEE, Los Alamitos
Bandi R (2003) Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans Softw Eng 29(1):77–87
Bengtsson P, Bosch J (1999) Architecture level prediction of software maintenance. In: Proceedings of 3rd european conference on software maintenance and reengineering (CSMR ‘99). IEEE Computer Society, Amsterdam
Briand LC, Bunse C, Daly JW (2001) A controlled experiment for evaluating quality guidelines on the maintainability of object oriented design. IEEE Trans Softw Eng 27(6):513–530. doi:10.1109/32.926174
Bryson AE, Ho YC (1969) Applied optimal control: optimization, estimation, and control. Blaisdell Publishing Company or Xerox College Publishing, Waltham, p 481
Capers J (2006) The economics of software maintenance in twenty first century Version 3, February 14, 2006, Software Productivity Research Inc, research paper. http://www.compaid.com/caiinternet/ezine/capersjones-maintenance.pdf
Chidamber SR, Kemerer CF (1991) Towards a metrics suite for object-oriented design proceedings, OOPSLA’91. ACM Press, Phoenix, pp 197–211
Chidamber S, Kemerer C (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493
Coleman D, Ash D, Lowther B, Oman P (1994) Using metrics to evaluate software system maintainability. IEEE Comput 27(8):44–49
Conte S, Dunsmore H, Shen V (1986) Software engineering metrics and models. Benjamin/Cummings, Menlo Park
Dagpinar M, Jahnke JH (2003) Predicting maintainability with object-oriented metrics—an empirical comparison. In: Proceeding of WCRE ‘03 proceedings of the 10th working conference on reverse engineering. IEEE Computer Society, Washington, DC
Dagpinar M, Jhanke JH (2003) Predicting maintainability with object-oriented metric—an empirical comparison. In: Proceeding of the 10th working conference on reverse engineering (WCRE 03), 2003, vol 155. IEEE Computer Society Washington, DC
De Lucia A, Pompella E, Stefanucci S (2005) Assessing effort estimation models for corrective maintenance through empirical studies. Inf Softw Technol 47(1):3–5
Dimitris S, Xenos M, Dimitris C (1999) Relation between software metrics and maintainability. In: Proceedings of Federation of European Software Measurement Association 1999, Amsterdam, the Netherlands, pp 465–476
Elish MO, Elish KO (2009) Application of TreeNet in predicting object-oriented software maintainability: a comparative study. In: European conference on software maintenance and reengineering, pp 1534–5351. doi:10.1109/CSMR.2009.57
Fentom NE, Pfleeger SL (1997) Software metrics: a rigorous and practical approach, 2nd edn. PSW publishing Company, Boston
Fioravanti F, Nesi P (2001) Estimation and prediction metrics for adaptive maintenance effort of object oriented systems. IEEE Trans Softw Eng 27(12):1062–1084
Heitlager I, Kuipers T, Visser J (2007) A practical model for measuring maintainability. In: 6th International conference on quality of information and communication technology, pp 30–39
IEEE (1990) IEEE Standard Glossary of Software Engineering Terminology, report IEEE Std 610.12-1990. IEEE, New York
IEEE Standard (1993) 1219-1993 IEEE Standard for Software Maintenance. INSPEC Accession Number: 4493167. doi:10.1109/IEEESTD.1993.11557
Ivakhnenko AG (1966) Group method of data handling—a rival of the method of stochastic approximation. Sov Autom Control 13(3):43–71
Ivakhnenko AG, Koppa YU (1970) Regularization of decision functions in the group method of data handling. Sov Autom Control 15(2):28–37
Jin C, Liu JA (2010) Applications of support vector machine and unsupervised learning for predicting maintainability using object-oriented metrics. In: Second international conference on multi media and information technology 2010, vol 10
Kaur A, Kaur K, Malhotra R (2010) Soft computing approaches for prediction of software maintenance effort. Int J Comput Appl 1(16):0975–8887
Kitchenham BA, Pickard LM, MacDonell SG, Shepperd MJ (2001) What accuracy statistics really measure. IEE Proc Softw 148(3):81–85
Koten CV, Gray AR (2006) An application of Bayesian network for predicting object-oriented software maintainability. Inf Softw Technol J 48:59–67
Land R (2002) Measurements of software maintainability. Mälardalen University, Department of Computer Engineering, Vasteras
Li W, Henry S (1993) Object-oriented metrics that predict maintainability. J Syst Softw 23:111–122
Malhotra R, Chug A (2012) Software maintainability prediction using machine learning algorithms. Softw Eng Int J (SEIJ) 2:19–36
Martin CL (2011) Applying a general regression neural network for predicting development effort of short-scale programs. Neural Comput Appl 20:389–401. doi:10.1007/s00521-010-0405-5
Misra S (2005) Modeling design/coding factors that drive maintainability of software systems. Softw Qual J 13(3):297–320
Mohanty R, Ravi V, Patra MR (2009) Software reliability prediction using group method of data handling. In: RSFDGrC rough sets, fuzzy sets, data mining and granular computing, LNAI 5908. Springer, Berlin, pp 344–351
Russell S, Norvig P (2003) Artificial intelligence a modern approach, 2nd edn. Prentice Hall, New Jersey
Rutkowski L (2004) Generalized regression neural networks in time-varying environment. IEEE Trans Neural Netw 15(3):576–596
Singh Y, Goel B (2007) A step towards software preventive maintenance. ACM SIGSOFT Softw Eng 32(4):10. doi:10.1145/1281421.1281432
Software Engineering Standards Committee of the IEEE Computer Society (1998) IEEE Std. 828-1998 IEEE Standard for Software Configuration Management Plans, Standard. http://standards.ieee.org/findstds/standard/828-1998.html
Specht DF (1991) A general regression neural network. IEEE Trans Neural Netw 2(6):568–576
Stavironoudis D, Xenos M, Christodolakis D (1999) Relation between software metrics and maintainability. In: Proceedings of the FESMA99 international conference, Federation of European Software Measurement Association, Amsterdam, the Netherlands, pp. 465–476
Thwin M, Quah T (2005) Application of neural networks for software quality prediction using object oriented metrics. J Syst Softw 76(2):147–156
Wang L-J, Hu X-X, Ning Z-Y, Wen-hua KE (2009) Predicting object-oriented software maintainability using projection pursuit regression. In: The first international conference on information science and engineering (ICISE 2009) 2009, vol 845, p 3827. doi:10.1109/ICISE
Zhou Y, Leung H (2007) Predicting object-oriented software maintainability using multivariate adaptive regression splines. J Syst Softw 80(8):1349–1361. doi:10.1016/j.jss.2006.10.049
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Malhotra, R., Chug, A. Application of Group Method of Data Handling model for software maintainability prediction using object oriented systems. Int J Syst Assur Eng Manag 5, 165–173 (2014). https://doi.org/10.1007/s13198-014-0227-4
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13198-014-0227-4