Improving the Estimation of Software Development Effort Using the Combination of Cuckoo Search and Particle Swarm Optimization Algorithms

Document Type : Persian Original Article

Authors

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

2 Department of Electrical and Computer, Faculty of Engineering, Islamic Azad University, Mobarakeh, Isfahan, Iran

Abstract

Accurate estimation of required effort for software development has an important role in success of such projects. So far, a lot of research work has been conducted to estimate the effort, but improving the precision of this calculation is still a challenge. In this paper, an approach is proposed based on the metaheuristic algorithms to solve this challenge. The procedure is as follows. First, the Cuckoo Search algorithm is used in order to select the correct software features in estimating effort. Then, the results are further analyzed by Particle Swarm Optimization algorithm. The idea is that the sequential application of these algorithms has led to more accurate search of the problem space and possibility of achieving the global optimum, i.e. the best features is increased. Finally, the selected features are used as the input parameters of the COCOMO II post-architecture model and the effort is estimated. The proposed approach is evaluated on two datasets of COCOMO 81 and COCOMO NASA and in order to its evaluation, two metrics, namely the median magnitude of relative error and the percentage of prediction are used. The results obtained from the experiments of this approach and their comparison to the results of the previous works show that on the COCOMO 81, the value of the median magnitude of relative error decreased by 0.177 and the percentage of prediction, for the three values of 25, 30 and 40 percent, increased by 7.87%, 8.04% and 8.66%, respectively. Furthermore, on the COCOMO NASA, the value of the median magnitude of relative error decreased by 0.151 and the percentage of prediction, for the three values of 25, 30 and 40 percent, increased by 7.55%, 7.98% and 8.11%, respectively.

Keywords


