Abstract
Software cost estimation is a process of planning, risk analysis, and decision making for project management in software development. Cost of project development encompasses a software project’s effort and development time. One popular model of software cost estimation is constructive cost model (COCOMO) model, which is a mathematical model proposed by Boehm, used for estimate the software effort and development time. The objective of this paper is to improve the basic COCOMO model’s coefficients for modern programming languages like Python, R, C++, etc. Many techniques were presented in the past for effort and time estimation using machine learning. But all these techniques were trained and tested for older programming languages. In order to improve the accuracy of COCOMO for modern programming languages, six Python projects have been considered and genetic algorithm (GA) is applied in these projects to define new values for basic COCOMO coefficients and the development time is calculated for Python projects. The time estimated using GA coefficients is compared with the original COCOMO and actual time. Using mean magnitude relative error, the error from the original COCOMO time is 54.49% and error from GA time is 21.23%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Change history
19 August 2020
In the original version of the book, the following belated correction has been incorporated: The affiliation of Dr. Neha Chaudhary and Amrita Sharma has been changed from “Department of Computer Science and Engineering, Manipal University, Jaipur, India” to “Department of Computer Science and Engineering, Manipal University Jaipur, Jaipur, India”. The erratum chapter and the book have been updated with the change.
References
Saeed, A., Butt, W.H., Kazmi, F., Arif, M.: Survey of software development effort estimation techniques. In: Proceedings of the 2018 7th International Conference on Software and Computer Applications, pp. 82–86. ACM (2018)
Pal, G., Kumar, M., Barala, K.: A review paper on COCOMO model. J. Comput. Sci. Eng. 4, 83–87 (2015)
Idri, A., Amazal, F.A., Abran, A.: Analogy-based software development effort estimation: a systematic mapping and review. Inf. Softw. Technol. 58, 206–230 (2015)
Pospieszny, P., Czarnacka-Chrobot, B., Kobylinski, A.: An effective approach for software project effort and duration estimation with machine learning algorithms. J. Syst. Softw. 137, 184–196 (2018)
Azzeh, M., Nassif, A.B.: A hybrid model for estimating software project effort from use case points. Appl. Soft Comput. J. 49, 981–989 (2016)
Nassif, A.B., Ho, D., Capretz, L.F.: Towards an early software estimation using log-linear regression and a multilayer perceptron model. J. Syst. Softw. 86(1), 144–160 (2013)
Kaur, J., Sindhu, R.: Parameter estimation of COCOMO II using Tabu search. Int. J. Comput. Sci. Inf. Technol. 5(3), 4463–4465 (2014)
Gupta, N., Sharma, K.: Optimizing intermediate COCOMO model using BAT algorithm. In: 2nd International Conference on Computing for Sustainable Global Development, pp. 1649–1653 (2003)
Boehm, B.W.: Software engineering economics. IEEE Trans. Softw. Eng. 10(1), 4–21 (1984)
Dhiman, A., Diwaker, C.: Optimization of COCOMO II effort estimation using genetic algorithm. Am. Int. J. Res. Sci. Technol. Eng. Math. 13(278), 208–212 (2013)
Manalif, E.: Fuzzy expert-COCOMO risk assessment and effort contingency model in software project management. Electronic thesis and dissertation repository, 1159, The University of Western Ontario, Apr 2013
Galinina, A., Burceva, O., Parshutin, S.: The optimization of COCOMO model coefficients using genetic algorithms. Inf. Technol. Manag. Sci. 15(1), 45–51 (2013)
Sheta, A.F.: Estimation of the COCOMO model parameters using genetic algorithms for NASA software projects. J. Comput. Sci. 2(2), 118–123 (2006)
Huang, X., Ho, D., Ren, J., Capretz, L.F.: Improving the COCOMO model using a neuro-fuzzy approach. Appl. Soft Comput. J. 7(1), 29–40 (2007)
Shirabad, J.S., Menzies, T.J.: The PROMISE Repository of Software Engineering Databases. School of Information Technology and Engineering, University of Ottawa, Canada. Retrieved from http://promise.site.uottawa.ca/SERepository (2005)
Do, C.: Python allows us to produce maintainable features in record times, with a minimum of developers. Retrieved from https://www.python.org/success-stories/
Martin, C.L., Pasquier, J.L., Yanez, C.M., Tornes, A.G.: Software development effort estimation using fuzzy logic: a case study. In: Sixth Mexican International Conference on Computer Science (ENC’05), pp. 113–120. IEEE (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Sharma, A., Chaudhary, N. (2020). Software Cost Estimation for Python Projects Using Genetic Algorithm. In: Bansal, J., Gupta, M., Sharma, H., Agarwal, B. (eds) Communication and Intelligent Systems. ICCIS 2019. Lecture Notes in Networks and Systems, vol 120. Springer, Singapore. https://doi.org/10.1007/978-981-15-3325-9_11
Download citation
DOI: https://doi.org/10.1007/978-981-15-3325-9_11
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-3324-2
Online ISBN: 978-981-15-3325-9
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)