Soft Computing

, Volume 22, Issue 16, pp 5299–5310 | Cite as

Case-based reasoning with optimized weight derived by particle swarm optimization for software effort estimation

  • Dengsheng Wu
  • Jianping LiEmail author
  • Chunbing Bao


Software effort estimation (SEE) is the process of forecasting the effort required to develop a new software system, which is critical to the success of software project management and plays a significant role in software management activities. This study examines the potentials of the SEE method by integrating particle swarm optimization (PSO) with the case-based reasoning (CBR) method, where the PSO method is adopted to optimize the weights in weighted CBR. The experiments are implemented based on two datasets of software projects from the Maxwell and Desharnais datasets. The effectiveness of the proposed model is compared with other published results in terms of the performance measures, which are MMRE, Pred(0.25), and MdMRE. Experimental results show that the weighed CBR generates better software effort estimates than the unweighted CBR methods, and PSO-based weighted grey relational grade CBR achieves better performance and robustness in both datasets than other popular methods.


Software effort estimation Case-based reasoning Particle swarm optimization Weight optimization 



This study was funded by the National Natural Science Foundation of China (71201156, 71425002, 71571179) and the Youth Innovation Promotion Association of the Chinese Academy of Sciences (2013112, 2012137).

Compliance with ethical standards

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.


  1. Angelis L, Stamelos I (2000) A simulation tool for efficient analogy based cost estimation. Empir Softw Eng 5(1):35–68CrossRefGoogle Scholar
  2. Auer M, Trendowicz A, Graser B et al (2006) Optimal project feature weights in analogy-based cost estimation: improvement and limitations. IEEE Trans Softw Eng 32(2):83–92CrossRefGoogle Scholar
  3. Azzeh M, Neagu D, Cowling PI (2010) Fuzzy grey relational analysis for software effort estimation. Empir Softw Eng 15(1):60–90CrossRefGoogle Scholar
  4. Bardsiri VK, Jawawi DNA, Hashim SZM et al (2013) A PSO-based model to increase the accuracy of software development effort estimation. Softw Qual J 21(3):501–526CrossRefGoogle Scholar
  5. Boehm B, Abts C, Chulani S (2000) Software development cost estimation approaches: a survey. Ann Softw Eng 10(1–4):177–205CrossRefzbMATHGoogle Scholar
  6. Burgess CJ, Lefley M (2001) Can genetic programming improve software effort estimation? A comparative evaluation. Inf Softw Technol 43(14):863–873CrossRefGoogle Scholar
  7. Cerpa N, Verner JM (2009) Why did your project fail? Commun ACM 52(12):130–134CrossRefGoogle Scholar
  8. Chiu NH, Huang SJ (2007) The adjusted analogy-based software effort estimation based on similarity distances. J Syst Softw 80(4):628–640CrossRefGoogle Scholar
  9. Dejaeger K, Verbeke W, Martens D et al (2012) Data mining techniques for software effort estimation: a comparative study. IEEE Trans Softw Eng 38(2):375–397CrossRefGoogle Scholar
  10. El Emam K, Benlarbi S, Goel N et al (2001) Comparing case-based reasoning classifiers for predicting high risk software components. J Syst Softw 55(3):301–320CrossRefGoogle Scholar
  11. Georgopoulos VC, Stylios CD (2008) Complementary case-based reasoning and competitive fuzzy cognitive maps for advanced medical decisions. Soft Comput 12(2):191–199CrossRefGoogle Scholar
  12. Heemstra FJ (1992) Software cost estimation. Inf Softw Technol 34(10):627–639CrossRefGoogle Scholar
  13. Hsu C-J, Huang C-Y (2011) Comparison of weighted grey relational analysis for software effort estimation. Softw Qual J 19(1):165–200CrossRefGoogle Scholar
  14. Huang SJ, Chiu NH (2006) Optimization of analogy weights by genetic algorithm for software effort estimation. Inf Softw Technol 48(11):1034–1045CrossRefGoogle Scholar
  15. Huang XS, Ho D, Ren J et al (2006) A soft computing framework for software effort estimation. Soft Comput 10(2):170–177CrossRefGoogle Scholar
  16. Huang SJ, Chiu NH, Chen LW (2008) Integration of the grey relational analysis with genetic algorithm for software effort estimation. Eur J Oper Res 188(3):898–909CrossRefzbMATHGoogle Scholar
  17. Idri A, Amazal FA, Abran A (2015) Analogy-based software development effort estimation: a systematic mapping and review. Inf Softw Technol 58:206–230CrossRefGoogle Scholar
  18. Idri A, Abnane I, Abran A (2016) Missing data techniques in analogy-based software development effort estimation. J Syst Softw 117:595–611CrossRefGoogle Scholar
  19. Jeffery R, Ruhe M, Wieczorek I (2000) A comparative study of two software development cost modeling techniques using multi-organizational and company-specific data. Inf Softw Technol 42(14):1009–1016CrossRefGoogle Scholar
  20. Jorgensen M (2004) A review of studies on expert estimation of software development effort. J Syst Softw 70(1–2):37–60CrossRefGoogle Scholar
  21. Jorgensen M, Shepperd M (2007) A systematic review of software development cost estimation studies. IEEE Trans Softw Eng 33(1):33–53CrossRefGoogle Scholar
  22. Kaya I (2009) A genetic algorithm approach to determine the sample size for attribute control charts. Inf Sci 179(10):1552–1566CrossRefGoogle Scholar
  23. Kennedy J, Eberhart R (1995) Particle swarm optimization. In: IEEE international conference on neural networks proceedings, pp 1942–1948Google Scholar
  24. Keung J, Kocaguneli E, Menzies T (2013) Finding conclusion stability for selecting the best effort predictor in software effort estimation. Autom Softw Eng 20(4):543–567CrossRefGoogle Scholar
  25. Kolodner JL (1992) An introduction to case-based reasoning. Artif Intell Rev 6(1):3–34CrossRefGoogle Scholar
  26. Li YF, Xie M, Go TN (2009a) A study of mutual information based feature selection for case based reasoning in software cost estimation. Expert Syst Appl 36(3):5921–5931CrossRefGoogle Scholar
  27. Li YF, Xie M, Goh TN (2009b) A study of project selection and feature weighting for analogy based software cost estimation. J Syst Softw 82(2):241–252CrossRefGoogle Scholar
  28. Liang C, Gu D, Bichindaritz I et al (2012) Integrating gray system theory and logistic regression into case-based reasoning for safety assessment of thermal power plants. Expert Syst Appl 39(5):5154–5167CrossRefGoogle Scholar
  29. Liu Y, Zhu X, Zhang J et al (2004) Application of particle swarm optimization algorithm for weighted fuzzy rule-based system. In: 30th annual conference of IEEE, pp 2188–2191Google Scholar
  30. Mair C, Kadoda G, Lefley M et al (2000) An investigation of machine learning based prediction systems. J Syst Softw 53(1):23–29CrossRefGoogle Scholar
  31. Maxwell K (2002) Applied statistics for software managers. Prentice Hall, Upper Saddle RiverGoogle Scholar
  32. Medeiros J, Schirru R (2008) Identification of nuclear power plant transients using the particle swarm optimization algorithm. Ann Nucl Energy 35(4):576–582CrossRefGoogle Scholar
  33. Nanni L, Lumini A (2009) Particle swarm optimization for prototype reduction. Neurocomputing 72(4–6):1092–1097CrossRefGoogle Scholar
  34. Phannachitta P, Keung J, Monden A et al (2017) A stability assessment of solution adaptation techniques for analogy-based software effort estimation. Empir Softw Eng 22(1):474–504CrossRefGoogle Scholar
  35. Sehra SK, Brar YS, Kaur N et al (2017) Research patterns and trends in software effort estimation. Inf Softw Technol 91:1–21CrossRefGoogle Scholar
  36. Sentas P, Angelis L, Stamelos I et al (2005) Software productivity and effort prediction with ordinal regression. Inf Softw Technol 47(1):17–29CrossRefGoogle Scholar
  37. Sha DY, Hsu CY (2008) A new particle swarm optimization for the open shop scheduling problem. Comput Oper Res 35(10):3243–3261CrossRefzbMATHGoogle Scholar
  38. Shepperd M, Schofield C (1997) Estimating software project effort using analogies. IEEE Trans Softw Eng 23(11):736–743CrossRefGoogle Scholar
  39. Shi Y, Eberhart RC (1999) Empirical study of particle swarm optimization. In: Proceedings of the 1999 congress on evolutionary computation, p 1953Google Scholar
  40. Stamelos L, Angelis L, Morisio M et al (2003) Estimating the development cost of custom software. Inf Manage 40(8):729–741CrossRefGoogle Scholar
  41. Urbanek T, Prokopova Z, Silhavy R et al (2015) Prediction accuracy measurements as a fitness function for software effort estimation. SpringerPlus 4(1):1–17CrossRefGoogle Scholar
  42. Wallace L, Keil M, Rai A (2004) How software project risk affects project performance: an investigation of the dimensions of risk and an exploratory model. Decis Sci 35(2):289–321CrossRefGoogle Scholar
  43. Wang Y, Yang Y (2009) Particle swarm optimization with preference order ranking for multi-objective optimization. Inf Sci 179(12):1944–1959MathSciNetCrossRefGoogle Scholar
  44. Wang X, Yang J, Teng X et al (2007) Feature selection based on rough sets and particle swarm optimization. Pattern Recognit Lett 28(4):459–471CrossRefGoogle Scholar
  45. Wang JY, Chang TP, Chen JS (2009) An enhanced genetic algorithm for bi-objective pump scheduling in water supply. Expert Syst Appl 36(7):10249–10258CrossRefGoogle Scholar
  46. Zhang JR, Zhang J, Lok TM et al (2007) A hybrid particle swarm optimization-back-propagation algorithm for feedforward neural network training. Appl Math Comput 185(2):1026–1037zbMATHGoogle Scholar
  47. Zhu H, Zhao J, Xu Y et al (2016) Interval-valued belief rule inference methodology based on evidential reasoning-IRIMER. Int J Inf Technol Decis Mak 15(6):1345–1366CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2017

Authors and Affiliations

  1. 1.Institutes of Science and DevelopmentChinese Academy of SciencesBeijingPeople’s Republic of China
  2. 2.School of Public Policy and ManagementUniversity of Chinese Academy of SciencesBeijingPeople’s Republic of China

Personalised recommendations