An Empirical Analysis on Software Development Efforts Estimation in Machine Learning Perspective

  • Zulfiqar Ali
  • Israr ur Rehman
    Department of Computer Sciences Islamia College University, Peshawer, Pakistan.
  • Zahoor Jaan
    Department of Computer Sciences Islamia College University, Peshawer, Pakistan.

Abstract

The prediction of effort estimation is a vital factor in the success of any software development project. The available of expert systems for the software effort estimation supports in minimization of effort and cost for every software project at same time leads to timely completion and proper resource management of the project. This article supports software project managers and decision makers by providing the state-of-the-art empirical analysis of effort estimation methods based on machine learning approaches. In this paper ?ve machine learning techniques; polynomial linear regression, ridge regression, decision trees, support vector regression and Multilayer Perceptron (MLP) are investigated for the purpose software development effort estimation by using bench mark publicly available data sets. The empirical performance of machine learning methods for software effort estimation is investigated on seven standard data sets i.e. Albretch, Desharnais, COCOMO81, NASA, Kemerer, China and Kitchenham. Furthermore, the performance of software effort estimation approaches are evaluated statistically applying the performance metrics i.e. MMRE, PRED (25), R2-score, MMRE, Pred(25). The empirical results reveal that the decision tree-based techniques on Deshnaris, COCOMO, China and kitchenham data sets produce more adequate results in terms of all three-performance metrics. On the Albretch and nasa datasets, the ridge regression method outperformed then other techniques except pred(25) metric where decision trees performed better.
  • Referencias
  • Cómo citar
  • Del mismo autor
  • Métricas
Albrecht, A. J. and Gaffney, J. E., 1983. Software function, source lines of code, and development effort prediction: a software science validation. IEEE transactions on software engineering, (6):639–648.

Benediktsson, O., Dalcher, D., Reed, K., and Woodman, M., 2003. COCOMO-based effort estimation for iterative and incremental software development. Software Quality Journal, 11(4):265–281.

Boehm, B., Clark, B., Horowitz, E., Westland, C., Madachy, R., and Selby, R., 1995. Cost models for future software life cycle processes: COCOMO 2.0. Annals of software engineering, 1(1):57–94.

Boehm, B. W., 1984. Software engineering economics. IEEE transactions on software engineering, (1), pp. 4-21.

Choudhary, K., 2010. GA based Optimization of Software Development effort estimation. IJCST, September.

de Barcelos Tronto, I. F., da Silva, J. D. S., and Sant’Anna, N., 2008. An investigation of artificial neural networks based prediction systems in software project management. Journal of Systems and Software, 81(3):356–367.

Desharnais, J.-M., 1989. Analyse statistique de la productivitie des projects informatique a partie de la technique des point des function. Masters Thesis University of Montreal.

Haykin, S., 1999. Neural networks a comprehensive introduction.

Huang, S.-J. and Chiu, N.-H., 2009. Applying fuzzy neural network to estimate software development effort. Applied Intelligence, 30(2):73–83.

Kaur, J., Singh, S., Kahlon, K. S., and Bassi, P., 2010. Neural network-a novel technique for software effort estimation. International Journal of Computer Theory and Engineering, 2(1):17.

Kitchenham, B., Pfleeger, S. L., McColl, B., and Eagan, S., 2002. An empirical study of maintenance and development estimation accuracy. Journal of systems and software, 64(1):57–77.

Kocaguneli, E., Misirli, A. T., Caglayan, B., and Bener, A., 2011. Experiences on developer participation and effort estimation. In Software Engineering and Advanced Applications (SEAA), 2011 37th EUROMICRO Conference on, pages 419–422. IEEE.

Kumar, P. S., Behera, H., Kumari, A., Nayak, J., and Naik, B., 2020. Advancement from neural networks to deep learning in software effort estimation: Perspective of two decades. Computer Science Review, 38:100288.

Leung, H. and Fan, Z., 2002. Software cost estimation. World Scientific.

Li, Q., Wang, Q., Yang, Y., and Li, M., 2008. Reducing biases in individual software effort estimations: a combining approach. In Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, pages 223–232. ACM.

Li, Y.-F., Xie, M., and Goh, T. N., 2009. A study of project selection and feature weighting for analogy based software cost estimation. Journal of Systems and Software, 82(2):241–252.

Maimon, O. and Rokach, L., 2005. Decomposition methodology for knowledge discovery and data mining. In Data mining and knowledge discovery handbook, pages 981–1003. Springer.

Menzies, T., Butcher, A., Cok, D., Marcus, A., Layman, L., Shull, F., Turhan, B., and Zimmermann, T., 2013. Local versus global lessons for defect prediction and effort estimation. IEEE Transactions on software engineering, 39(6):822–834.

Menzies, T., Port, D., Chen, Z., Hihn, J., and Stukes, S., 2005. Validation methods for calibrating software effort models. In Proceedings of the 27th international conference on Software engineering, pages 587–595. ACM.

Mittal, H. and Bhatia, P., 2007. A comparative study of conventional effort estimation and fuzzy effort estimation based on triangular fuzzy numbers. International Journal of Computer Science and Security, 1(4):36–47.

Musílek, P., Pedrycz, W., Succi, G., and Reformat, M., 2000. Software cost estimation with fuzzy models. ACM SIGAPP Applied Computing Review, 8(2):24–29.

Najm, A., Marzak, A., and Zakrani, A., 2020. Systematic Review Study of Decision Trees based Software Development Effort Estimation. Organization, 11(7).

Nassif, A. B., Azzeh, M., Idri, A., and Abran, A., 2019. Software development effort estimation using regression fuzzy models. Computational intelligence and neuroscience, 2019.

Noriega, L., 2005. Multilayer perceptron tutorial. School of Computing. Staffordshire University.

Ryder, J., 1995. Fuzzy COCOMO: Software cost estimation. Ph.D. thesis, PhD thesis, Binghamton University.

Sheta, A., 2006. Software effort estimation and stock market prediction using takagi-sugeno fuzzy models. In Fuzzy Systems, 2006 IEEE International Conference on, pages 171–178. IEEE.

Singh, C., Sharma, N., and Kumar, N., 2019. An Efficient Approach for Software Maintenance Effort Estimation Using Particle Swarm Optimization Technique. International Journal of Recent Technology and Engineering (IJRTE), 7(6C):1–6.

Smola, A. J. and Schölkopf, B., 2004. A tutorial on support vector regression. Statistics and computing, 14(3):199–222.

Tosun, A., Turhan, B., and Bener, A. B., 2009. Feature weighting heuristics for analogy-based effort estimation models. Expert Systems with Applications, 36(7):10325–10333.

Wagner, S. and Ruhe, M., 2018. A systematic review of productivity factors in software development. arXiv preprint arXiv:1801.06475.

Wen, J., Li, S., and Tang, L., 2009. Improve analogy-based software effort estimation using principal components analysis and correlation weighting. In Software Engineering Conference, 2009. APSEC’09. Asia-Pacific, pages 179–186. IEEE.
Ali, Z., Israr ur Rehman, & Jaan, Z. . (2021). An Empirical Analysis on Software Development Efforts Estimation in Machine Learning Perspective. ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal, 10(3), 227–240. https://doi.org/10.14201/ADCAIJ2021103227240

Downloads

Download data is not yet available.
+