Improving Software Effort Estimation through a Hybrid Approach of Metaheuristic Algorithms in Analogy-based Method

Document Type : Research Article

Authors

Faculty of Engineering, Isfahan (Khorasgan) Branch, Islamic Azad University, Isfahan, Iran

Abstract

Project management in software development is one of the most crucial activities as it encompasses the entire software development process from start to finish. Estimating the effort required for software projects is a significant challenge in project management. Managing software projects and consequently estimating their effort for more efficient and impactful management of such projects is necessary and unavoidable. Analogy-based estimation in software effort estimation involves comparing new projects to completed ones. However, this method can be ineffective due to variations in feature importance and dependencies. To address this, weights are assigned to features using optimization techniques like meta-heuristic algorithms. Yet, these algorithms may get stuck in local optima, yielding nonoptimal results. An approach to estimate software effort is proposed in this study. It aims to find global optimal feature weights by combining particle swarm and genetics metaheuristic algorithms. This hybrid approach leverages particle motion and composition to enhance solution generation, increasing the likelihood of finding the global optimum and overcoming local optima issues. The algorithm calculates feature weights for project estimation using analogy-based methods. The proposed approach was tested and assessed using two datasets, namely Maxwell and Desharnais. The experimental results indicated an enhancement in the evaluation criteria, including MMRE, MdMRE, and PRED, compared to similar research works.

Keywords

Main Subjects


