Abstract
Analogy-based effort estimation is the major task of software engineering which estimates the effort required for new software projects using existing histories for corresponding development and management. In general, the high accuracy of software effort estimation techniques can be a non-solvable problem we named as multi-objective problem. Recently, most of the authors have been used machine learning techniques for the same process however not possible to meet the higher performance. Moreover, existing software effort estimation techniques are mostly affected by bias and subjectivity problems. Analogy based effort estimation (ABE) is the most extensively conventional technique because of its effortlessness and evaluation ability. We define five research questions are defined to get clear thoughts on ABE studies. Improvement of ABE can be done through supervised learning techniques and unsupervised learning techniques. Furthermore, the results can be knowingly affected by the different performance metrics in ABE configuration.
Similar content being viewed by others
References
Abnane I, Hosni M, Idri A and Abran A (2019) Analogy software effort estimation using ensemble KNN imputation. In: 2019 45th Euromicro Conference on software engineering and advanced applications (SEAA). IEEE, pp 228–235
Abulalqader FA, Ali AW (2018). Comparing Different Estimation Methods for Software Effort. In: 2018 1st Annual International Conference on information and sciences (AiCIS). IEEE, pp 13–22
Ahmed MA, Muzaffar Z (2009) Handling imprecision and uncertainty in software development effort prediction: A type-2 fuzzy logic based framework. Inf Softw Technol 51(3):640–654
Alpaydin E (2004) Introduction to machine learning. The MIT Press, Cambridge
Amazal FA, Idri A, Abran A (2014a) An analogy-based approach to estimation of software development effort using categorical data. In: 2014 Joint Conference of the International Workshop on Software Measurement and the International Conference on software process and product measurement. IEEE, pp 252–262
Amazal FA, Idri A, Abran A (2014b) Improving fuzzy analogy based software development effort estimation. In: 2014 21st Asia-Pacific Software Engineering Conference, 1: 247–254. IEEE.
Angelis L, Stamelos I (2000) A simulation tool for e±cient analogy-based cost estimation. Empir Softw Eng 5(1):35–68
Attarzadeh I, Ow SH (2009) Software development effort estimation based on a new fuzzy logic model. Int J Comput Theory Eng 1(4):473
Azzeh M, Neagu D, Cowling P (2008) Improving analogy software effort estimation using fuzzy feature subset selection algorithm. In: Proceedings of the 4th International Workshop on predictor models in software engineering, pp 71–78
Azzeh M, Neagu D, Cowling P (2009) Software effort estimation based on weighted fuzzy grey relational analysis. In: Proceedings of the 5th International Conference on predictor models in software engineering, Canada
Azzeh M, Neagu D, Cowling PI (2011) Analogy-based software effort estimation using Fuzzy numbers. J Syst Softw 84(2):270–284
BaniMustafa A (2018) Predicting software effort estimation using machine learning techniques. In: 2018 8th International Conference on computer science and information technology (CSIT). IEEE, pp 249–256
Bardsiri VK, Jawawi DNA, Hashim SZM, Khatibi E (2012) Increasing the accuracy of software development effort estimation using projects clustering. IET Softw 6(6):461–473
Bardsiri VK, Abang Jawawi DN, Khatibi E (2014) Towards improvement of analogy-based software development effort estimation: a review. Int J Softw Eng Knowl Eng 24(07):1065–1089
Benala TR, Bandarupalli R (2016) Least square support vector machine in analogy-based software development effort estimation. In: 2016 International Conference on recent advances and innovations in engineering (ICRAIE). IEEE, pp 1–6
Bibi S, Stamelos I (2006) Selecting the appropriate machine learning techniques for the prediction of software development costs. In: Maglogiannis I, Karpouzis K, Bramer M (eds) Artificial intelligence applications and innovations, vol 204, pp 533–540
Boehm B, Clark B, Horowitz E, Westland C, Madachy R, Selby R (1995) Cost models for future software life cycle processes: Cocomo 2.0. Ann Softw Eng 1(1):57–94
Boehm B, Abts C, Chulani S (2000) Software development cost estimation approachesÑa survey. Ann Softw Eng 10(1–4):177–205
Bosu MF, Mensah S, Bennin K, Abuaiadah D (2018) Revisiting the conclusion instability issue in software effort estimation
Braga PL, Oliveira AL, Meira SR (2007) Software effort estimation using machine learning techniques with robust confidence intervals. In: 7th International Conference on hybrid intelligent systems (HIS 2007). IEEE, pp 352–357
Camacho D, Panizo-LLedot A, Bello-Orgaz G, Gonzalez-Pardo A, Cambria E (2020) The four dimensions of social network analysis: an overview of research methods, applications, and software tools. Inf Fusion 63:88–120
Chinthanet B, Phannachitta P, Kamei Y, Leelaprute P, Rungsawang A, Ubayashi N, Matsumoto K (2016) A review and comparison of methods for determining the best analogies in analogy-based software effort estimation. In: Proceedings of the 31st Annual ACM Symposium on applied computing, pp 1554–1557
Chiu NH, Huang SJ (2007) The adjusted analogy-based software effort estimation based on similarity distances. J Syst Softw 80(4):628–640
Corazza A, Di Martino S, Ferrucci F, Gravino C, Mendes E (2011) Investigating the use of Support Vector Regression for web effort estimation. Empir Softw Eng 16(2):211–243
Darko A, Chan AP, Adabre MA, Edwards DJ, Hosseini MR, Ameyaw EE (2020) Artificial intelligence in the AEC industry: Scientometric analysis and visualization of research activities. Autom Construct 112:103081
de Campos Souza PV, Guimaraes AJ, Araujo VS, Rezende TS, Araujo VJS (2019) Incremental regularized data density-based clustering neural networks to aid in the construction of effort forecasting systems in software development. Appl Intell 49(9):3221–3234
Dragicevic S, Celar S, Turic M (2017) Bayesian network model for task effort estimation in agile software development. J Syst Softw 127:109–119
Elish MO (2009) Improved estimation of software project effort using multiple additive regression trees. Expert Syst Appl 36(7):10774–10778
El Bajta M (2015) Analogy-based software development effort estimation in global software development. In: 2015 IEEE 10th International Conference on global software engineering workshops. IEEE, pp 51–54
Ezghari S, Zahi A (2018) Uncertainty management in software effort estimation using a consistent fuzzy analogy-based method. Appl Soft Comput 67:540–557
Faria P, Miranda E (2012) Expert judgment in software estimation during the bid phase of a project–an exploratory survey. In: Software Measurement and the 2012 Seventh International Conference on Software Process and Product Measurement (IWSM-MENSURA), 2012 Joint Conference of the 22nd International Workshop on. IEEE, pp 126–131
Grimstad S, Jørgensen M (2009) Preliminary study of sequence effects in judgment-based software development work-effort estimation. IET Softw 3(5):435–441
Gupta S, Sikka G, Verma H (2011) Recent methods for software effort estimation by analogy. ACM SIGSOFT Softw Eng Notes 36(4):1–5
Huang SJ, Chiu NH (2009) Applying fuzzy neural network to estimate software development effort. Appl Intell 30(2):73–83
Huang SJ, Chiu NH, Chen LW (2008) Integration of the grey relational analysis with genetic algorithm for software effort estimation. Eur J Oper Res 188(3):898–909
Huang J, Keung JW, Sarro F, Li YF, Yu YT, Chan WK, Sun H (2017) Cross-validation based K nearest neighbor imputation for software quality datasets: An empirical study. J Syst Softw 132:226–252
Hussain I, Kosseim L, Ormandjieva O (2013) Approximation of COSMIC functional size to support early effort estimation in Agile. Data Knowl Eng 85:2–14
Idri A, Zakrani A, Zahi A (2010) Design of radial basis function neural networks for software effort estimation. IJCSI Int J Comput Sci Issues 7(4):595–611
Idri A, Abnane I, Abran A (2016) Missing data techniques in analogy-based software development effort estimation. J Syst Softw 117:595–611
Idri A, Abnane I, Abran A (2018) Support vector regression-based imputation in analogy based software development effort estimation. J Softw Evol Process 30(12):2114
Iqbal T, Qureshi S (2020) The survey: text generation models in deep learning. J King Saud Univ-Comput Inf Sci
Johnson RA, Wichern DW (2007) Applied multivariate statistical analysis, 6th edn. Prentice Hall
Jørgensen M (2004) A review of studies on expert estimation of software development effort. J Syst Softw 70(1):37–60
Jørgensen M (2016) Unit effects in software project effort estimation: Work-hours gives lower effort estimates than workdays. J Syst Softw 117:274–281
Kadoda G (2000) Experiences using case-based reasoning to predict software project effort. In: International Conference on empirical assessment and evaluation in software engineering (Keele University, 2000)
Kamei Y, Keung J, Monden A, Matsumoto KI (2008) An over-sampling method for analogy-based software effort estimation. In: Proceedings of the Second ACM-IEEE International Symposium on Empirical software engineering and measurement, pp 312–314
Kaushik A, Singal N (2019) A hybrid model of wavelet neural network and metaheuristic algorithm for software development effort estimation. Int J Inf Technol, pp 1–10
Kaushik A, Soni AK, Soni R (2015) A hybrid approach for software cost estimation using polynomial neural networks and intuitionistic fuzzy sets. Int J Comput Appl Technol 52(4):292–304
Khatibi V and Jawawi DN (2011) Software cost estimation methods: a review 1. J Emerg Trends in Comput Inf Sci
Kumar KV, Ravi V, Carr M, Kiran NR (2008a) Software development cost estimation using wavelet neural networks. J Syst Softw 81:1853–1867
Kumar KV, Ravi V, Carr M, Kiran NR (2008b) Software development cost estimation using wavelet neural networks. J Syst Softw 81(11):1853–1867
Kumari S, Pushkar S (2018) Cuckoo search based hybrid models for improving the accuracy of software effort estimation. Microsyst Technol 24(12):4767–4774
Lamersdorf A, Münch J, Torre AFV, Sánchez CR, Rombach D (2014) Estimating the effort overhead in global software development. arXiv preprint arXiv:1401.2730
Le-Do TK, Yoon KA, Seo YS, Bae DH (2010). Filtering of inconsistent software project data for analogy-based effort estimation. In: 2010 IEEE 34th Annual Computer Software and Applications Conference. IEEE, pp 503–508
Leung HKN (2002) Estimating maintenance effort by analogy. Empir Softw Eng 7(2):157–175
Li JZ, Ruhe G (2008) Software effort estimation by analogy using attribute selection based on rough set analysis. Int J Softw Eng Knowl Eng 18(1):1–23
Li J, Ruhe G, Al-Emran A, Richter MM (2007) A flexible method for software effort estimation by analogy. Empir Softw Eng 12(1):65–106
Li YF, Xie M, Goh TN (2008) Bayesian inference approach for probabilistic analogy-based software maintenance effort estimation. In: 2008 14th IEEE Pacific Rim International Symposium on dependable computing. IEEE, pp 176–183
Lin JC, Chang CT and Huang SY (2011) Research on software effort estimation combined with genetic algorithm and support vector regression. In 2011 International Symposium on Computer Science and Society: 349–352.
Lu Y, Saeys W, Kim M, Peng Y, Lu R (2020) Hyperspectral imaging technology for quality and safety evaluation of horticultural products: a review and celebration of the past 20-year progress. Postharvest Biol Technol 170:111318
Madari MJ, Bahrami H, Niazi M (2019) Improve software effort estimation using weighted KNN in new feature space. IJRDT 11(4):421–427
Mair C, Kadoda G, Lefley M, Phalp KC, Schofield M, Shepperd S (2000) Webster, An investigation of machine learning based prediction systems. J Syst Softw 53(1):23–29
Medrano R, Aznarte JL (2020) A spatio-temporal attention-based spot-forecasting framework for urban traffic prediction. Appl Soft Comput 96:106615
Mehta P, Bukov M, Wang CH, Day AG, Richardson C, Fisher CK, Schwab DJ (2019) A high-bias, low-variance introduction to machine learning for physicists. Phys Rep 810:1–124
Mendes E (2008) The use of bayesian networks for Web effort estimation: further investigation. In: Proceedings of the 8th International Conference on Web Engineering, pp 203–216
Mendes E, Mosley N, Watson I (2002) A comparison of case-based reasoning approaches to Web hypermedia project cost estimation. In: Proceedings of the 11th International Conference on World Wide Web (WWW’02), pp 272–280
Michoski C, Milosavljević M, Oliver T, Hatch DR (2020) Solving differential equations using deep neural networks. Neurocomputing 399:193–212
Mohanty R, Ravi V, Patra MR (2010) The application of intelligent and soft-computing techniques to software engineering problems: a review. Int J Inf Decis Sci 2(3):233–272
Moosavi SHS, Bardsiri VK (2017) Satin bowerbird optimizer: a new optimization algorithm to optimize ANFIS for software development effort estimation. Eng Appl Artif Intell 60:1–15
Nagaraj K, Sharvani GS, Sridhar A (2018) Emerging trend of big data analytics in bioinformatics: a literature review. Int J Bioinform Res Appl 14(1–2):144–205
Nassif AB, Capretz LF, Ho D (2012) Estimating software effort using an ANN model based on use case points. In: 2012 11th International Conference on machine learning and applications, 2: 42–47. IEEE.
Nassif AB, Azzeh M, Capretz LF, Ho D (2013) A comparison between decision trees and decision tree forest models for software development effort estimation. In: 2013 Third International Conference on communications and information technology (ICCIT). IEEE, pp 220–224
Nisar MW, Wang YJ, Elahi M (2008) Software development effort estimation using fuzzy logic A survey. In: Fifth International Conference on fuzzy systems and knowledge discovery, 1: 421–427
Nitze A, Schmietendorf A, Dumke R (2014) An analogy-based effort estimation approach for mobile application development projects. In: 2014 Joint Conference of the International Workshop on Software Measurement and the International Conference on software process and product measurement. IEEE, pp 99–103
Oliveira AL, Braga PL, Lima RM, Cornélio ML (2010) GA-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation. Inf Softw Technol 52(11):1155–1166
Papatheocharous E, Andreou AS (2009) Classification and prediction of software cost through fuzzy decision trees. International Conference on enterprise information systems. Springer, Berlin, Heidelberg, pp 234–247
Patra HP, Rajnish K (2018) Development of software effort estimation using a non-fuzzy model. Int J Comput Syst Eng 4(1):17–22
Peixoto CEL, Audy JLN, Prikladnicki R (2010) Effort estimation in global software development projects: preliminary results from a survey. In: Global Software Engineering (ICGSE), 2010 5th IEEE International Conference on. IEEE, pp 123–127
Ponalagusamy R, Senthilkumar S (2011) Investigation on time-multiplexing cellular neural network simulation by RKAHeM (4, 4) technique. Int J Adv Intell Paradig 3(1):43–66
Pospieszny P, Czarnacka-Chrobot B, Kobylinski A (2018) An effective approach for software project effort and duration estimation with machine learning algorithms. J Syst Softw 137:184–196
Qi F, Jing XY, Zhu X, Xie X, Xu B, Ying S (2017) Software effort estimation based on open source projects: case study of Github. Inf Softw Technol 92:145–157
Rao PS, Kumar RK (2015) Software effort estimation through a generalized regression neural network. In: Emerging ICT for Bridging the Future-Proceedings of the 49th Annual Convention of the Computer Society of India (CSI) Volume 1, pp 19–30. Springer, Cham
Reynolds J, Ahmad MW, Rezgui Y (2018) Holistic modelling techniques for the operational optimisation of multi-vector energy systems. Energy Build 169:397–416
Saeed A, Butt WH, Kazmi F Arif M (2018) Survey of software development effort estimation techniques. In: Proceedings of the 2018 7th International Conference on software and computer applications, pp 82–86
Sarro F, Petrozziello A (2018) Linear programming as a baseline for software effort estimation. ACM Trans Softw Eng Methodol (TOSEM) 27(3):1–28
Satapathy SM, Rath SK (2014) Class point approach for software effort estimation using various support vector regression kernel methods. In: Proceedings of the 7th India Software Engineering Conference, pp 1–10
Satapathy SM, Rath SK (2017) Empirical assessment of machine learning models for effort estimation of web-based applications. In: Proceedings of the 10th Innovations in Software Engineering Conference, pp 74–84
Shepperd M, Schofield C (1997) Estimating software project effort using analogies. IEEE Trans Softw Eng 23(11):736–743
Sheta AF, Ayesh A, Rine D (2010) Evaluating software cost estimation models using particle swarm optimisation and fuzzy logic for NASA projects: a comparative study. Int J Bio-Inspir Comput 2(6):365–373
Singh BK, Misra A (2012) Software effort estimation by genetic algorithm tuned parameters of modified constructive cost model for nasa software projects. Int J Comput Appl 59(9):22–26
Stefanowski J (2006) An empirical study of using rule induction and rough sets to software cost estimation. Fundam Inf 71(1):63–82 (Special issue on theory and applications of soft computing (TASC04))
Tosun A, Turhan B, Bener AB (2009) Feature weighting heuristics for analogy-based effort estimation models. Expert Syst Appl 36(7):10325–10333
Trendowicz A, Jeffery R (2014) Classification of Effort Estimation Methods. In: Software project effort estimation. Springer, Cham, pp 155–208
Walkerden F, Jeffery R (1999) An empirical study of analogy-based software effort estimation. Empir Softw Eng 4(2):135–158
Wen J, Li S, Tang L (2009) Improve analogy-based software effort estimation using principal components analysis and correlation weighting. In: 2009 16th Asia-Pacific Software Engineering Conference, pp 179–186, IEEE
Wen J, Li S, Lin Z, Hu Y, Huang C (2012) Systematic literature review of machine learning based software development effort estimation models. Inf Softw Technol 54(1):41–59
Whigham PA, Owen CA, Macdonell SG (2015) A baseline model for software effort estimation. ACM Trans Softw Eng Methodol (TOSEM) 24(3):1–11
Zare F, Zare HK, Fallahnezhad MS (2016) Software effort estimation based on the optimal Bayesian belief network. Appl Soft Comput 49:968–980
Zarei A, Asl BM (2020) Automatic classification of apnea and normal subjects using new features extracted from HRV and ECG-derived respiration signals. Biomed Signal Process Control 59:101927
Zhang D, Tsai JJP (2003) Machine learning and software engineering. Softw Qual J 11(2):87–119
Zhang W, Yang Y, Wang Q (2015) Using Bayesian regression and EM algorithm with missing handling for software effort prediction. Inf Softw Technol 58:58–70
Zhang H, Ren JX, Kang YL, Bo P, Liang JY, Ding L, Kong WB, Zhang J (2017) Development of novel in silico model for developmental toxicity assessment by using naive Bayes classifier method. Reprod Toxicol 71:8–15
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Kumar, K.H., Srinivas, K. Preliminary performance study of a brief review on machine learning techniques for analogy based software effort estimation. J Ambient Intell Human Comput 14, 2141–2165 (2023). https://doi.org/10.1007/s12652-021-03427-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12652-021-03427-y