[1] Popović and D. Bojić, "A comparative evaluation of effort estimation methods in the software life cycle," Computer Science and Information Systems, vol. 9, no. 1, pp. 455-484, 2012.
[2] Kumari and S. Pushkar, "Cuckoo search based hybrid models for improving the accuracy of software effort estimation," Microsystem Technologies, vol. 24, no. 12, pp. 4767-4774, 2018.
[3] Padmaja and D. Haritha, "Software Effort Estimation using Meta Heuristic Algorithm," International Journal of Advanced Research in Computer Science, vol. 8, no. 5, 2017.
[4] Singal, A. C. Kumari, and P. Sharma, "Estimation of software development effort: A Differential Evolution Approach," Procedia Computer Science, vol. 167, pp. 2643-2652, 2020.
[5] S. Kumar and H. Behera, "Estimating Software Effort Using Neural Network: An Experimental Investigation," in Computational Intelligence in Pattern Recognition: Springer, 2020, pp. 165-180.
[6] Sinhal and B. Verma, "Software Development Effort Estimation: A Review," International Journal of Advanced Research in Computer Science and Software Engineering (IJARCSSE), vol. 3, no. 6, pp. 1120-1135, 2013.
[7] Jørgensen, "What we do and don't know about software development effort estimation," IEEE Software, vol. 31, no. 2, pp. 37-40, 2014.
[8] Pospieszny, B. Czarnacka-Chrobot, and A. Kobylinski, "An effective approach for software project effort and duration estimation with machine learning algorithms," Journal of Systems and Software, vol. 137, pp. 184-196, 2018.
[9] Usman, R. Britto, L.-O. Damm, and J. Börstler, "Effort estimation in large-scale software development: An industrial case study," Information and Software technology, vol. 99, pp. 21-40, 2018.
[10] Aljohani and M. Qureshi, "Comparative study of software estimation techniques," International Journal of Software Engineering & Applications (IJSEA), vol. 8, no. 6, 2017.
[11] K. Bardsiri and S. M. Hashemi, "Software effort estimation: a survey of well-known approaches," International Journal of Computer Science Engineering (IJCSE), vol. 3, no. 1, pp. 46-50, 2014.
[12] A. Amazal and A. Idri, "Estimating software development effort using fuzzy clustering‐based analogy," Journal of Software: Evolution and Process, p. e2324, 2020.
[13] T. Khuat and M. H. Le, "Optimizing parameters of software effort estimation models using directed artificial bee colony algorithm," Informatica, vol. 40, no. 4, 2016.
[14] R. Maier, S. Razavi, Z. Kapelan, L. S. Matott, J. Kasprzyk, and B. A. Tolson, "Introductory overview: Optimization using evolutionary algorithms and other metaheuristics," Environmental modelling & software, vol. 114, pp. 195-213, 2019.
[15] Venkataiah, R. Mohanty, J. Pahariya, and M. Nagaratna, "Application of ant colony optimization techniques to predict software cost estimation," in Computer Communication, Networking and Internet Security: Springer, 2017, pp. 315-325.
[16] S. Yang and S. Deb, "Cuckoo search via Lévy flights," in 2009 World congress on nature & biologically inspired computing (NaBIC), 2009, pp. 210-214: Ieee.
[17] S. Yang, "Chapter 2 - Analysis of Algorithms," in Nature-Inspired Optimization Algorithms, X.-S. Yang, Ed. Oxford: Elsevier, 2014, pp. 23-44.
[18] Guerrero-Luis, F. Valdez, and O. Castillo, "A Review on the Cuckoo Search Algorithm," in Fuzzy Logic Hybrid Extensions of Neural and Optimization Algorithms: Theory and Applications, O. Castillo and P. Melin, Eds. Cham: Springer International Publishing, 2021, pp. 113-124.
[19] Wang, D. Tan, and L. Liu, "Particle swarm optimization algorithm: an overview," Soft Computing, vol. 22, no. 2, pp. 387-408, 2018.
[20] C. Lin and H.-Y. Tzeng, "Applying particle swarm optimization to estimate software effort by multiple factors software project clustering," in 2010 International Computer Symposium (ICS2010), 2010, pp. 1039-1044: IEEE.
[21] Kaur and S. K. Sehra, "Particle swarm optimization based effort estimation using Function Point analysis," in 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), 2014, pp. 140-145: IEEE.
[22] Murillo-Morera, C. Quesada-López, C. Castro-Herrera, and M. Jenkins, "A genetic algorithm based framework for software effort prediction," Journal of software engineering research and development, vol. 5, no. 1, pp. 1-33, 2017.
[23] Wu, J. Li, and C. Bao, "Case-based reasoning with optimized weight derived by particle swarm optimization for software effort estimation," Soft Computing, vol. 22, no. 16, pp. 5299-5310, 2018.
[24] S. Gautam and V. Singh, "The state‐of‐the‐art in software development effort estimation," Journal of Software: Evolution and Process, vol. 30, no. 12, p. e1983, 2018.
[25] Menzies, Y. Yang, G. Mathew, B. Boehm, and J. Hihn, "Negative results for software effort estimation," Empirical Software Engineering, vol. 22, no. 5, pp. 2658-2683, 2017.
[26] Beiranvand, W. Hare, and Y. Lucet, "Best practices for comparing optimization algorithms," Optimization and Engineering, vol. 18, no. 4, pp. 815-848, 2017.
[27] A. Shah, D. N. A. Jawawi, M. A. Isa, M. Younas, A. Abdelmaboud, and F. Sholichin, "Ensembling artificial bee colony with analogy-based estimation to improve software development effort prediction," IEEE Access, vol. 8, pp. 58402-58415, 2020.
[28] Mustapha and N. Abdelwahed, "Investigating the use of random forest in software effort estimation," Procedia computer science, vol. 148, pp. 343-352, 2019.
[29] Ezghari and A. Zahi, "Uncertainty management in software effort estimation using a consistent fuzzy analogy-based method," Applied Soft Computing, vol. 67, pp. 540-557, 2018.
[30] Zare, H. K. Zare, and M. S. Fallahnezhad, "Software effort estimation based on the optimal Bayesian belief network," Applied Soft Computing, vol. 49, pp. 968-980, 2016.
[31] Shanker, J. Jaya, and K. Thanushkodi, "An Effective Approach to Software Cost Estimation Based on Soft Computing Techniques," International Arab Journal of Information Technology (IAJIT), vol. 12, 2015.
[32] V. KHATIBI and M. Dorosti, "An Improved COCOMO based Model to Estimate the Effort of Software Projects," 2016.
[33] -L. Du and M. Swamy, "Particle Swarm Optimization," in Search and Optimization by Metaheuristics: Springer, 2016, pp. 153-173.
[34] Trendowicz and R. Jeffery, "Software project effort estimation," Foundations and Best Practice Guidelines for Success, Constructive Cost Model–COCOMO pags, vol. 12, pp. 277-293, 2014.