[1] A. Sharma, D.S. Kushwaha, Estimation of software development effort from requirements based complexity, Procedia Technology, 4 (2012) 716-722.
[2] G.-H. Kim, S.-H. An, K.-I. Kang, Comparison of construction cost estimating models based on regression analysis, neural networks, and case-based reasoning, Building and environment, 39(10) (2004) 1235-1242.
[3] B. Boehm, Cost estimation with COCOMO II, in, University of Southern California, Center for Software Engineering, 2002.
[4] F.J. Heemstra, Software cost estimation, Information and software technology, 34(10) (1992) 627-639.
[5] I. Sommerville, Software engineering 9th Edition, ISBN-10, 137035152 (2011) 18.
[6] A.R. Gray, S.G. MacDonell, A comparison of techniques for developing predictive models of software metrics, Information and software technology, 39(6) (1997) 425-437.
[7] V.K. Bardsiri, D.N.A. Jawawi, S.Z.M. Hashim, E. Khatibi, A PSO-based model to increase the accuracy of software development effort estimation, Software Quality Journal, 21(3) (2013) 501-526.
[8] D. Wu, J. Li, C. Bao, Case-based reasoning with optimized weight derived by particle swarm optimization for software effort estimation, Soft Computing, 22(16) (2018) 5299-5310.
[9] N. Dalkey, O. Helmer, An experimental application of the Delphi method to the use of experts, Management science, 9(3) (1963) 458-467.
[10] A.J. Albrecht, J.E. Gaffney, Software function, source lines of code, and development effort prediction: a software science validation, IEEE transactions on software engineering, (6) (1983) 639-648.
[11] B.W. Boehm, Software engineering economics, IEEE transactions on Software Engineering, (1) (1984) 4-21.
[12] M. Shepperd, C. Schofield, B. Kitchenham, Effort estimation using analogy, in:  Proceedings of IEEE 18th International Conference on Software Engineering, IEEE, 1996, pp. 170-178.
[13] F. Walkerden, R. Jeffery, An empirical study of analogy-based software effort estimation, Empirical software engineering, 4 (1999) 135-158.
[14] A. Idri, A. Zahi, A. Abran, Generating fuzzy term sets for software project attributes using fuzzy c-means and real coded genetic algorithms, in:  Proceedings of the International Conference on Information and Communication Technology for the Muslim World (ICT4M), Malaysia, 2006, pp. 120-127.
[15] M. Azzeh, D. Neagu, P. Cowling, Software project similarity measurement based on fuzzy C-means, in:  Making Globally Distributed Software Development a Success Story: International Conference on Software Process, ICSP 2008 Leipzig, Germany, May 10-11, 2008 Proceedings, Springer, 2008, pp. 123-134.
[16] J.W. Keung, B.A. Kitchenham, D.R. Jeffery, Analogy-X: providing statistical inference to analogy-based software cost estimation, IEEE Transactions on Software Engineering, 34(4) (2008) 471-484.
[17] I. Attarzadeh, S.H. Ow, Proposing a new software cost estimation model based on artificial neural networks, in:  2010 2nd International Conference on Computer Engineering and Technology, IEEE, 2010, pp. V3-487-V483-491.
[18] M. Azzeh, D. Neagu, P.I. Cowling, Analogy-based software effort estimation using Fuzzy numbers, Journal of Systems and Software, 84(2) (2011) 270-284.
[19] F.-A. Amazal, A. Idri, A. Abran, 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, 2014, pp. 252-262.
[20] V. Khatibi Bardsiri, E. Khatibi, Insightful analogy-based software development effort estimation through selective classification and localization, Innovations in Systems and Software Engineering, 11 (2015) 25-38.
[21] S. Kumari, S. Pushkar, A framework for analogy-based software cost estimation using multi-objective genetic algorithm, in:  Proceedings of the world congress on engineering and computer Science, 2016.
[22] A. Idri, I. Abnane, Fuzzy analogy based effort estimation: An empirical comparative study, in:  2017 IEEE International Conference on Computer and Information Technology (CIT), IEEE, 2017, pp. 114-121.
[23] S. Ezghari, A. Zahi, Uncertainty management in software effort estimation using a consistent fuzzy analogy-based method, Applied Soft Computing, 67 (2018) 540-557.
[24] H. Mustapha, N. Abdelwahed, Investigating the use of random forest in software effort estimation, Procedia computer science, 148 (2019) 343-352.
[25] M.A. Shah, D.N.A. Jawawi, M.A. Isa, M. Younas, A. Abdelmaboud, F. Sholichin, Ensembling artificial bee colony with analogy-based estimation to improve software development effort prediction, IEEE Access, 8 (2020) 58402-58415.
[26] S. Ranichandra, Optimizing non‐orthogonal space distance using ACO in software cost estimation, Mukt Shabd J, 9(4) (2020) 1592-1604.
[27] Z. Shahpar, V.K. Bardsiri, A.K. Bardsiri, An evolutionary ensemble analogy‐based software effort estimation, Software: Practice and Experience,  (2021).
[28] S. Samavatian, K. Mohebbi, Improving the Estimation of Software Development Effort Using the Combination of Cuckoo Search and Particle Swarm Optimization Algorithms, Journal of Soft Computing and Information Technology, 10(3) (2021) 86-98.
[29] Z. Shahpar, V.K. Bardsiri, A.K. Bardsiri, Polynomial analogy‐based software development effort estimation using combined particle swarm optimization and simulated annealing, Concurrency and Computation: Practice and Experience, 33(20) (2021) e6358.
[30] M. Dashti, T.J. Gandomani, D.H. Adeh, H. Zulzalil, A.B.M. Sultan, LEMABE: a novel framework to improve analogy-based software cost estimation using learnable evolution model, PeerJ Computer Science, 7 (2022) e800.
[31] S. Hameed, Y. Elsheikh, M. Azzeh, An optimized case-based software project effort estimation using genetic algorithm, Information and Software Technology, 153 (2023) 107088.
[32] A. Moradbeiky, FEEM: A Flexible Model based on Artificial Intelligence for Software Effort Estimation, Journal of AI and Data Mining, 11(1) (2023) 39-51.
[33] N. Pal, M.P. Yadav, D.K. Yadav, Appropriate number of analogues in analogy based software effort estimation using quality datasets, Cluster Computing, 27(1) (2024) 531-546.
[34] R. Eberhart, J. Kennedy, Particle swarm optimization, in:  Proceedings of the IEEE international conference on neural networks, Citeseer, 1995, pp. 1942-1948.
[35] M. Mitchell, An introduction to genetic algorithms, MIT press, 1998.
[36] S.D. Conte, H.E. Dunsmore, V.Y. Shen, Software engineering metrics and models, Benjamin-Cummings Publishing Co., Inc., 1986.
[37] K.D. Maxwell, Applied statistics for software managers, Applied Statistics for Software Managers,  (2002).
[38] J. Desharnais, Analyse statistique de la productivitie des projects informatique a partie de la technique des point des function, Masters Thesis University of Montreal,  (1989).
[39] K. Khan, The Evaluation of Well-known Effort Estimation Models based on Predictive Accuracy Indicators, in, 2010.
[40] E. Kocaguneli, T. Menzies, Software effort models should be assessed via leave-one-out validation, Journal of Systems and Software, 86(7) (2013) 1879-1890.
[41] J. Wen, S. Li, Z. Lin, Y. Hu, C. Huang, Systematic literature review of machine learning based software development effort estimation models, Information and Software Technology, 54(1) (2012) 41-59.