An Intelligent Framework for Estimating Software Development Projects using Machine Learning

Main Article Content

Prateek Srivastava
Nidhi Srivastava
Rashi Agarwal
Pawan Singh

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

How to Cite
Srivastava, P. ., Srivastava, N. ., Agarwal, R. ., & Singh, P. . (2023). An Intelligent Framework for Estimating Software Development Projects using Machine Learning. International Journal on Recent and Innovation Trends in Computing and Communication, 11(5), 160–169. https://doi.org/10.17762/ijritcc.v11i5.6602
Section
Articles

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