A systematic literature review on empirical studies towards prediction of software maintainability

Software maintainability prediction in the earlier stages of software development involves the construction of models for the accurate estimation of maintenance effort. This guides the software practitioners to manage the resources optimally. This study aims at systematically reviewing the prediction models from January 1990 to October 2019 for predicting software maintainability. We analyze the effectiveness of these models according to various aspects. To meet the goal of the research, we have identified 36 research papers. On investigating these papers, we found that various machine learning (ML), statistical (ST), and hybridized (HB) techniques have been applied to develop prediction models to predict software maintainability. The significant finding of this review is that the overall performance of ML-based models is better than that of ST models. The use of HB techniques for prediction of software maintainability is limited. The results of this review revealed that software maintainability prediction (SMP) models developed using ML techniques outperformed models developed using ST techniques. Also, the prediction performance of few models developed using HB techniques is encouraging, yet no conclusive results about the performance of HB techniques could be reported because different HB techniques are applied in a few studies.

[1]  Santanu Kumar Rath,et al.  Validating the Effectiveness of Object-Oriented Metrics for Predicting Maintainability☆ , 2015 .

[2]  John W. Daly,et al.  The effect of inheritance on the maintainability of object-oriented software: an empirical study , 1995, Proceedings of International Conference on Software Maintenance.

[3]  JeetKawal,et al.  A comparative study of bayesian and fuzzy approach to assess and predict maintainability of the software using activity-based quality model , 2012 .

[4]  Ruchika Malhotra,et al.  A systematic review of machine learning techniques for software fault prediction , 2015, Appl. Soft Comput..

[5]  Lov Kumar,et al.  Software maintainability prediction using hybrid neural network and fuzzy logic approach with parallel computing concept , 2017, Int. J. Syst. Assur. Eng. Manag..

[6]  Dimple Chandra,et al.  Support vector Approach by using Radial Kernel Function for Prediction of Software Maintenance Effort on the basis of Multivariate approach , 2012 .

[7]  C. M. Overstreet,et al.  An approach to predict software maintenance cost based on ripple complexity , 1994, Proceedings of 1st Asia-Pacific Software Engineering Conference.

[8]  Jens H. Weber,et al.  Predicting maintainability with object-oriented metrics -an empirical comparison , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[9]  Anuradha Chug,et al.  Software Maintainability: Systematic Literature Review and Current Trends , 2016, Int. J. Softw. Eng. Knowl. Eng..

[10]  Robert Lagerström,et al.  Using Architectural Models to Predict the Maintainability of Enterprise Systems , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[11]  Vijay K. Vaishnavi,et al.  Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics , 2003, IEEE Trans. Software Eng..

[12]  D. Campbell,et al.  EXPERIMENTAL AND QUASI-EXPERIMENT Al DESIGNS FOR RESEARCH , 2012 .

[13]  Yuming Zhou,et al.  Predicting the maintainability of open source software using design metrics , 2008, Wuhan University Journal of Natural Sciences.

[14]  Cong Jin,et al.  Prediction approach of software fault-proneness based on hybrid artificial neural network and quantum particle swarm optimization , 2015, Appl. Soft Comput..

[15]  Gaoliang Peng,et al.  An Application of Case Based Reasoning to Predict Structure Maintainability , 2009, 2009 International Conference on Computational Intelligence and Software Engineering.

[16]  Tibor Gyimóthy,et al.  A cost model based on software maintainability , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[17]  Yogesh Singh,et al.  Predicting software maintenance using fuzzy model , 2009, SOEN.

[18]  Paul W. Oman,et al.  Using metrics to evaluate software system maintainability , 1994, Computer.

[19]  Cong Jin,et al.  Applications of Support Vector Mathine and Unsupervised Learning for Predicting Maintainability Using Object-Oriented Metrics , 2010, 2010 Second International Conference on Multimedia and Information Technology.

[20]  Irfan Ahmad,et al.  Three empirical studies on predicting software maintainability using ensemble methods , 2015, Soft Comput..

