An Intelligent Framework for Estimating Software Development Projects using Machine Learning
Main Article Content
Abstract
The IT industry has faced many challenges related to software effort and cost estimation. A cost assessment is conducted after software effort estimation, which benefits customers as well as developers. The purpose of this paper is to discuss various methods for the estimation of software effort and cost in the context of software engineering, such as algorithmic methods, expert judgment methods, analogy-based estimation methods, and machine learning methods, as well as their different aspects. In spite of this, estimation of the effort involved in software development are subject to uncertainty. Several methods have been developed in the literature for improving estimation accuracy, many of which involve the use of machine learning techniques. A machine learning framework is proposed in this paper to address this challenging problem. In addition to being completely independent of algorithmic models and estimation problems, this framework also features a modular architecture. It has high interpretability, learning capability, and robustness to imprecise and uncertain inputs.
Article Details
References
Jadhav, A. G., Kaur, M., & Akter, F. (2022). Evolution of Software Development Effort and Cost Estimation Techniques: Five Decades Study Using Automated Text Mining Approach. Mathematical Problems in Engineering, 2022, 1–17. https://doi.org/10.1155/2022/5782587
Nassif, Ali Bou, et al. (2022). On The Value of Project Productivity for Early Effort Estimation. Science of Computer Programming, vol. 219, Elsevier BV. p. 102819.
https://doi.org/10.1016/j.scico.2022.102819
Hameed, S., Elsheikh, Y., & Azzeh, M. (2022). An optimized case-based software project effort estimation using genetic algorithm. Information & Software Technology, 153, 107088. https://doi.org/10.1016/j.infsof.2022.107088
Villalobos-Arias, L., Quesada-López, C., Guevara-Coto, J., Martinez, A., & Jenkins, M. (2020). Evaluating hyper-parameter tuning using random search in support vector machines for software effort estimation. Predictive Models in Software Engineering. https://doi.org/10.1145/3416508. 3417121
Phannachitta, P. (2020). On an optimal analogy-based software effort estimation. Information & Software Technology, 125, 106330. https://doi.org/10.1016/j.infsof. 2020.106330
Kumar, P. S., Behera, H. S., K, A. K., Nayak, J., & Naik, B. (2020). Advancement from neural networks to deep learning in software effort estimation: Perspective of two decades. Computer Science Review, 38, 100288. https://doi.org/10.1016/j.cosrev.2020.100288
Ali, Z., Rehman, I. U., & Jaan, Z. (2021). An Empirical Analysis on Software Development Efforts Estimation in Machine Learning Perspective. Distributed Computing and Artificial Intelligence, 10(3), 227–240. https://doi.org/ 10.14201/adcaij2021103227240
Kumar, P. S., Behera, H. S., Nayak, J., & Naik, B. (2021). A pragmatic ensemble learning approach for effective software effort estimation. Innovations in Systems and Software Engineering, 18(2), 283–299. https://doi.org/ 10.1007/s11334-020-00379-y
Karimi, A., & Gandomani, T. J. (2021). Software development effort estimation modeling using a combination of fuzzy-neural network and differential evolution algorithm. International Journal of Power Electronics and Drive Systems, 11(1), 707. https://doi.org/10.11591/ijece.v11i1. pp707-715
Marco, R., Ahmad, S., & Ahmad, S. (2022). Bayesian Hyperparameter Optimization and Ensemble Learning for Machine Learning Models on Software Effort Estimation. International Journal of Advanced Computer Science and Applications, 13(3). https://doi.org/10.14569/ijacsa.2022. 0130351
Rao KN, Bolla JV, Mummana S, et al. (2022). OLCE: Optimized Learning-based Cost Estimation for Global Software Projects. Research Square. DOI: 10.21203/rs.3.rs-2024296/v1.
Dashti, M., Gandomani, T. J., Adeh, D. H., Zulzalil, H., & Sultan, A. B. (2022). LEMABE: a novel framework to improve analogy-based software cost estimation using learnable evolution model. PeerJ, 7, e800. https://doi.org/10.7717/peerj-cs.800
Srivastava, P., Srivastava, N., Agarwal, R., & Singh, P. K. (2022). A Systematic Literature Review on Software Development Estimation Techniques. Advances in Intelligent Systems and Computing, 119–134. https://doi.org/10.1007/ 978-981-16-4641-6_11
Sharma, A., & Chaudhary, N. (2023). Prediction of Software Effort by Using Non-Linear Power Regression for Heterogeneous Projects Based on Use case Points and Lines of code. Procedia Computer Science, 218, 1601–1611. https://doi.org/10.1016/j.procs.2023.01.138
Khan, B. (2020). Software Cost Estimation: Algorithmic and Non-Algorithmic Approaches. http://ijdsaa.com/ index.php/welcome/article/view/73
Software Cost Estimation – A Comparative Study of COCOMO-II and Bailey-Basili Models. (2020). IEEE Conference Publication | IEEE Xplore. https://ieeexplore. ieee.org/document/919416
Srivastava, P., Srivastava, N., Agarwal, R., & Singh, P. K. (2022b). Estimation in Agile Software Development Using Artificial Intelligence. Lecture Notes in Networks and Systems, 83–93. https://doi.org/10.1007/978-981-16-8826-3_8
Sylla, A., Coudert, T., & Geneste, L. (2021). A Case-Based Reasoning (CBR) approach for Engineer-To-Order systems performance evaluation. IFAC-PapersOnLine, 54(1), 717–722. https://doi.org/10.1016/j.ifacol.2021.08.182
Rak, K., Car, Ž., & Lovrek, I. (2019). Effort estimation model for software development projects based on use case reuse. Journal of Software, 31(2), e2119. https://doi.org /10.1002/smr.2119
Ali, A., & Gravino, C. (2019b). A systematic literature review of software effort prediction using machine learning methods. Journal of Software, 31(10). https://doi.org/ 10.1002/smr.2211
Predicting Software Effort Estimation Using Machine Learning Techniques. (2018). IEEE Conference Publication | IEEE Xplore. https://ieeexplore.ieee.org/abstract/document /8486222
Toward Improving the Efficiency of Software Development Effort Estimation via Clustering Analysis. (2022). IEEE Journals & Magazine | IEEE Xplore.
https://ieeexplore.ieee.org/abstract/document/9803030
Sinha, R. R. S. R. R., & Gora, R. K. (2021). Software Effort Estimation Using Machine Learning Techniques. Lecture Notes in Networks and Systems, 65–79. https://doi.org/10.1007/978-981-15-5421-6_8
Mustafa, E. I., & Osman, R. (2020). SEERA: a software cost estimation dataset for constrained environments. Predictive Models in Software Engineering. https://doi.org/ 10.1145/3416508.3417119
Varshini, A. G. P., Kumari, K. M., D, J., & Soundariya, S. (2021). Comparative analysis of Machine learning and Deep learning algorithms for Software Effort Estimation. Journal of Physics, 1767(1), 012019. https://doi.org/ 10.1088/1742-6596/1767/1/012019
G, P. V. A., K, A. K., & Vijayakumar, V. (2021). Estimating Software Development Efforts Using a Random Forest-Based Stacked Ensemble Approach. Electronics, 10(10), 1195. https://doi.org/10.3390/electronics10101195