Document Type : Original/Review Paper

Author

Department of Computer Engineering, Zabol Branch, Islamic Azad University, Zabol, Iran.

Abstract

Managing software projects due to its intangible nature is full of challenges when predicting the effort needed for development. Accordingly, there exist many studies with the attempt to devise models to estimate efforts necessary in developing software. According to the literature, the accuracy of estimator models or methods can be improved by correct application of data filtering or feature weighting techniques. Numerous models have also been proposed based on machine learning methods for data modeling. This study proposes a new model consisted of data filtering and feature weighting techniques to improve the estimation accuracy in the final step of data modeling. The model proposed in this study consists of three layers. Tools and techniques in the first and second layers of the proposed model select the most effective features and weight features with the help of LSA (Lightning Search Algorithm). By combining LSA and an artificial neural network in the third layer of the model, an estimator model is developed from the first and second layers, significantly improving the final estimation accuracy. The upper layers of this model filter out and analyze data of lower layers. This arrangement significantly increased the accuracy of final estimation. Three datasets of real projects were used to evaluate the accuracy of proposed model, and the results were compared with those obtained from different methods. The results were compared based on performance criteria, indicating that the proposed model effectively improved the estimation accuracy.

Keywords

[1] A. K. Bardsiri and S. M. Hashemi, "Software effort estimation: a survey of well-known approaches," International Journal of Computer Science Engineering (IJCSE), Vol. 3, pp. 46-50, 2014.
 
[2] S. Bilgaiyan, S. Mishra, and M. Das, "Effort estimation in agile software development using experimental validation of neural network models," International Journal of Information Technology, Vol. 11, pp. 569-573, 2019.
 
[3] D. Rankovic, N. Rankovic, M. Ivanovic, and L. Lazic, "Convergence rate of Artificial Neural Networks for estimation in software development projects," Information and Software Technology, p. 106627, 2021.
 
[4] P. S. Kumar, H. S. Behera, A. Kumari, J. Nayak, and B. Naik, "Advancement from neural networks to deep learning in software effort estimation: Perspective of two decades," Computer Science Review, Vol. 38, p. 100288, 2020.
 
[5] R. D. A. Araujo, A. L. Oliveira, and S. Meira, "A class of hybrid multi-layer perceptrons for software development effort estimation problems," Expert Systems with Applications, Vol. 90, pp. 1-12, 2017.
 
[6] S. H. S. Moosavi and V. K. Bardsiri, "Satin bowerbird optimizer: A new optimization algorithm to optimize ANFIS for software development effort estimation," Engineering Applications of Artificial Intelligence, Vol. 60, pp. 1-15, 2017.
 
[7] T. R. Benala and R. Mall, "DABE: differential evolution in analogy-based software development effort estimation," Swarm and Evolutionary Computation, Vol. 38, pp. 158-172, 2018.
 
[8] Q. Liu, J. Xiao, and H. Zhu, "Feature selection for software effort estimation with localized neighborhood mutual information," Cluster computing, Vol. 22, pp. 6953-6961, 2019.
 
[9] N.-H. Chiu and S.-J. Huang, "The adjusted analogy-based software effort estimation based on similarity distances," Journal of Systems and Software, Vol. 80, pp. 628-640, 2007.
 
[10] V. K. Bardsiri, D. N. A. Jawawi, S. Z. M. Hashim, and E. Khatibi, "A PSO-based model to increase the accuracy of software development effort estimation," Software Quality Journal, Vol. 21, pp. 501-526, 2013.
 
[11] Z. Shahpar, V. Khatibi, and A. Khatibi Bardsiri, "Hybrid PSO-SA approach for feature weighting in analogy-based software project effort estimation," Journal of AI and Data Mining, 2021.
 
[12] V. Resmi, S. Vijayalakshmi, and R. S. Chandrabose, "An effective software project effort estimation system using optimal firefly algorithm," Cluster Computing, Vol. 22, pp. 11329-11338, 2019.
 
[13] J. F. Vijay, "Enrichment of accurate software effort estimation using fuzzy-based function point analysis in business data analytics," Neural Computing and Applications, Vol. 31, pp. 1633-1639, 2019.
 
[14] I. Kaur, G. S. Narula, R. Wason, V. Jain, and A. Baliyan, "Neuro fuzzy—COCOMO II model for software cost estimation," International Journal of Information Technology, Vol. 10, pp. 181-187, 2018.
 
[15] A. Idri, I. Abnane, and A. Abran, "Missing data techniques in analogy-based software development effort estimation," Journal of Systems and Software, vol. 117, pp. 595-611, 2016.
 
[16] P. R. Sree and R. SNSVSC, "Improving efficiency of fuzzy models for effort estimation by cascading and clustering techniques," Procedia Computer Science, Vol. 85, pp. 278-285, 2016.
 
[17] A. Karimi and T. J. Gandomani, "Software development effort estimation modeling using a combination of fuzzy-neural network and differential evolution algorithm," International Journal of Electrical and Computer Engineering (2088-8708), Vol. 11, 2021.
 
[18] S. Chhabra and H. Singh, "Optimizing design of fuzzy model for software cost estimation using particle swarm optimization algorithm," International Journal of Computational Intelligence and Applications, Vol. 19, p. 2050005, 2020.
 