[21]  Jane Huffman Hayes,et al.  Maintainability prediction: a regression analysis of measures of evolving systems , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[22]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[23]  Moataz A. Ahmed,et al.  Machine learning approaches for predicting software maintainability: a fuzzy-based transparent model , 2013, IET Softw..

[24]  Austin Melton,et al.  Using indirect coupling metrics to predict package maintainability and testability , 2016, J. Syst. Softw..

[25]  Jana Polgar,et al.  Object-Oriented Software Metrics , 2005, Encyclopedia of Information Science and Technology.

[26]  Wei Zhang,et al.  SMPLearner: learning to predict software maintainability , 2014, Automated Software Engineering.

[27]  Erik Arisholm Dynamic coupling measures for object-oriented software , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[28]  Mehwish Riaz,et al.  A systematic review of software maintainability prediction and metrics , 2009, ESEM 2009.

[29]  Kamaldeep Kaur,et al.  Soft Computing Approaches for Prediction of Software Maintenance Effort , 2010 .

[30]  Ruchika Malhotra,et al.  An Exploratory Study for Predicting Maintenance Effort using Hybridized Techniques , 2017, ISEC.

[31]  Jan Bosch,et al.  Architecture level prediction of software maintenance , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[32]  Anuradha Chug,et al.  Predicting maintainability of open source software using Gene Expression Programming and bad smells , 2016, 2016 5th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO).

[33]  R. A. Khan,et al.  Maintainability Estimation Model for Object-Oriented Software in Design Phase (MEMOOD) , 2010, ArXiv.

[34]  Farhad Ramezani,et al.  Measuring of Software Maintainability Using Adaptive Fuzzy Neural Network , 2015 .

[35]  Joseph S. Sherif,et al.  Development and application of composite complexity models and a relative complexity metric in a software maintenance environment , 1995, Wescon/96.

[36]  Arvinder Kaur,et al.  Application of Artificial Neural Network for Predicting Maintainability Using Object-Oriented Metrics , 2008 .

[37]  Yuming Zhou,et al.  Predicting object-oriented software maintainability using multivariate adaptive regression splines , 2007, J. Syst. Softw..

[38]  N.N. Prasanth,et al.  Prediction of maintainability using software complexity analysis: An extended FRT , 2008, 2008 International Conference on Computing, Communication and Networking.

[39]  Ioannis Stamelos,et al.  A controlled experiment investigation of an object-oriented design heuristic for maintainability , 2004, J. Syst. Softw..

[40]  Sandip C. Patel,et al.  A metrics-based software maintenance effort model , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[41]  Elaine Ferneley Design metrics as an aid to software maintenance: an empirical study , 1999 .

[42]  Arvinder Kaur,et al.  Statistical Comparison of Modelling Methods for Software Maintainability Prediction , 2013, Int. J. Softw. Eng. Knowl. Eng..

[43]  Renu Dhir,et al.  Bayesian and Fuzzy Approach to Assess and Predict the Maintainability of Software: A Comparative Study , 2012 .

[44]  Santanu Kumar Rath,et al.  Hybrid functional link artificial neural network approach for predicting maintainability of object-oriented software , 2016, J. Syst. Softw..

[45]  Jing Du,et al.  Estimating software maintenance effort from use cases: An industrial case study , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[46]  Abdul Rauf,et al.  Software Maintenance Prediction Using Weighted Scenarios: An Architecture Perspective , 2010, 2010 International Conference on Information Science and Applications.

[47]  Sunday O. Olatunji SENSITIVITY-BASED LINEAR LEARNING METHOD AND EXTREME LEARNING MACHINES COMPARED FOR SOFTWARE MAINTAINABILITY PREDICTION OF OBJECT-ORIENTED SOFTWARE SYSTEMS , 2013, SOCO 2013.

[48]  Andrea De Lucia,et al.  Effort estimation for corrective software maintenance , 2002, SEKE '02.

[49]  Renu Dhir,et al.  A comparative study of bayesian and fuzzy approach to assess and predict maintainability of the software using activity-based quality model , 2012, SOEN.

