Estimation Model for Enhanced Predictive Object Point Metric in OO Software Size Estimation Using Deep Learning
The Software industry’s rapid growth contributes to the need for new technologies. PRICE software system uses Predictive Object Point (POP) as a size measure to estimate Effort and cost. A refined POP metric value for object-oriented software written in Java can be calculated using the Automated POP Analysis tool. This research used 25 open-source Java projects. The refined POP metric improves the drawbacks of the PRICE system and gives a more accurate size measure of software. This paper uses refined POP metrics with curve-fitting neural networks and multi-layer perceptron neural network- based deep learning to estimate the software development effort. Results show that this approach gives an effort estimate closer to the actual Effort obtained through Constructive Cost Estimation Model (COCOMO) estimation models and thus validates refined POP as a better size measure of object-oriented software than POP. Therefore we consider the MLP approach to help construct the metric for the scale of the Object-Oriented (OO) model system.
[1] Abdallah M. and Alrifaee M., “A Heuristic Tool for Measuring Software Quality Using Program Language Standards,” The International Arab Journal of Information Technology, vol. 19, no. 3, pp. 314-322, 2022.
[2] Aggarwal K., Singh Y., Kaur A., and Malhotra R., “Software Reuse Metrics for Object-Oriented Systems,” in Proceedings of the 3rd ACIS Int'l Conference on Software Engineering Research, Estimation Model for Enhanced Predictive Object Point Metric in OO Software Size ... 301 Management and Applications, Mount Pleasant, pp. 48-54, 2005.
[3] Akinsanya B., Araújo L., Charikova M., Gimaeva S., Grichshenko A., Khan A., Mazzara M., Okonicha N., and Shilintsev D., “Machine Learning and Value Generation in Software Development: a Survey,” in Proceedings of the International Conference on Tools and Methods for Program Analysis, Tbilisi, pp. 44-55, 2020.
[4] Albrecht A., Measuring Application Development Productivity, in Proceedings of the Joint Share, Guide, and IBM Application Development Symposium, Monterey pp. 14-17, 1979.
[5] Albrecht A. and Gaffney J., “Software Function, Source Lines of Code, and Development Effort Prediction: a Software Science Validation,” IEEE Transactions on Software Engineering, vol. SE-9, no. 6, pp. 639-648, 1983.
[6] Chidamber S. and Kemerer C., “Towards a Metrics Suite for Object-Oriented Design,” in Proceedings on Object-Oriented Programming Systems, Languages, and Applications, United States, pp. 197-211, 1991.
[7] Chidamber S. and Kemerer C., “A Metrics Suite for Object-Oriented Design,” IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476- 493, 1994.
[8] Chidamber S., Darcy D., and Kemerer, C., “Managerial Use of Metrics for Object-Oriented Software: an Exploratory Analysis,” IEEE Transactions on Software Engineering, vol. 24, no. 8, pp. 629-639, 1998.
[9] De Barcelos Tronto I., Da Silva J., and Sant'Anna N., “Comparison of Artificial Neural Network and Regression Models in Software Effort Estimation,” in Proceedings of the International Joint Conference on Neural Networks, Orlando, pp. 771-776, 2007.
[10] Fenton N. and Bieman J., Software Metrics: A Rigorous and Practical Approach, CRC Press, 2014.
[11] Finschi L., “An Implementation of the Levenberg- Marquardt Algorithm,” Eidgenössische Technische Hochschule Zürich, 1996.
[12] Ghatasheh N., Faris H., Aljarah I., and Al-Sayyed M., “Optimising Software Effort Estimation Models Using Firefly Algorithm” arXiv preprint arXiv:1903.02079, 2019.
[13] Haykin S., Neural Networks, A Comprehensive Foundation, Prentice-Hall, 1999.
[14] Heiat A., “Comparison of Artificial Neural Network and Regression Models for Estimating Software Development Effort,” Information and Software Technology, no. 44, vol. 15, pp. 911-922, 2002.
[15] Haug M., Olsen E., and Bergman L., Software Process Improvement: Metrics, Measurement, and Process Modelling: Software Best Practice 4, Springer Science and Business Media, 2011.
[16] Idri A., Khoshgoftaar T., and Abran A., “Can Neural Networks Be Easily Interpreted in Software Cost Estimation?” in Proceedings of the IEEE World Congress on Computational Intelligence, Honolulu, pp. 1162-1167, 2002.
[17] Jain S., Yadav V., and Singh R., “Assessment of Predictive Object Points (POP) Values for Java Projects,” International Journal of Advanced Computer Research, vol. 3, no. 4, pp. 298-300, 2013.
[18] Jørgensen M., “A Review of Studies on Expert Estimation of Software Development Effort,” Journal of Systems and Software, vol. 70, no. 1-2, pp. 37-60, 2004.
[19] Kanmani S., Kathiravan J., Kumar S., and Shanmugam M., “Neural Network-Based Effort Estimation Using Class Points for OO Systems,” in Proceedings of the International Conference on Computing: Theory and Applications, Kolkata, pp. 261-266, 2007.
[20] Judge T. and Williams A., “Oo Estimation-An Investigation of the Predictive Object Points (POP) Sizing Metric in an Industrial Setting,” Parallax Solutions Ltd, Coventry, UK, 2001.
[21] Khalid A., Latif M., and Adnan M., “An Approach to Estimate the Duration of Software Project through Machine Learning Techniques,” Gomal University Journal of Research, vol. 33, no. 1, pp. 47-59, 2017.
[22] Khoshgoftaar T., Allen E., Hudepohl J., and Aud S., “Application of Neural Networks to Software Quality Modelling of a Very Large Telecommunications System,” IEEE Transactions on Neural Networks, vol. 8, no. 4, pp. 902-909, 1997.
[23] Littlefair T., CCCC Metric Tool, Available from: http://www.fste.ac.cowan.edu.au/~tlittlef/, Last Visited, 2022.
[24] Minkiewicz A., “Measuring Object-Oriented Software with Predictive Object Points,” PRICE Systems, LLC, pp. 609-866, 1997.
[25] Minkiewicz A. and Fad B, and Lockheed Martin Corp, “Parametric Software Forecasting System and Method,” U.S. Patent 6,073,107, 2000.
[26] Nassif A., Azzeh M., Idri A., and Abran A., “Software Development Effort Estimation Using Regression Fuzzy Models,” Computational Intelligence and Neuroscience, vol. 2019, 2019.
[27] Regolin E., de Souza G., Pozo A., and Vergilio S., “Exploring Machine Learning Techniques for Software Size Estimation,” in Proceedings of the 23rd International Conference of the Chilean Computer Science Society, Chillan, pp. 130-136, 2003.
[28] Singh A., Bhatia R., and Singhrova A., “Taxonomy of Machine Learning Algorithms in 302 The International Arab Journal of Information Technology, Vol. 20, No. 3, May 2023 Software Fault Prediction Using Object-Oriented Metrics,” Procedia Computer Science, vol. 132, pp. 993-1001, 2018.
[29] Wittig G. and Finnic G., “Using Artificial Neural Networks and Function Points to Estimate 4GL Software Development Effort,” Australasian Journal of Information Systems, vol. 1, no. 2, 1994.
[30] Verner J. and Tate G., “A Software Size Model,” IEEE Transactions on Software Engineering, vol. 18, no. 4, pp. 265-278, 1992.
[31] Yadav V., Yadav V., and Singh R., “Introducing New OO Metric for Simplification in Predictive Object Points (POP) Estimation Process in OO Environment,” International Journal of Engineering Sciences and Research Technology, vol. 5, no. 1, pp. 716-723, 2016.
[32] Zhang D. and Tsai J., “Machine Learning and Software Engineering,” Software Quality Journal, vol. 11, no. 2, pp. 87-119, 2003.