Abstract
Accurate prediction of software enhancement effort is a key success in software project management. To increase the accuracy of estimates, several proposals used machine-learning (ML) techniques for predicting the software project effort. However, there is no clear evidence for determining which techniques to select for predicting more accurate effort within the context of enhancement projects. This paper aims to present a systematic mapping study (SMS) related to the use of ML techniques for predicting software enhancement effort (SEME). A SMS was performed by reviewing relevant papers from 1995 through 2020. We followed well-known guidelines. We selected 30 relevant studies; 19 from journals and 11 conferences proceedings through 4 search engines. Some of the key findings indicate that (1) there is relatively little activity in the area of SEME, (2) most of the successful studies cited focused on regression problems for enhancement maintenance effort prediction, (3) SEME is the dependent variable the most commonly used in software enhancement project planning, and the enhancement size (or the functional change size) is the most used independent variables, (4) several private datasets were used in the selected studies, and there is a growing demand for the use of commonly published datasets, and (5) only single models were employed for SEME prediction. Results indicate that much more work is needed to develop repositories in all prediction models. Based on the findings obtained in this SMS, estimators should be aware that SEME using ML techniques as part of non-algorithmic models demonstrated increased accuracy prediction over the algorithmic models. The use of ML techniques generally provides a reasonable accuracy when using the enhancement functional size as independent variables.
Similar content being viewed by others
References
Ali SS, Zafar MS, Saeed MT. Effort estimation problems in software maintenance—a survey. In: 2020 3rd international conference on computing, mathematics and engineering technologies (iCoMET), 2020. pp. 1–9.
De Lucia A, Pompella E, Stefanucci S. Assessing effort estimation models for corrective maintenance through empirical studies. Inf Softw Technol. 2005;47(1):3–15.
Heričko M, Živkovič A. The size and effort estimates in iterative development. Inf Softw Technol. 2008;50(7):772–81.
Ayyildiz TE, Koçyiğit A. Size and effort estimation based on problem domain measures for object-oriented software. Int J Softw Eng Knowl Eng. 2018;28(2):219–38.
Om Prakash S, et al. Software effort estimation using machine learning techniques. In: 2017 7th international conference on cloud computing, data science and engineering—confluence; 2017.
Ulziit B, Warraich ZA, Gencel C, Petersen K. A conceptual framework of challenges and solutions for managing global software maintenance. Journal of Software: Evolution and Process. 2015;27(10):763–92.
Abran A, Moore JW. Guide to the software engineering body of knowledge. SWEBOK: IEEE Computer Society; 2004.
Rashid A, Wang WYC, Dorner D. Gauging the differences between expectation and systems support: the managerial approach of adaptive and perfective software maintenance. In: 4th international conference on cooperation and promotion of information resources in science and technology; 2009.
Midha V, Bhattacherjee A. Governance practices and software maintenance: a study of open source projects. Decis Support Syst. 2012;54:23–32.
Boehm BW, Chris A, Brown WA, Chulani S, Clark BK, Horowitz E, Madachy R, Reifer DJ, Steece B. Software cost estimation with COCOMO II, Prentice Hall PTR; 2000.
Malhotra R. A systematic review of machine learning techniques for software fault prediction. Appl Soft Comput. 2015;27:504–18.
Alain A: Software project estimation; 2015.
Rahaman SM, Kumari VV. A model for corrective software maintenance effort estimation after privacy leak detection in social network. In: 2020 international conference on artificial intelligence and signal processing (AISP), 2020.
Ogheneovo EE, et al. On the relationship between software complexity and maintenance costs. J Comput Commun. 2014;2(n14):1.
Kitchenham B, Pfleeger SL, McColl B, Eagan S. An empirical study of maintenance and development estimation accuracy. Journal of systems and software. 2002;64(1):57–77.
Asl MH, Kama N. A change impact size estimation approach during the software development. In: 2013 22nd Australian software engineering conference; 2013.
Hong W, Lin S, Celia C, Qing W, Barry B. Maintenance effort estimation for open source software: a systematic literature review. In: 2016 IEEE international conference on software maintenance and evolution (ICSME); 2016.
Simões JM, Gomes CF, Yasin MM. A literature review of maintenance performance measurement. J Qual Maint Eng. 2011;17(2):116–37.
Ruschel E, Santos EAP, Loures EFR. Industrial maintenance decision-making: a systematic literature review. J Manuf Syst. 2017;45:180–94.
Ali I, Mohamed H, Alain A. Systematic mapping study of ensemble effort estimation. In: Proceedings of the 11th international conference on evaluation of novel software approaches to software engineering; 2016.
Kitchenham B., Pearl Brereton O., Budgen D., Turner M., Bailey J., Linkman S. Systematic literature reviews in software engineering—a systematic literature review. Inf Softw Technol. 2009;51(1):7–15.
Kai P, Robert F, Shahid M, Michael M. Systematic mapping studies in software engineering; 2008.
Ali SS, Zafar MS, Saeed MT. Effort estimation problems in software maintenance—a Survey. In: 2020 3rd international conference on computing, mathematics and engineering technologies (iCoMET); 2020.
Alsolai H, Roper M. A systematic literature review of machine learning techniques for software maintainability prediction. Inf Softw Technol. 2020;119:106214.
ISO/IEC/IEEE International Standard for Software Engineering—Software Life Cycle Processes—Maintenance. https://doi.org/10.1109/ieeestd.2006.235774.
Singh R. International standard ISO/IEC 12207 software life cycle processes. Softw Process Improv Pract. 1996;2(1):35–50.
López-Martín C. Predictive accuracy comparison between neural networks and statistical regression for development effort of software projects. Appl Soft Comput. 2015;27:434–49.
Yan K, Jing D, Ye Y, Qing W. Estimating software maintenance effort from use cases: an industrial case study. In: 2011 27th IEEE international conference on software maintenance (ICSM); 2011.
Nguyen V, Boehm B, Danphitsanuphan P. A controlled experiment in assessing and estimating software maintenance tasks. Inf Softw Technol. 2011;53(6):682–91.
Leung HKN. Estimating maintenance effort by analogy. Empir Softw Eng. 2002;7:157–75.
Fioravanti F, Nesi P. Estimation and prediction metrics for adaptive maintenance effort of object-oriented systems. IEEE Transactions on software engineering. 2001;27(12):1062–84.
Jorgensen M. Experience with the accuracy of software maintenance task effort prediction models. IEEE Trans Softw Eng. 1995;21:674–81.
Ramil JF, Lehman MM. Metrics of software evolution as effort predictors—a case study. In: Proceedings international conference on software maintenance. Los Alamitos: IEEE Computer Society Press; 2000. pp. 163–72.
Agrawal M, Chari K. Software effort, quality, and cycle time: a study of CMM level 5 projects. IEEE Trans Softw Eng. 2007;33(n1IEEE):145–56.
Riaz M, Mendes E, Tempero E. A systematic review of software maintainability prediction and metrics. In: 2009 3rd international symposium on empirical software engineering and measurement; 2009. pp. 367–77.
Quah T-S, Thwin MMT. Application of neural networks for software quality prediction using object-oriented metrics. J Syst Softw. 2005;76:147–56.
Zhou Y, Leung H. Predicting object-oriented software maintainability using multivariate adaptive regression splines. J Syst Softw. 2007;80:1349–61.
Shukla R, Misra AK. Ai based framework for dynamic modeling of software maintenance effort estimation. In: 2009 international conference on computer and automation engineering, IEEE; 2009. pp. 313–17.
Bhatnagar R, Bhattacharjee V, Ghose MK. Software development effort estimation–neural network vs. regression modeling approach. Int J Eng Sci Technol 2010;2(7):2950–6.
Stojanov Z, Dobrilovic D, Stojanov J, Jevtic V. Estimating software maintenance effort by analyzing historical data in a very small software company. Scientific Bulletin of The Politehnica University of Timioara, Transactions on Automatic Control and Computer Science. 2013;58(72):2.
Malhotra R, Anuradha C. Software maintainability prediction using machine learning algorithms. Software engineering: an international Journal (SeiJ) 2, no. 2 (2012).
Ahmed MA, Al-Jamimi HA. Machine learning approaches for predicting software maintainability: a fuzzy-based transparent model. IET software. 2013;7(6):317–26.
Malhotra R, Lata K. An exploratory study for predicting maintenance effort using hybridized techniques. In: Proceedings of the 10th innovations in software engineering conference; 2017. pp. 26–33.
Malhotra R, Lata K. On the application of cross-project validation for predicting maintainability of open source software using machine learning techniques. In: 2018 7th international conference on reliability, Infocom technologies and optimization (trends and future directions) (ICRITO); 2018. pp. 175–81.
Shukla R, Shukla M, Misra AK, Marwala T, Clarke WA. Dynamic software maintenance effort estimation modeling using neural network, rule engine and multi-regression approach. In: International conference on computational science and its applications, vol 15; 2012. pp. 157–69.
Ku Y, Du J, Yang Y, Wang Q. Estimating software maintenance effort from use cases: an industrial case study. In: Proceedings of 27th IEEE international conference on software maintenance (ICSM); 2011. pp. 482–91.
Shukla R, Misra AK. Estimating software maintenance effort—a neural network approach. In: Proceedings of 1st India software engineering conference; 2008. pp. 107–12.
Song T-H, Yoon K-A, Bae D-H. An approach to probabilistic effort estimation for military avionics software maintenance by considering structural characteristics. In: 14th Asia–Pacific software engineering conference (APSEC’07); 2007. pp 406–13.
Yu L. Indirectly predicting the maintenance effort of open-source software. J Softw Maint Evol Res Pract. 2006;18:311–32.
García-Floriano A, López-Martín C, Yáñez-Márquez C, Abran A. Support vector regression for predicting software enhancement effort. Inf Softw Technol. 2018;97:99–109.
Cerón-Figueroa S, López-Martínet C, Yáñez-Márquez C. Stochastic gradient boosting for predicting the maintenance effort of software-intensive systems. The Institution of Engineering and Technology; 2019.
Rijwani P, Jain S. Enhanced software effort estimation using multi layered feed forward artificial neural network technique. In: Twelfth international multi-conference on information processing-2016 (IMCIP-2016); 2016. pp. 307–12.
Hayes JH, Patel SC, Zhao L. A metrics-based software maintenance effort model. In: Proceedings of IEEE Eighth European conference on software maintenance and reengineering (CSMR’04); 2004. pp. 254–8.
Gao K, Khoshgoftaar TM, Wang H, Seliya N. Choosing software metrics for defect prediction: an investigation on feature selection techniques. Softw Pract Exp. 2011;v.41(Num.5):579–606.
Elmidaoui S, Cheikhi L, Idri A, Abran A. Machine learning techniques for software maintainability prediction: accuracy analysis. J Comput Sci Technol. 2020;35(5):1147–74.
Kitchenham, Barbara, Shari Lawrence Pfleeger, Beth McColl, and Suzanne Eagan. An empirical study of maintenance and development estimation accuracy. J Syst Softe 2002;64(1):57–77.
Abdallah A, Abran A. Enterprise architecture measurement: an extended systematic mapping study; 2019.
Chua BB, Bernardo DV, Verner J. Criteria for estimating effort for requirements changes, conf/eurospi/2008; 2008. pp. 36–46.
Basri S, Kama N, Ibrahim R. A novel effort estimation approach for requirement changes during software development phase. Int J Softw Eng Appl. 2015;237–52.
Irshad Mohsin, Petersen Kai, Poulding Simon. A systematic literature review of software requirements reuse approaches. Information and Software Technology. 2018;93:223–45.
Nassif, Ali Bou, Luiz Fernando Capretz, and Danny Ho. Analyzing the non-functional requirements in the desharnais dataset for software effort estimation.arXiv preprint arXiv:1405.1131 (2014).
S3m-model to evaluate and improve the quality of software maintenance process, S3m-model to evaluate and improve the quality of software maintenance process; 2005. pp. 1–252.
Bourque P, Dupuis R, Abran A, Moore JW, Tripp L, Wolff S. Fundamental principles of software engineering—a journey; 2002. pp. 59–70.
Zielczynski P. Requirements management using IBM rational RequisitePro. IBM Press; 2007.
De Andrés J, Landajo M, Lorca P. Using nonlinear quantile regression for the estimation of software cost, HAIS2018, Oviedo, Spain, June 20–22, 2018, Proceedings; 2018. pp. 422–32.
Ossia Y. IBM Haifa Research Lab. IBM Haifa Research Lab; 2011.
Ahn Y, Suh J, Kim S, Kim H. The software maintenance project effort estimation model based on function points. Journal of Software maintenance and evolution: Research and practice. 2003;15(2):71–85.
Michie D, Spiegelhalter DJ, Taylor CC, et al. Machine learning, machine learning in complex networks; 2016;71–91.
Sammut C, Webb GI. Encyclopedia of machine learning. New York: Springer; 2011.
González-Ladrón-de-Guevara Fernando, Fernández-Diego Marta, Lokan Chris, The usage of ISBSG data fields in software effort estimation: A systematic mapping study. J Syst Soft 2015;1–57.
Lavazza L, Morasca S. An empirical evaluation of two COSMIC early estimation methods. IEEE Comput Soc. 2016;65–74.
Fehlmann T, Kranich E, Defect density measurements using COSMIC—experiences with mobile apps and embedded systems. conf/iwsm/2014; 2014.
Ebert C, Soubra H. Functional size estimation technologies for software maintenance. IEEE Software. 2014;31(6):24–9.
Minku LL, Yao X. A principled evaluation of ensembles of learning machines for software effort estimation. In: Proceedings of the 7th international conference on predictive models in software engineering; 2011. pp. 1–10.
Chen H, Yao X. Regularized negative correlation learning for neural network ensembles. IEEE TNN. 2009;20(12):1962–79.
Symons C. A comparison of the key differences between the IFPUG and COSMIC functional size measurement methods. In: Common software measurement international consortium; 2011.
Zaineb S, Asma S, Nadia B. Investigating the impact of functional size measurement on predicting software enhancement effort using correlation-based feature selection algorithm and SVR method. In: International conference on software and software reuse; 2020. pp. 229–44.
Funding
This study was not funded.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
Rights and permissions
About this article
Cite this article
Sakhrawi, Z., Sellami, A. & Bouassida, N. Software Enhancement Effort Prediction Using Machine-Learning Techniques: A Systematic Mapping Study. SN COMPUT. SCI. 2, 468 (2021). https://doi.org/10.1007/s42979-021-00872-6
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42979-021-00872-6