[50]  C. van Koten,et al.  An application of Bayesian network for predicting object-oriented software maintainability , 2006, Inf. Softw. Technol..

[51]  Joost Visser,et al.  A Practical Model for Measuring Maintainability , 2007 .

[52]  Jehad Al Dallal Object-oriented class maintainability prediction using internal quality attributes , 2013, Inf. Softw. Technol..

[53]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

[54]  Hans van Vliet,et al.  Predicting maintenance effort with function points , 1997, 1997 Proceedings International Conference on Software Maintenance.

[55]  Manfred Broy,et al.  Demystifying maintainability , 2006, WoSQ '06.

[56]  Peter Hegedus Revealing the Effect of Coding Practices on Software Maintainability , 2013, 2013 IEEE International Conference on Software Maintenance.

[57]  Taghi M. Khoshgoftaar,et al.  Improving code churn predictions during the system test and maintenance phases , 1994, Proceedings 1994 International Conference on Software Maintenance.

[58]  Michael Philippsen,et al.  Re-Evaluating Inheritance Depth on the Maintainability of Object-Oriented Software , 1998 .

[59]  Taghi M. Khoshgoftaar,et al.  Improving neural network predictions of software quality using principal components analysis , 1994, Proceedings of 1994 IEEE International Conference on Neural Networks (ICNN'94).

[60]  Scott L. Schneberger,et al.  Distributed Computing Environments: Effects on Software Maintenance Difficulty , 1997, J. Syst. Softw..

[61]  Mario Piattini,et al.  Building UML class diagram maintainability prediction models based on early metrics , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[62]  Xin-xin Hu,et al.  Predicting Object-Oriented Software Maintainability Using Projection Pursuit Regression , 2009, 2009 First International Conference on Information Science and Engineering.

[63]  Sangeeta Lal,et al.  Estimation of maintainability parameters for object-oriented software using hybrid neural network and class level metrics , 2019, International Journal of System Assurance Engineering and Management.

[64]  Zahir Tari,et al.  Coupling Metrics for Predicting Maintainability in Service-Oriented Designs , 2007, ASWEC.

[65]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[66]  Victor R. Basili,et al.  Understanding and predicting the process of software maintenance releases , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[67]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[68]  Yong Hu,et al.  Systematic literature review of machine learning based software development effort estimation models , 2012, Inf. Softw. Technol..

[69]  H. Zulzalil,et al.  Applying evolution programming Search Based Software Engineering (SBSE) in selecting the best open source software maintainability metrics , 2012, 2012 International Symposium on Computer Applications and Industrial Electronics (ISCAIE).

[70]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[71]  Liang Ping A Quantitative Approach to Software Maintainability Prediction , 2010, 2010 International Forum on Information Technology and Applications.

[72]  Ashu Jain,et al.  An empirical investigation of evolutionary algorithm for software maintainability prediction , 2016, 2016 IEEE Students' Conference on Electrical, Electronics and Computer Science (SCEECS).

[73]  Ruchika Malhotra,et al.  On the Application of Cross-Project Validation for Predicting Maintainability of Open Source Software using Machine Learning Techniques , 2018, 2018 7th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO).

[74]  Subhas C. Misra Modeling Design/Coding Factors That Drive Maintainability of Software Systems , 2005, Software Quality Journal.

[75]  Kumaraswamy Ponnambalam,et al.  A maintainability model for industrial software systems using design level metrics , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[76]  Sanjay Kumar Dubey,et al.  Maintainability prediction of object-oriented software system by multilayer perceptron model , 2012, SOEN.

[77]  Les Hatton,et al.  How Accurately Do Engineers Predict Software Maintenance Tasks? , 2007, Computer.

[78]  K. K. Aggarwal,et al.  Measurement of Software Maintainability Using a Fuzzy Model , 2005 .

[79]  K. K. Aggarwal,et al.  An integrated measure of software maintainability , 2002, Annual Reliability and Maintainability Symposium. 2002 Proceedings (Cat. No.02CH37318).

