Software Cost Estimation (SCE) is an essential requirement in producing software these days. Genuine accurate estimation requires cost-and-efforts factors in delivering software by utilizing algorithmic or Ensemble Learning Methods (ELMs). Effort is estimated in terms of individual months and length. Overestimation as well as underestimation of efforts can adversely affect software development. Hence, it is the responsibility of software development managers to estimate the cost using the best possible techniques. The predominant cost for any product is the expense of figuring effort. Subsequently, effort estimation is exceptionally pivotal and there is a constant need to improve its accuracy. Fortunately, several efforts estimation models are available; however, it is difficult to determine which model is more accurate on what dataset. Hence, we use ensemble learning bagging with base learner Linear regression, SMOReg, MLP, random forest, REPTree, and M5Rule. We also implemented the feature selection algorithm to examine the effect of feature selection algorithm BestFit and Genetic Algorithm. The dataset is based on 499 projects known as China. The results show that the Mean Magnitude Relative error of Bagging M5 rule with Genetic Algorithm as Feature Selection is 10%, which makes it better than other algorithms.
References
[1]
Gilb, T. (1976) Software Metrics. Chartwell-Bratt, Learning.
Putnam, L.H. (1978) A General Empirical Solution to the Macro Software Sizing and Estimating Problem. IEEE Transactions on Software Engineering, 4, 345-361. https://doi.org/10.1109/TSE.1978.231521
[4]
McCabe, T.J. (1976) A Complexity Measure. IEEE Transactions on Software Engineering, SE-2, 308-320. https://doi.org/10.1109/TSE.1976.233837
[5]
Basili, V.R. and Perricone, B.T. (1984) Software Errors and Complexity: An Empirical Investigation. Communications of the ACM, 27, 42-52. https://doi.org/10.1145/69605.2085
[6]
Fei, Y.Y., Zhi, Z. and Chao, Z.S. (2004) Improvements about Halstead Model in Software Science. Journal of Computer Applications, 130-132.
[7]
Chidamber, S.R. and Kemerer, C.F. (1994) Metrics Suite for Object-Oriented Design. IEEE Transactions on Software Engineering, 20, 476-493. https://doi.org/10.1109/32.295895
[8]
Smith, R.K., Hale, J.E. and Parrish, A.S. (2001) An Empirical Study Using Task Assignment Patterns to Improve the Accuracy of Software Effort Estimation. IEEE Transactions on Software Engineering, 27, 264-271. https://doi.org/10.1109/32.910861
[9]
Tosun, A., Turhan, B. and Bener, A.B. (2009) Feature Weighting Heuristics for Analogy-Based Effort Estimation Models. Expert Systems with Applications, 36, 10325-10333. https://doi.org/10.1016/j.eswa.2009.01.079
[10]
Pahariya, J.S., Ravi, V., Carr, M. and Vasu, M. (2010) Computational Intelligence Hybrids Applied to Software Cost Estimation. International Journal of Computer Information Systems and Industrial Management Applications, 2, 104-112.
[11]
Idri, A., Abran, A. and Mbarki, S. (2004) Validating and Understanding Software Cost Estimation Models Based on Neural Networks, Software Process and Product Measurement. International Conference on Information and Communication Technologies: From Theory to Applications, Damascus, Syria, 23 April 2004, 1-6.
[12]
Gharehchopogh, F.S. (2011) Neural Network Application in Software Cost Estimation. International Symposium on Innovations in Intelligent Systems and Applications (INISTA 2011), Istanbul, 15-18 June 2011, 69-73. https://doi.org/10.1109/INISTA.2011.5946160
[13]
Idri, A., Zakrani, A. and Zahi, A. (2010) Design of Radial Basis Function Neural Networks for Software Effort Estimation. IJCSI International Journal of Computer Science Issues, 7, 11-17.
[14]
Attarzadeh, I. and Ow, I.S.H. (2010) Proposing a New Software Cost Estimation Model Based on Artificial Neural Networks. 2nd International Conference on Computer Engineering and Technology, Chengdu, 16-18 April 2010, 487-491. https://doi.org/10.1109/ICCET.2010.5485840
[15]
Weckman, G.R., Paschold, H.W., Dowler, J.D., Whiting, H.S. and Young, W.A. (2010) Using Neural Networks with Limited Data to Estimate Manufacturing Cost. Journal of Industrial and Systems Engineering, 3, 257-274.
[16]
Gunaydin, H.M. and Dogan, S.Z. (2004) A Neural Network Approach for Early Cost Estimation of Structural Systems of Buildings. International Journal of Project Management, 22, 595-602. https://doi.org/10.1016/j.ijproman.2004.04.002
[17]
Idri, A., Khoshgoftaar, T.M. and Abran, A. (2002) Can Neural Networks be Easily Interpreted in Software Cost Estimation. 2002 Word Congress on Computational Intelligence, Honolulu, 12-17 May 2002, 1-8.
[18]
Andreou, A.S. and Papatheocharous, E. (2008) Software Cost Estimation Using Fuzzy Decision Trees. 23rd IEEE/ACM International Conference on Automated Software Engineering, L’Aquila, 15-16 September 2008, 371-374. https://doi.org/10.1109/ASE.2008.51
[19]
Tadayon, N. (2005) Neural Network Approach for Software Cost Estimation. Proceedings of the International Conference on Information Technology: Coding and Computing, Las Vegas, 4-6 April 2005, 1-4. https://doi.org/10.1109/ITCC.2005.210
[20]
Yu, W. and Lee, Y. (2004) Mining of Conceptual Cost Estimation Knowledge with a Neuro Fuzzy System. Proceedings of ISARC 2004, Session SA 03-05, Jeju, 21-25 September 2004, 118-124. https://doi.org/10.22260/ISARC2004/0023
[21]
Khan, I.R., Alam, A. and Anwar, H. (2009) Efficient Software Cost Estimation Using Neuro-Fuzzy Technique. National Conference on Recent Developments in Computing and Its Applications, Delhi, 376-381.
[22]
Cheng, M.Y., Tsai, H.C. and Sudjono, E. (2009) Evolutionary Fuzzy Hybrid Neural Network for Conceptual Cost Estimates in Construction Projects. Information and Computational Technology, 26th International Symposium on Automation and Robotics in Construction (ISARC 2009), Austin, 24-27 June 2009, 512-519. https://doi.org/10.22260/ISARC2009/0040
[23]
Huang, S.J., Lin, C.Y. and Chiu, N.H. (2006) Fuzzy Decision Tree Approach for Embedding Risk Assessment Information in to Software Cost Estimation Model. Journal of Information Science and Engineering, No. 22, 297-313.
[24]
Attarzadeh, I. and Hockow, S. (2010) Improving the Accuracy of Software Cost Estimation Model Based on a New Fuzzy Logic Model. World Applied Sciences Journal, 8, 177-184.
[25]
Huang, X., Ho, D., Ren, J. and Capretz, L.F. (2007) Improving the COCOMO Model using a Neuro-Fuzzy Approach. Applied Soft Computing, No. 7, 29-40. https://doi.org/10.1016/j.asoc.2005.06.007
[26]
Reddy, C.S. and Raju, K. (2009) An Improved Fuzzy Approach for COCOMO’s Effort Estimation Using Gaussian Membership Function. Journal of Software, 4, 452-459. https://doi.org/10.4304/jsw.4.5.452-459
[27]
Gallego, J.J.C., Rodriguez, D., Sicilia, M.A., Rubio, M.G. and Crespo, A.G. (2007) Software Project Effort Estimation Based on Multiple Parametric Models Generated through Data Clustering. Journal of Computer Science and Technology, 22, 371-378. https://doi.org/10.1007/s11390-007-9043-5
[28]
Boetticher, G., Menzies, T. and Ostrand, T. (2007) PROMISE Repository of Empirical Software Engineering Data. West Virginia University, Department of Computer Science, Morgantown. http://promise.site.uottawa.ca/SERepository/
[29]
Weka. http://www.cs.waikato.ac.nz/ml/weka
[30]
Kultur, Y., Turhan, B. and Bener, A.B. (2008) ENNA: Software Effort Estimation Using Ensemble of Neural Networks with Associative Memory. Proceedings of the 16th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, November 2008, 330-338. https://doi.org/10.1145/1453101.1453148
[31]
Shepperd, M. and MacDonell, S. (2012) Evaluating Prediction Systems in Software Project Estimation. Information and Software Technology, 54, 820-827. https://doi.org/10.1016/j.infsof.2011.12.008
[32]
Malhotra, R. and Jain, A. (2011) Software Effort Prediction Using Statistical and Machine Learning Methods. International Journal of Advanced Computer Science and Applications, 2, 145-152. https://doi.org/10.14569/IJACSA.2011.020122
[33]
Chiu, N.H. and Huang, S.J. (2007) The Adjusted Analogy-Based Software Effort Estimation Based on Similarity Distances. The Journal of Systems and Software, 80, 628-640. https://doi.org/10.1016/j.jss.2006.06.006
[34]
Ahmed, B.M. (2018) Predicting Software Effort Estimation Using Machine Learning Techniques. 2018 8th International Conference on Computer Science and Information Technology, Amman, 11-12 July 2018, 249-256. https://doi.org/10.1109/CSIT.2018.8486222
[35]
Zubair, K.M. (2020) Particle Swarm Optimisation Based Feature Selection for Software Effort Prediction Using Supervised Machine Learning and Ensemble Methods: A Comparative Study. Invertis Journal of Science & Technology, 13, 33-50. https://doi.org/10.5958/2454-762X.2020.00004.9
[36]
Leung, H. and Fan, Z. (2002) Software Cost Estimation. In: Handbook of Software Engineering and Knowledge Engineering, World Scientific Publishing, Singapore, 307-324.