Skip to main content
Log in

An accurate analogy based software effort estimation using hybrid optimization and machine learning techniques

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Software engineering’s primary task is analogy-centric effort estimation. In this, by utilizing the existent histories, the effort needed for new software projects was estimated for the respective development along with management. Generally, the Software Effort Estimation (SEE) methodologies’ higher correctness is a non-solvable issue, which was termed as a multi-objective problem. In recent days, Machine Learning (ML) methodologies are utilized by numerous authors for the same process; however, higher performance was not attained. Furthermore, bias and subjectivity issues are the complications faced by the prevailing SEE methodologies. For further improvement of effort estimation, we propose an accurate analogy based SEE (AA-SEE) created on hybrid optimization and ML techniques. The first contribution of the proposed AA-SEE technique is to introduce a multi-swarm coyote optimization (MSCO) algorithm to tune the hyper parameters for ML technique. Because, an accurate hyper parameters needed for effort estimation at the optimal level which reduce the prediction errors. The second contribution is to illustrate the teaching-learning based recurrent neural network (TL-RNN) for effort estimation. The proposed AA-SEE technique can be evaluate through different standard datasets are Albercht, Kitchenham, Maxwell, Deshernais, IKH, Telecom, ISBSG and NASA. Finally, the performance of proposed AA-SEE technique is associated with the existing state-of-art methodologies in footings of accuracy, MMRE, MdMMRE, BMMRE, MMER and MdMMER.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Algorithm 1
Algorithm 2
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Data availability

Data sharing is not applicable to this article as no datasets were generated or analyzed during the current study.

Abbreviations

AA-SEE:

Accurate Analogy Based Software Effort Estimation

MSCO:

Multi-Swarm Coyote Optimization

TL-RNN:

Teaching-Learning Based Recurrent Neural Network

SEE:

Software Attempt Assessment

DE:

Differential Evolution

RT:

Regression Tree

MLP-NN:

Multilayer Piston Neural Network

MMRE:

Mean Magnitude of Relative Error

COA:

Coyote Optimization Algorithm

DTM:

Dangerous Training Machine

CSDP:

Comparative Software Development Program

COCOMO:

Constructive Cost Model

MDELP:

Multi-Layer Dilation-Erosion-Linear Perceptron

RC:

Regression Clustering

SR:

Stepwise Regression