[80]  Thong Ngee Goh,et al.  Bayesian Inference Approach for Probabilistic Analogy Based Software Maintenance Effort Estimation , 2008, 2008 14th IEEE Pacific Rim International Symposium on Dependable Computing.

[81]  Rachel Harrison,et al.  Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems , 2000, J. Syst. Softw..

[82]  Arvinder Kaur,et al.  Software maintainability prediction by data mining of software code metrics , 2014, 2014 International Conference on Data Mining and Intelligent Computing (ICDMIC).

[83]  Mohammad Alshayeb,et al.  Hybrid Intelligent Model for Software Maintenance Prediction , 2013 .

[84]  Hardeep Singh,et al.  Determination of Maintainability Index for Object Oriented Systems , 2011, SOEN.

[85]  Rodrigo C. Barros,et al.  Predicting software maintenance effort through evolutionary-based decision trees , 2012, SAC '12.

[86]  Swati Mishra,et al.  Maintainability Prediction of Object Oriented Software by using Adaptive Network based Fuzzy System Technique , 2015 .

[87]  Anuradha Chug,et al.  CFS based Feature Subset Selection for Software Maintainance Prediction , 2015 .

[88]  Andrea De Lucia,et al.  Assessing effort estimation models for corrective maintenance through empirical studies , 2005, Inf. Softw. Technol..

[89]  Anuradha Chug,et al.  Dynamic metrics are superior than static metrics in maintainability prediction: An empirical case study , 2015, 2015 4th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions).

[90]  Karim O. Elish,et al.  Application of TreeNet in Predicting Object-Oriented Software Maintainability: A Comparative Study , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[91]  Ruchika Malhotra,et al.  Application of Evolutionary Algorithms for Software Maintainability Prediction using Object-Oriented Metrics , 2014, BICT.

[92]  Angélica Caro,et al.  A Probabilistic Approach to Web Portal's Data Quality Evaluation , 2007 .

[93]  Paolo Nesi,et al.  Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems , 2001, IEEE Trans. Software Eng..

[94]  Rajesh Kumar,et al.  Maintainability Prediction from Project Metrics Data Analysis Using Artificial Neural Network: An Interdisciplinary Study , 2014 .

[95]  Yigang Wang,et al.  A new software maintainability evaluation model based on multiple classifiers combination , 2013, 2013 International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering (QR2MSE).

[96]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[97]  Q. Lu,et al.  Software defect prediction using fuzzy integral fusion based on GA-FM , 2014, Wuhan University Journal of Natural Sciences.

[98]  Ioannis Stamelos,et al.  An empirical investigation of an object-oriented design heuristic for maintainability , 2003, J. Syst. Softw..

[99]  Santanu Kumar Rath,et al.  Predicting Object-Oriented Software Maintainability using Hybrid Neural Network with Parallel Computing Concept , 2015, ISEC.

[100]  Santanu Kumar Rath,et al.  Maintainability prediction of web service using support vector machine with various kernel methods , 2017, Int. J. Syst. Assur. Eng. Manag..

[101]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[102]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[103]  Paul W. Oman,et al.  The application of software maintainability models in industrial software systems , 1995, J. Syst. Softw..

[104]  Tong-Seng Quah,et al.  Application of neural networks for software quality prediction using object-oriented metrics , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[105]  Ewan D. Tempero,et al.  Using CBR and CART to predict maintainability of relational database-driven software applications , 2013, EASE '13.

[106]  Ruchika Malhotra,et al.  Predicting Software Maintenance effort using neural networks , 2015, 2015 4th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions).

[107]  Santanu Kumar Rath,et al.  Neuro – Genetic Approach for Predicting Maintainability Using Chidamber and Kemerer Software Metrics Suite , 2015 .

[108]  Ruchika Malhotra,et al.  Application of Group Method of Data Handling model for software maintainability prediction using object oriented systems , 2014, Int. J. Syst. Assur. Eng. Manag..