Skip to main content

Preliminary performance study of a brief review on machine learning techniques for analogy based software effort estimation

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.

This is a preview of subscription content, access via your institution.

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

References

  1. 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

  2. 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

  3. 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

    Article  Google Scholar 

  4. Alpaydin E (2004) Introduction to machine learning. The MIT Press, Cambridge

    MATH  Google Scholar 

  5. 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

  6. 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.

  7. Angelis L, Stamelos I (2000) A simulation tool for e±cient analogy-based cost estimation. Empir Softw Eng 5(1):35–68

    Article  Google Scholar 

  8. Attarzadeh I, Ow SH (2009) Software development effort estimation based on a new fuzzy logic model. Int J Comput Theory Eng 1(4):473

    Article  Google Scholar 

  9. 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

  10. 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

  11. Azzeh M, Neagu D, Cowling PI (2011) Analogy-based software effort estimation using Fuzzy numbers. J Syst Softw 84(2):270–284

    Article  Google Scholar 

  12. 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

  13. 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

    Article  Google Scholar 

  14. 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

    Article  Google Scholar 

  15. 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

  16. 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

  17. 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

    Article  Google Scholar 

  18. Boehm B, Abts C, Chulani S (2000) Software development cost estimation approachesÑa survey. Ann Softw Eng 10(1–4):177–205

    MATH  Article  Google Scholar 

  19. Bosu MF, Mensah S, Bennin K, Abuaiadah D (2018) Revisiting the conclusion instability issue in software effort estimation

  20. 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

  21. 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

    Article  Google Scholar 

  22. 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

  23. Chiu NH, Huang SJ (2007) The adjusted analogy-based software effort estimation based on similarity distances. J Syst Softw 80(4):628–640

    Article  Google Scholar 

  24. 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

    Article  Google Scholar 

  25. 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

    Article  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. Dragicevic S, Celar S, Turic M (2017) Bayesian network model for task effort estimation in agile software development. J Syst Softw 127:109–119

    Article  Google Scholar 

  28. Elish MO (2009) Improved estimation of software project effort using multiple additive regression trees. Expert Syst Appl 36(7):10774–10778

    Article  Google Scholar 

  29. 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

  30. Ezghari S, Zahi A (2018) Uncertainty management in software effort estimation using a consistent fuzzy analogy-based method. Appl Soft Comput 67:540–557

    Article  Google Scholar 

  31. 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

  32. 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

    Article  Google Scholar 

  33. Gupta S, Sikka G, Verma H (2011) Recent methods for software effort estimation by analogy. ACM SIGSOFT Softw Eng Notes 36(4):1–5

    Article  Google Scholar 

  34. Huang SJ, Chiu NH (2009) Applying fuzzy neural network to estimate software development effort. Appl Intell 30(2):73–83

    Article  Google Scholar 

  35. 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

    MATH  Article  Google Scholar 

  36. 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

    Article  Google Scholar 

  37. 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

    Article  Google Scholar 

  38. 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

    Google Scholar 

  39. Idri A, Abnane I, Abran A (2016) Missing data techniques in analogy-based software development effort estimation. J Syst Softw 117:595–611

    Article  Google Scholar 

  40. 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

    Article  Google Scholar 

  41. Iqbal T, Qureshi S (2020) The survey: text generation models in deep learning. J King Saud Univ-Comput Inf Sci

  42. Johnson RA, Wichern DW (2007) Applied multivariate statistical analysis, 6th edn. Prentice Hall

    MATH  Google Scholar 

  43. Jørgensen M (2004) A review of studies on expert estimation of software development effort. J Syst Softw 70(1):37–60

    Article  Google Scholar 

  44. 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

    Article  Google Scholar 

  45. 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)

  46. 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

  47. 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

  48. 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

    Article  Google Scholar 

  49. Khatibi V and Jawawi DN (2011) Software cost estimation methods: a review 1. J Emerg Trends in Comput Inf Sci

  50. Kumar KV, Ravi V, Carr M, Kiran NR (2008a) Software development cost estimation using wavelet neural networks. J Syst Softw 81:1853–1867

    Article  Google Scholar 

  51. Kumar KV, Ravi V, Carr M, Kiran NR (2008b) Software development cost estimation using wavelet neural networks. J Syst Softw 81(11):1853–1867

    Article  Google Scholar 

  52. Kumari S, Pushkar S (2018) Cuckoo search based hybrid models for improving the accuracy of software effort estimation. Microsyst Technol 24(12):4767–4774

    Article  Google Scholar 

  53. 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

  54. 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

  55. Leung HKN (2002) Estimating maintenance effort by analogy. Empir Softw Eng 7(2):157–175

    MATH  Article  Google Scholar 

  56. 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

    Article  Google Scholar 

  57. 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

    Article  Google Scholar 

  58. 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

  59. 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.

  60. 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

    Article  Google Scholar 

  61. Madari MJ, Bahrami H, Niazi M (2019) Improve software effort estimation using weighted KNN in new feature space. IJRDT 11(4):421–427

    Google Scholar 

  62. 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

    Article  Google Scholar 

  63. Medrano R, Aznarte JL (2020) A spatio-temporal attention-based spot-forecasting framework for urban traffic prediction. Appl Soft Comput 96:106615

    Article  Google Scholar 

  64. 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

    MathSciNet  Article  Google Scholar 

  65. 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

  66. 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

  67. Michoski C, Milosavljević M, Oliver T, Hatch DR (2020) Solving differential equations using deep neural networks. Neurocomputing 399:193–212

    Article  Google Scholar 

  68. 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

    Google Scholar 

  69. 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

    Article  Google Scholar 

  70. 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

    Article  Google Scholar 

  71. 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.

  72. 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

  73. 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

  74. 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

  75. 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

    Article  Google Scholar 

  76. 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

    Chapter  Google Scholar 

  77. Patra HP, Rajnish K (2018) Development of software effort estimation using a non-fuzzy model. Int J Comput Syst Eng 4(1):17–22

    Article  Google Scholar 

  78. 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

  79. 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

    Article  Google Scholar 

  80. 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

    Article  Google Scholar 

  81. 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

    Article  Google Scholar 

  82. 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

  83. Reynolds J, Ahmad MW, Rezgui Y (2018) Holistic modelling techniques for the operational optimisation of multi-vector energy systems. Energy Build 169:397–416

    Article  Google Scholar 

  84. 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

  85. Sarro F, Petrozziello A (2018) Linear programming as a baseline for software effort estimation. ACM Trans Softw Eng Methodol (TOSEM) 27(3):1–28

    Article  Google Scholar 

  86. 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

  87. 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

  88. Shepperd M, Schofield C (1997) Estimating software project effort using analogies. IEEE Trans Softw Eng 23(11):736–743

    Article  Google Scholar 

  89. 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

    Article  Google Scholar 

  90. 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

    Google Scholar 

  91. 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))

    MathSciNet  MATH  Google Scholar 

  92. Tosun A, Turhan B, Bener AB (2009) Feature weighting heuristics for analogy-based effort estimation models. Expert Syst Appl 36(7):10325–10333

    Article  Google Scholar 

  93. Trendowicz A, Jeffery R (2014) Classification of Effort Estimation Methods. In: Software project effort estimation. Springer, Cham, pp 155–208

  94. Walkerden F, Jeffery R (1999) An empirical study of analogy-based software effort estimation. Empir Softw Eng 4(2):135–158

    Article  Google Scholar 

  95. 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

  96. 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

    Article  Google Scholar 

  97. Whigham PA, Owen CA, Macdonell SG (2015) A baseline model for software effort estimation. ACM Trans Softw Eng Methodol (TOSEM) 24(3):1–11

    Article  Google Scholar 

  98. Zare F, Zare HK, Fallahnezhad MS (2016) Software effort estimation based on the optimal Bayesian belief network. Appl Soft Comput 49:968–980

    Article  Google Scholar 

  99. 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

    Article  Google Scholar 

  100. Zhang D, Tsai JJP (2003) Machine learning and software engineering. Softw Qual J 11(2):87–119

    Article  Google Scholar 

  101. 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

    Article  Google Scholar 

  102. 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

    Article  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to K. Harish Kumar.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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 (2021). https://doi.org/10.1007/s12652-021-03427-y

Download citation

Keywords

  • Machine learning
  • ABE
  • Software effort estimation
  • Supervised techniques
  • And unsupervised techniques