Document Type : Research Articles
Authors
1 Department of Computer Engineering, Faculty of Science, Kerman Branch, Islamic Azad University, Kerman, Iran
2 Department of Computer Engineering, Faculty of Science, Kerman Branch, Islamic Azad University, Kerman, Iran.
3 Department of Electrical Engineering, Kerman Branch, Islamic Azad University, Kerman, 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
Main Subjects
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.
"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 multilayer 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.
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 & 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 & 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.
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] M. Dehghani, Z. Montazeri, O. P. Malik, A. Ehsanifar, and
A. Dehghani, "OSA: Orientation Search Algorithm,"
International Journal of Industrial Electronics Control and
Optimization, vol. 2, pp. 99-112, 2019.
[29] 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.
[30] 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.
[31] 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.
[32] 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.
[33] 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.
[34] 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.
[35] 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.
[36] 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.
[37] P. Phannachitta, "On an optimal analogy-based software
effort estimation," Information and Software Technology,
vol. 125, p. 106330, 2020.
[38] S. Ranichandra, "Optimizing non‐orthogonal space
distance using ACO in software cost estimation," Mukt
Shabd J, vol. 9, pp. 1592-1604, 2020.
[39] 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.
[40] 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.
[41] J. H. Friedman, "Multivariate adaptive regression splines,"
The annals of statistics, pp. 1-67, 1991.
Elsevier, 2014.
[43] Y. Wang and I. H. Witten, "Induction of model trees for
predicting continuous classes," 1996.
[44] K. Hornik, M. Stinchcombe, and H. White, "Multilayer
feedforward networks are universal approximators,"
Neural networks, vol. 2, pp. 359-366, 1989.
[45] 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.
[46] H. Mustapha and N. Abdelwahed, "Investigating the use of
random forest in software effort estimation," Procedia
computer science, vol. 148, pp. 343-352, 2019.