[19] B. Barry, "Software engineering economics," New York, Vol. 197, 1981.
 
[20] B. Boehm, C. Abts, A. Brown, S. Chulani, B. Clark, E. Horowitz et al., "Software cost estimation with COCOMO II. Prentice Hall PTR," Upper Saddle River, NJ, 2000.
 
[21] L. H. Putnam, "A general empirical solution to the macro software sizing and estimating problem," IEEE transactions on Software Engineering, pp. 345-361, 1978.
 
[22] A. J. Albrecht and J. E. Gaffney, "Software function, source lines of code, and development effort prediction: a software science validation," IEEE transactions on software engineering, pp. 639-648, 1983.
 
[23] S. A. Abbas, X. Liao, A. U. Rehman, A. Azam, and M. Abdullah, "Cost estimation: A survey of well-known historic cost estimation techniques," Journal of Emerging Trends in Computing and Information Sciences, Vol. 3, pp. 612-636, 2012.
 
[24] G. R. Finnie, G. E. Wittig, and J.-M. Desharnais, "A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models," Journal of systems and software, Vol. 39, pp. 281-289, 1997.
 
[25] P. Sentas, L. Angelis, I. Stamelos, and G. Bleris, "Software productivity and effort prediction with ordinal regression," Information and software technology, Vol. 47, pp. 17-29, 2005.
 
[26] L. C. Briand, K. El Emam, D. Surmann, I. Wieczorek, and K. D. Maxwell, "An assessment and comparison of common software cost estimation modeling techniques," in Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No. 99CB37002), 1999, pp. 313-323.
 
[27] L. C. Briand, T. Langley, and I. Wieczorek, "A replicated assessment and comparison of common software cost modeling techniques," in Proceedings of the 22nd international conference on Software engineering, 2000, pp. 377-386.
 
[28] F. 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.
 
[29] A. García-Floriano, C. López-Martín, C. Yáñez-Márquez, and A. Abran, "Support vector regression for predicting software enhancement effort," Information and Software Technology, Vol. 97, pp. 99-109, 2018.
 
[30] S. Beiranvand and Z. Chahooki, "Bridging the semantic gap for software effort estimation by hierarchical feature selection techniques," Journal of AI and Data Mining, Vol. 4, pp. 157-168, 2016.
 
[31] A. Puspaningrum and R. Sarno, "A hybrid cuckoo optimization and harmony search algorithm for software cost estimation," Procedia Computer Science, Vol. 124, pp. 461-469, 2017.
 
[32] S. P. Singh, V. P. Singh, and A. K. Mehta, "Differential evolution using homeostasis adaption based mutation operator and its application for software cost estimation," Journal of King Saud University-Computer and Information Sciences, 2018.
 
[33] A. Ali and C. Gravino, "Improving software effort estimation using bio-inspired algorithms to select relevant features: An empirical study," Science of Computer Programming, Vol. 205, p. 102621, 2021.
 
[34] S. Goyal and P. K. Bhatia, "Feature selection technique for effective software effort estimation using multi-layer perceptrons," in Proceedings of ICETIT 2019, ed: Springer, 2020, pp. 183-194.
 
[35] A. Setiadi, W. F. Hidayat, A. Sinnun, A. Setiawan, M. Faisal, and D. P. Alamsyah, "Analyze the Datasets of Software Effort Estimation With Particle Swarm Optimization," in 2021 International Seminar on Intelligent Technology and its Applications (ISITIA), 2021, pp. 197-201.
 
[36] P. Phannachitta, "On an optimal analogy-based software effort estimation," Information and Software Technology, Vol. 125, p. 106330, 2020.
 
[37] E. Kocaguneli and T. Menzies, "Software effort models should be assessed via leave-one-out validation," Journal of Systems and Software, Vol. 86, pp. 1879-1890, 2013.
 
[38] P. W. Holland and R. E. Welsch, "Robust regression using iteratively reweighted least-squares," Communications in Statistics-theory and Methods, Vol. 6, pp. 813-827, 1977.
 
[39] J. H. Friedman, "Multivariate adaptive regression splines," The annals of statistics, pp. 1-67, 1991.
 
[40] J. R. Quinlan, C4. 5: programs for machine learning: Elsevier, 2014.
 
[41] Y. Wang and I. H. Witten, "Induction of model trees for predicting continuous classes," 1996.
 
[42] K. Hornik, M. Stinchcombe, and H. White, "Multilayer feedforward networks are universal approximators," Neural networks, Vol. 2, pp. 359-366, 1989.
 
[43] J. Li, G. Ruhe, A. Al-Emran, and M. M. Richter, "A flexible method for software effort estimation by analogy," Empirical Software Engineering, vol. 12, pp. 65-106, 2007.
 
[44] S. Ranichandra, "Optimizing non‐orthogonal space distance using ACO in software cost estimation," Mukt Shabd J, Vol. 9, pp. 1592-1604, 2020.
 
[45] H. Mustapha and N. Abdelwahed, "Investigating the use of random forest in software effort estimation," Procedia computer science, Vol. 148, pp. 343-352, 2019.