A Machine Learning Based Model for Software Cost Estimation

  • Muhammad Raza Tayyab
  • Muhammad UsmanEmail author
  • Waseem Ahmad
Conference paper
Part of the Lecture Notes in Networks and Systems book series (LNNS, volume 16)


In software development, project professionals usually rely upon their preceding experience as a way to estimate the quantity of men/hours for cost estimation. Software products are acceptable by clients as long as they are developed within the budget. Therefore, accurate prediction of software development cost is an extremely important phase before starting the actual development phase. Practitioners, who are about accurate prediction, admit their own inability of estimating development cost. In recent literature, a number of Machine Learning (ML) based techniques have been proposed for accurate prediction of software costs. The main objective of this paper is review, analyse, and critically evaluate ML techniques utilized for cost estimation and identify the limitations in the existing techniques. It has been identified that ML-based techniques have been successfully employed for accurate cost estimation but a number of issues remained unresolved in the prior literature. Firstly, the employed techniques have been tested with traditional benchmark datasets which reflect the use of conventional development methodologies, that is, Waterfall and the evidence provided in research could not be used for projects which are developed using new development methodologies such as Incremental or Agile as such newly developed project data is much richer in information as compared to the traditional project related data. Secondly, previously proposed models have not been evaluated thoroughly using advanced evaluation measures. There is a strong need of a revised ML-based model for accurate cost estimation which not only utilizes the rich information present in the projects developed using new methodologies but also provides wider applicability. We propose a new model which exploits multilayer perceptron technique with effective feature selection methods for improving software cost estimation. The proposed model has been validated using multiple real-world datasets.


Multilayer perceptron Software cost estimation Machine learning 


  1. 1.
    Lee, S., Titchkosky, L., Bowen, S.: Software Cost Estimation (W02), (2015). Accessed 02 Dec 2015
  2. 2.
    Huang, J., Li, Y., Xie, M.: An empirical analysis of data preprocessing for machine learning-based software cost estimation. Inf. Softw. Technol. 67, 108–127 (2015)CrossRefGoogle Scholar
  3. 3.
    Araojo, R., Soares, S., Oliveira, A.: Hybrid morphological methodology for software development cost estimation. Expert Syst. Appl. 39(6), 6129–6139 (2012)CrossRefGoogle Scholar
  4. 4.
    Araojo, R., Oliveira, A., Soares, S., Meira, S.: An evolutionary morphological approach for software development cost estimation. Neural Networks 32, 285–291 (2012)CrossRefzbMATHGoogle Scholar
  5. 5.
    Li, Y., Xie, M., Goh, T.: A study of project selection and feature weighting for analogy based software cost estimation. J. Syst. Softw. 82(2), 241–252 (2009)CrossRefGoogle Scholar
  6. 6.
    Li, Y., Xie, M., Goh, T.: A study of mutual information based feature selection for case based reasoning in software cost estimation’. Expert Syst. Appl. 36(3), 5921–5931 (2009)CrossRefGoogle Scholar
  7. 7.
    Oliveira, A., Braga, P., Lima, R., Cornellio, M.: GA-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation. Inf. Softw. Technol. 52(11), 1155–1166 (2010)CrossRefGoogle Scholar
  8. 8.
    Attarzadeh, I., Ow, S.: Proposing a new software cost estimation model based on artificial neural networks. In: Conference on Computer Engineering and Technology, pp. 487–491 (2010)Google Scholar
  9. 9.
    Lopez-Marten, C., Abran, A.: Neural networks for predicting the duration of new software projects. J. Syst. Softw. 101, 127–135 (2015)CrossRefGoogle Scholar
  10. 10.
    Vinay Kumar, K., Ravi, V., Carr, M., Raj Kiran, N.: Software development cost estimation using wavelet neural networks. J. Syst. Softw. 81(11), 1853–1867 (2008)CrossRefGoogle Scholar
  11. 11.
    Aroba, J., Cuadrado-Gallego, J., Sicilia, M., Ramos, I., GarcÃ-a-Barriocanal, E.: Segmented software cost estimation models based on fuzzy clustering. J. Syst. Softw. 81(11), 1944–1950 (2008)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Muhammad Raza Tayyab
    • 1
  • Muhammad Usman
    • 1
    Email author
  • Waseem Ahmad
    • 2
  1. 1.Department of ComputingShaheed Zulfikar Ali Bhutto Institute of Science and TechnologyIslamabadPakistan
  2. 2.Department of ComputingWaiariki Institute of TechnologyRotoruaNew Zealand

Personalised recommendations