References

  1. Azzeh M, Neagu D, Cowling PI (2011) Analogy-based software effort estimation using Fuzzy numbers. J Syst Softw 84:270–284. https://doi.org/10.1016/j.jss.2010.09.028

    Article  Google Scholar 

  2. Benala TR, Mall R (2018) DABE: differential evolution in analogy-based software development effort estimation. Swarm Evol Comput 38:158–172. https://doi.org/10.1016/j.swevo.2017.07.009

    Article  Google Scholar 

  3. Børte K, Ludvigsen SR, Mørch AI (2012) The role of social interaction in software effort estimation: unpacking the magic step between reasoning and decision-making. Inf Softw Technol 54:985–996. https://doi.org/10.1016/j.infsof.2012.03.002

    Article  Google Scholar 

  4. Chiu NH, Huang SJ (2007) The adjusted analogy-based software effort estimation based on similarity distances. J Syst Softw 80:628–640. https://doi.org/10.1016/j.jss.2006.06.006

    Article  Google Scholar 

  5. Choudhari J, Suman U (2012) Story points based effort estimation model for software maintenance. Proc Technol 4:761–765. https://doi.org/10.1016/j.protcy.2012.05.124

    Article  Google Scholar 

  6. Dashti M, Gandomani TJ, Adeh DH, Zulzalil H, Md Sultan AB (2022) LEMABE a novel framework to improve analogy-based software cost estimation using learnable evolution model. PeerJ Comput Sci 7(1):1–24. https://doi.org/10.7717/peerj-cs.800

    Article  Google Scholar 

  7. Effendi A, Setiawan R, Rasjid ZE (2019) Adjustment factor for use case point software effort estimation (study case: student desk portal). Proc Comput Sci 157:691–698

    Article  Google Scholar 

  8. Elish MO (2009) Improved estimation of software project effort using multiple additive regression trees. Expert Syst Appl 36:10774–10778. https://doi.org/10.1016/j.eswa.2009.02.013

    Article  Google Scholar 

  9. Ezghar S, Zahi A (2018) Uncertainty management in software effort estimation using a consistent fuzzy analogy-based method. Appl Soft Comput 67:540–557. https://doi.org/10.1016/j.asoc.2018.03.022

    Article  Google Scholar 

  10. Garcia-Diaz N, Lopez-Martin C, Chavoya A (2013) A comparative study of two fuzzy logic models for software development effort estimation. Proc Technol 7:305–314. https://doi.org/10.1016/j.protcy.2013.04.038

    Article  Google Scholar 

  11. Grimstad S, Jørgensen M, Moløkken-Østvold K (2006) Software effort estimation terminology: the tower of Babel. Inf Softw Technol 48:302–310. https://doi.org/10.1016/j.infsof.2005.04.004

    Article  Google Scholar 

  12. 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:898–909. https://doi.org/10.1016/j.ejor.2007.07.002

    Article  MATH  Google Scholar 

  13. Jørgensen M (2011) Contrasting ideal and realistic conditions as a means to improve judgment-based software development effort estimation. Inf Softw Technol 53:1382–1390. https://doi.org/10.1016/j.infsof.2011.07.001

    Article  Google Scholar 

  14. Jørgensen M, Halkjelsvik T (2020) Sequence effects in the estimation of software development effort. J Syst Softw 159:1–11. https://doi.org/10.1016/j.jss.2019.110448

    Article  Google Scholar 

  15. Kumar PS, Behera HS, Kumari A, Nayak J, Naik B (2020) Advancement from neural networks to deep learning in software effort estimation: Perspective of two decades. Comput Sci Rev 38:1–32. https://doi.org/10.1016/j.cosrev.2020.100288

    Article  MathSciNet  Google Scholar 

  16. Mensah S, Keung J, Bosu MF, Bennin KE (2018) Duplex output software effort estimation model with self-guided interpretation. Inf Softw Technol 94:1–13. https://doi.org/10.1016/j.infsof.2017.09.010

    Article  Google Scholar 

  17. 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. https://doi.org/10.1016/j.engappai.2017.01.006

    Article  Google Scholar 

  18. Mustapha H, Abdelwahed N (2019) Investigating the use of random forest in software effort estimation. Proc Comput Sci 148:343–352. https://doi.org/10.1016/j.procs.2019.01.042

    Article  Google Scholar 

  19. 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:1155–1166. https://doi.org/10.1016/j.infsof.2010.05.009

    Article  Google Scholar 

  20. Pandey M, Litoriya R, Pandey P (2020) Validation of existing software effort estimation techniques in context with mobile software applications. Wirel Pers Commun 110:1659–1677. https://doi.org/10.1007/s11277-019-06805-0

    Article  Google Scholar 

  21. Park H, Baek S (2008) An empirical validation of a neural network model for software effort estimation. Expert Syst Appl 35:929–937. https://doi.org/10.1016/j.eswa.2007.08.001

    Article  Google Scholar 

  22. Phannachitta P (2020) On an optimal analogy-based software effort estimation. Inf Softw Technol 125:1–11. https://doi.org/10.1016/j.infsof.2020.106330

    Article  Google Scholar 

  23. Praynlin E (2020) Using meta-cognitive sequential learning neuro-fuzzy inference system to estimate software development effort. J Ambient Intell Humaniz Comput 12(2):1–14. https://doi.org/10.1007/s12652-020-02652-1

    Article  Google Scholar 

  24. Priya Varshini AG, Anitha Kumari K, Varadarajan V (2021) Estimating software development efforts using a random forest-based stacked ensemble approach. Electronics 10(10):1–19. https://doi.org/10.3390/electronics10101195

    Article  Google Scholar 

  25. 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. https://doi.org/10.1016/j.infsof.2017.07.015

    Article  Google Scholar 

  26. Santos LPD, Ferreira MGV (2018) Safety critical software effort estimation using COCOMO II: a case study in aeronautical industry. IEEE Lat Am Trans 16:2069–2078. https://doi.org/10.1109/TLA.2018.8447378

    Article  Google Scholar 

  27. Sharma A, Kushwaha DS (2012) Estimation of software development effort from requirements based complexity. Proc Technol 4:716–722. https://doi.org/10.1016/j.protcy.2012.05.116

    Article  Google Scholar 

  28. Silhavy P, Silhavy R, Prokopova Z (2019) Categorical variable segmentation model for software development effort estimation. IEEE Access 7:9618–9626. https://doi.org/10.1109/ACCESS.2019.2891878

    Article  Google Scholar 

  29. Singal P, Kumari AC, Sharma P (2020) Estimation of software development effort: a differential evolution approach. Proc Comput Sci 167:2643–2652. https://doi.org/10.1016/j.procs.2020.03.343

    Article  Google Scholar 

  30. Usman M, Petersen K, Börstler J, Neto PS (2018) Developing and using checklists to improve software effort estimation: a multi-case study. J Syst Softw 146:286–309. https://doi.org/10.1016/j.jss.2018.09.054

    Article  Google Scholar 

  31. Vijay JF (2019) Enrichment of accurate software effort estimation using fuzzy-based function point analysis in business data analytics. Neural Comput Appl 31:1633–1639. https://doi.org/10.1007/s00521-018-3565-3

    Article  Google Scholar 

  32. 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:41–59. https://doi.org/10.1016/j.infsof.2011.09.002

    Article  Google Scholar 

  33. Zare F, Zare HK, Fallahnezhad MS (2016) Software effort estimation based on the optimal Bayesian belief network. Appl Soft Comput 49:968–980. https://doi.org/10.1016/j.asoc.2016.08.004

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Contributions

All authors contributed to the study conception and design. Material preparation, data collection and analysis were performed by K. Harish Kumar, Dr. K. Srinivas. The first draft of the manuscript was written by K. Harish Kumar and all authors commented on previous versions of the manuscript.

All authors read and approved the final manuscript.

Corresponding author

Correspondence to K. Harish Kumar.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

Consent of publication

Not applicable.

Competing interests

The authors declare that they have no competing interests

Additional information

Publisher’s note

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

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kumar, K.H., Srinivas, K. An accurate analogy based software effort estimation using hybrid optimization and machine learning techniques. Multimed Tools Appl 82, 30463–30490 (2023). https://doi.org/10.1007/s11042-023-14522-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-023-14522-x

Keywords

Navigation