Skip to main content
Log in

A PSO-based model to increase the accuracy of software development effort estimation

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Development effort is one of the most important metrics that must be estimated in order to design the plan of a project. The uncertainty and complexity of software projects make the process of effort estimation difficult and ambiguous. Analogy-based estimation (ABE) is the most common method in this area because it is quite straightforward and practical, relying on comparison between new projects and completed projects to estimate the development effort. Despite many advantages, ABE is unable to produce accurate estimates when the importance level of project features is not the same or the relationship among features is difficult to determine. In such situations, efficient feature weighting can be a solution to improve the performance of ABE. This paper proposes a hybrid estimation model based on a combination of a particle swarm optimization (PSO) algorithm and ABE to increase the accuracy of software development effort estimation. This combination leads to accurate identification of projects that are similar, based on optimizing the performance of the similarity function in ABE. A framework is presented in which the appropriate weights are allocated to project features so that the most accurate estimates are achieved. The suggested model is flexible enough to be used in different datasets including categorical and non-categorical project features. Three real data sets are employed to evaluate the proposed model, and the results are compared with other estimation models. The promising results show that a combination of PSO and ABE could significantly improve the performance of existing estimation models.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  • Abran, A. (1996). Function points analysis: An empirical study of its measurement processes. IEEE Transactions on Software Engineering, 22(12), 895–910.

    Article  Google Scholar 

  • Ahmed, M. A., Omolade Saliu, M., et al. (2005). Adaptive fuzzy logic-based framework for software development effort prediction. Information and Software Technology, 47(1), 31–48.

    Article  Google Scholar 

  • Alba, E., & Chicano, J. F. (2007). Software project management with GAs. Information Science, 177(11), 2380–2401.

    Article  Google Scholar 

  • Albrecht, A. J., & Gaffney, J. A. (1983). Software function, source lines of codes, and development effort prediction: a software science validation. IEEE Transactions on Software Engineering, 9(6), 639–648.

    Article  Google Scholar 

  • Angelis, L., & Stamelos, I. (2000). A simulation tool for efficient analogy based cost estimation. Empirical Software Engineering, 5(1), 35–68.

    Article  Google Scholar 

  • Antoniol, G., Penta, M. D., et al. (2005). Search-based techniques applied to optimization of project planning for a massive maintenance project. In Proceedings of the 21st IEEE international conference on software maintenance (pp. 240–249). IEEE Computer Society.

  • Attarzadeh, I., & Ow, S. H. (2011). Software development cost and time forecasting using a high performance artificial neural network model. Intelligent Computing and Information Science, 134, 18–26.

    Article  Google Scholar 

  • Azzeh, M., Neagu, D., et al. (2010). Fuzzy grey relational analysis for software effort estimation. Empirical Software Engineering, 15(1), 60–90.

    Article  Google Scholar 

  • Bai, Q. (2010). Analysis of particle swarm optimization algorithm. Computer and Information Science, 3(1), 180–184.

    Google Scholar 

  • Bakır, A., Turhan, B., et al. (2010). A new perspective on data homogeneity in software cost estimation: A study in embedded systems domain. Software Quality Journal, 18(1), 57–80.

    Article  Google Scholar 

  • Bakır, A., Turhan, B., et al. (2011). A comparative study for estimating software development effort intervals. Software Quality Journal, 19(3), 537–552.

    Article  Google Scholar 

  • Bhatnagar, R., Bhattacharjee, V., et al. (2010). Software development effort estimation neural network vs. regression modeling approach. International Journal of Engineering Science and Technology, 2(7), 2950–2956.

    Google Scholar 

  • Boehm, B. W. (1981). Software engineering economics. Englewood Cliffs, NJ: Prentice Hall.

    MATH  Google Scholar 

  • Boehm, B. (2000). Software cost estimation with COCOMO II. Englewood Cliffs, NJ: Prentice Hall.

    Google Scholar 

  • Boehm, B. W., & Valerdi, R. (2008). Achievements and challenges in cocomo-based software resource estimation. IEEE Software, 25(5), 74–83.

    Article  Google Scholar 

  • Breiman, L., Friedman, J. H., et al. (1984). Classification and regression trees. Pacific Grove, CA: Wadsworth.

    MATH  Google Scholar 

  • Briand, L. C., El-Emam, K., et al. (1999). An assessment and comparison of common cost software project estimation methods. In Proceedings of 21st international conference software engineering (pp. 313–322).

  • Chiu, N. H., & Huang, S. J. (2007). The adjusted analogy-based software effort estimation based on similarity distances. Journal of Systems and Software, 80, 628–640.

    Article  Google Scholar 

  • Clark, J. A., & Jacob, J. L. (2001). Protocols are programs too: The meta-heuristic search for security protocols. Information and Software Technology, 43(14), 891–904.

    Article  Google Scholar 

  • Dalkey, N., & Helmer, O. (1963). An experimental application of the Delphi method to the use of experts. Management Science, 9(3), 458–467.

    Article  Google Scholar 

  • Deng, J. L. (1982). Control problems of grey systems. Systems and Control Letters, 1(5), 288–294.

    Article  MATH  Google Scholar 

  • Ferrucci, F., Gravino, C., et al. (2010). Genetic programming for effort estimation: An analysis of the impact of different fitness functions. In Proceedings of the 2nd international symposium on search based software engineering (SSBSE’10), Benevento, Italy (pp. 89–98). IEEE.

  • Greer, D., & Ruhe, G. (2004). Software release planning: an evolutionary and iterative approach. Information and Software Technology, 46(4), 243–253.

    Article  Google Scholar 

  • Harman, M., & Jones, B. F. (2001). Search-based software engineering. Information and Software Technology, 43(14), 833–839.

    Article  Google Scholar 

  • Hayes, W. (1994). Statistics (5th ed.). Chicago: Harcourt Brace.

    Google Scholar 

  • Hsu, C.-J., & Huang, C.-Y. (2011). Comparison of weighted grey relational analysis for software effort estimation. Software Quality Journal, 19(1), 165–200.

    Article  Google Scholar 

  • Huang, S.-J., & Chiu, N.-H. (2006). Optimization of analogy weights by genetic algorithm for software effort estimation. Information and Software Technology, 48, 1034–1045.

    Article  Google Scholar 

  • Huang, S.-J., Chiu, N.-H., et al. (2008). Integration of the grey relational analysis with genetic algorithm for software effort estimation. European Journal of Operational Research, 188(3), 898–909.

    Article  MATH  Google Scholar 

  • ISBSG. (2011). International Software Benchmarking standard Group from www.isbsg.org.

  • Jianfeng, W., Shixian, L., et al. (2009). Improve analogy-based software effort estimation using principal components analysis and correlation weighting. In International conference on software engineering.

  • Jones, C. (2007). Estimating software costs: Bringing realism to estimating. New York: McGraw-Hill.

    Google Scholar 

  • Jorgensen, M., & Halkjelsvik, T. (2010). The effects of request formats on judgment-based effort estimation. Journal of Systems and Software, 83(1), 29–36.

    Article  Google Scholar 

  • Jorgensen, M., Indahl, U., et al. (2003). Software effort estimation by analogy and regression toward the mean. Journal of Systems and Software, 68, 253–262.

    Article  Google Scholar 

  • Kadoda, G., Cartwright, M., et al. (2000). Experiences using case-based reasoning to predict software project effort international conference on empirical assessment and evaluation in software engineering. KEELE University.

  • Kennedy, J., & Eberhart, R. (1995). Particle swarm optimization. In IEEE international conference on neural networks, Piscataway, NJ.

  • Kennedy, J., Eberhart, R. C., et al. (2001). Swarm intelligence. San Francisco: Morgan Kaufmann.

    Google Scholar 

  • Keung, J. W., Kitchenham, B. A., et al. (2008). Analogy-X: Providing statistical inference to analogy-based software cost estimation. IEEE Transactions on Software Engineering, 34(4), 471–484.

    Article  Google Scholar 

  • Khatibi Bardsiri, V., & Jawawi, D. N. A. (2011). Software cost estimation methods: A review. Journal of Emerging Trends in Computing and Information Sciences, 2(1), 21–29.

    Google Scholar 

  • Khatibi Bardsiri, V., & Jawawi, D. N. A. (2012). Software development effort estimation. Germany: Lambert Academic Publishing.

    Google Scholar 

  • Khatibi Bardsiri, V., Jawawi, D. N. A., et al. (2011). A new fuzzy clustering based method to increase the accuracy of software development effort estimation. World Applied Sciences Journal, 14(9), 1265–1275.

    Google Scholar 

  • Li, J., & Ruhe, G. (2008a). Analysis of attribute weighting heuristics for analogy-based software effort estimation method AQUA+. Empirical Software Engineering, 13(1), 63–96.

    Article  Google Scholar 

  • Li, J. Z., & Ruhe, G. (2008b). Software effort estimation by analogy using attribute selection based on rough set analysis. International Journal of Software Engineering and Knowledge Engineering, 18(1), 1–23.

    Article  Google Scholar 

  • Li, J., Ruhe, G., et al. (2007). A flexible method for software effort estimation by analogy. Empirical Software Engineering, 12(1), 65–106.

    Article  Google Scholar 

  • Li, Y. F., Xie, M., et al. (2007). A study of genetic algorithm for project selection for analogy based software cost estimation. In International conference on industrial engineering and engineering management, Singapore.

  • Li, Y. F., Xie, M., et al. (2008). A study of analogy based sampling for interval based cost estimation for software project management. In 4th IEEE international conference on management of innovation and technology, Singapore.

  • Li, Y. F., Xie, M., et al. (2009a). A study of project selection and feature weighting for analogy based software cost estimation. Journal of Systems and Software, 82(2), 241–252.

    Article  Google Scholar 

  • Li, Y. F., Xie, M., et al. (2009b). A study of the non-linear adjustment for analogy based software cost estimation. Empirical Software Engineering, 14, 603–643.

    Article  Google Scholar 

  • Lin, J.-C. (2010). Applying particle swarm optimization to estimate software effort by multiple factors software project clustering. In International computer symposium (ICS), Taiwan.

  • Matson, J. E., Barrett, B. E., et al. (1994). Software development cost estimation using function points. IEEE Transactions on Software Engineering, 20(4), 275–287.

    Article  Google Scholar 

  • McMinn, P. (2004). Search-based software test data generation: A survey: Research articles. Software Testing, Verification, and Reliability, 14(2), 105–156.

    Article  Google Scholar 

  • Mendes, E., Watson, I., et al. (2003). A comparative study of cost estimation models for web hypermedia applications. Empirical Software Engineering, 8, 163–196.

    Article  Google Scholar 

  • Mittas, N., & Angelis, L. (2010). LSEbA: Least squares regression and estimation by analogy in a semi-parametric model for software cost estimation. Empirical Software Engineering, 15(5), 523–555.

    Article  Google Scholar 

  • Molokken, K., & Jorgensen, M. (2005). Expert estimation of Web-development projects: Are software professionals in technical roles more optimistic than those in non-technical roles? Empirical Software Engineering, 10(1), 7–30.

    Article  Google Scholar 

  • Oliveira, A. L. I., Braga, P. L., et al. (2010). GA-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation. Information and Software Technology, 52(11), 1155–1166.

    Article  Google Scholar 

  • Pawlak, Z. (1991). Rough set: Theoretical aspects of reasoning about data. Dordrecht: Kluwer.

    MATH  Google Scholar 

  • Reddy, P. (2011). Particle swarm optimization in the fine-tuning of fuzzy software cost estimation models. International Journal of Software Engineering and Knowledge Engineering, 1(2), 12–23.

    Google Scholar 

  • Shepperd, M., & Schofield, C. (1997). Estimating software project effort using analogies. IEEE Transactions on Software Engineering, 23(11), 736–743.

    Article  Google Scholar 

  • Sheta, A. F., Ayesh, A., et al. (2010). Evaluating software cost estimation models using particle swarm optimisation and fuzzy logic for NASA projects; a comparative study. International Journal of Bio-Inspired Computation, 2(6), 365–373.

    Article  Google Scholar 

  • Shi, Y., & Eberhart, R. C. (1998). Parameter selection in particle swarm optimization. In The 7th annual conference on evolutionary programming.

  • Shi, Y., & Eberhart, R. C. (1999). Empirical study of particle swarm optimization. In IEEE congress on evolutionary computation.

  • Song, Q., & Shepperd, M. (2011). Predicting software project effort: A grey relational analysis based method. Expert Systems with Applications, 38(6), 7302–7316.

    Article  Google Scholar 

  • Stepanek, G. (2005). Software project secrets: Why software projects fail. Berkeley, CA: Apress.

    Google Scholar 

  • Trelea, I. C. (2003). The particle swarm optimization algorithm: Convergence analysis and parameter selection. Information Processing Letters, 85(6), 317–323.

    Article  MathSciNet  MATH  Google Scholar 

  • Walkerden, F., & Jeffery, R. (1997). Software cost estimation: A review of models, process, and practice. Advances in Computers, 44, 59–125.

    Article  Google Scholar 

  • Walkerden, F., & Jeffery, R. (1999). An empirical study of analogy-based software effort estimation. Empirical Software Engineering, 4(2), 135–158.

    Article  Google Scholar 

Download references

Acknowledgments

We would like to thank the International Software Benchmarking Standards Group (ISBSG) to approve for accessing the ISBSG data set for our research.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dayang Norhayati Abang Jawawi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Khatibi Bardsiri, V., Jawawi, D.N.A., Hashim, S.Z.M. et al. A PSO-based model to increase the accuracy of software development effort estimation. Software Qual J 21, 501–526 (2013). https://doi.org/10.1007/s11219-012-9183-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-012-9183-x

Keywords

Navigation