Abstract
Academia and practitioners confirm that software project effort prediction is crucial for an accurate software project management. However, software development effort estimation is uncertain by nature. Literature has developed methods to improve estimation correctness, using artificial intelligence techniques in many cases. Following this path, this paper presents SEffEst, a framework based on fuzzy logic and neural networks designed to increase effort estimation accuracy on software development projects. Trained using ISBSG data, SEffEst presents remarkable results in terms of prediction accuracy.
Article PDF
Avoid common mistakes on your manuscript.
References
K.K. Aggarwal, Y. Singh, P. Chandra, and M. Puri. Bayesian regularization in a neural network model to estimate lines of code using function points. Journal of Computer Science, 1(4):505–509, 2005.
M. A. Ahmeda, M. O. Saliub, and J. AlGhamdia. Adaptive fuzzy logic-based framework for software development effort prediction. Information and Software Technology, 47(1):31–48, 2005.
H. Akaike. A new look at the statistical model identification. Automatic Control, IEEE Transactions on, 19(6):716–723, 1974.
H. Al-Sakran. Software cost estimation model based on integration of multi-agent and case-based reasoning. Journal of Computer Science, 2(3):276–282, 2006.
M. Azzeh, D. Neagu, and P.I. Cowling. Fuzzy grey relational analysis for software effort estimation. Empirical Software Engineering, 15(1):60–90, 2010.
R. Bathla, S. Singh, M. Vishav, and R. Gupta. Innovative scenario in software development effort estimation based on a new fuzzy logic model. International Journal of Information Technology and Knowledge Management, 2(2):361–364, 2010.
A. Baumeister and M. Ilg. Activity driven budgeting of software projects. International. Journal of Human Capital and Information Technology Professionals, 1(4):14–30, 2010.
E.M.L. Beale and R.J.A. Little. Missing values in multivariate analysis. Journal of the Royal Statistical Society. Series B (Methodological), 37(1):129–145, 1975.
C. Bisagni, L. Lanzi, and S. Ricci. Optimization of helicopter subfloor components under crashworthiness requirements using neural networks. Journal of Aircraft, 39(2):296–304, 2002.
C. M. Bishop. Neural Networks for Pattern Recognition. Oxford University Press, USA, 1996.
C.M. Bishop. Training with noise is equivalent to tikhonov regularization. Neural Computation, 7:108, 1995.
B. W. Boehm, C. Abts, A. W. Brown, S. Chulani, B. K. Clark, E. Horowitz, R. Madachy, D. J. Reifer, and B. Steece. Software Cost Estimation with COCOMO II. Prentice-Hall, Upper Saddle River, NJ, 2000.
B.W. Boehm. Software Engineering Economics. Prentice-Hall, Englewood Cliffs, NJ, 1981.
N. Boonyanunta and P. Zeephongsekul. Predicting the relationship between the size of training sample and the predictive power of classifiers. Knowledge-Based Intelligent Information and Engineering Systems, 3215:529–535, 2004.
L. F. Capretz and V. Marza. Improving effort estimation by voting software estimation models. Advances in Software Engineering, on-line:doi:10.1155/2009/829725, 2009.
N.H. Chiu and S.J. Huang. The adjusted analogy-based software effort estimation based on similarity distances. Journal of Systems and Software, 80(4):628–640, 2007.
S.-B. Cho and K. Shimohara. Evolutionary learning of modular neural networks with genetic programming. Applied Intelligence, 9:191–200, 1998.
P. Crowther and R. Cox. Accuracy of neural network classifiers as a property of the size of the data set. Knowledge-Based Intelligent Information and Engineering Systems, 4253:1143–1149, 2006.
I. F. de Barcelos Tronto, J. D. Simoes da Silva, and N. Sant’Anna. An investigation of artificial neural networks based prediction systems in software project management. The Journal of Systems and Software, 81(3):356–367, 2008.
T.G. Dietterich. Approximate statistical tests for comparing supervised classification learning algorithms. Neural Computation, 10:1895–1923, 1998.
N. Durand, J.-M. Alliot, and F. Medioni. Neural nets trained by genetic algorithms for collision avoidance. Applied Intelligence, 13:205–213, 2000.
G. R. Finnie, G. E. Wittig, and J. M. Desharnais. A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models. Journal of Systems and Software, 39(3):281–289, 1997.
G. Foody, M.B. McCulloch, and W.B. Yates. The effect of training set size and composition on artificial neural network classification. International Journal of Remote Sensing, 16(9):1707–1723, 1995.
A. Garcia, I. Gonzalez, R. Colomo-Palacios, J. L. Lopez, and B. Ruiz. Methodology for software development estimation optimization based on neural networks. Latin America Transactions, IEEE (Revista IEEE America Latina), 9(3):384–398, 2011.
A. Garcia-Crespo, B. Ruiz-Mezcua, D. Fernandez, and R. Zaera. Prediction of the response under impact of steel armours using a multilayer perceptron. Neural Computing & Applications, 16(2):147–154, 2006.
I. Gonzalez-Carrasco, A. Garcia-Crespo, B. Ruiz-Mezcua, and J. Lopez-Cuadrado. Dealing with limited data in ballistic impact scenarios: an empirical comparison of different neural network approaches. Applied Intelligence, 35(1):89–109, 2011.
I. Gonzalez-Carrasco, A. Garcia-Crespo, B. Ruiz-Mezcua, and J.L. Lopez-Cuadrado. An optimization methodology for machine learning strategies and regression problems in ballistic impact scenarios. Applied Intelligence, 36(2):424–441, 2011.
S. Haykin. Neural Networks: A Comprehensive Foundation. Prentice Hall PTR, 1994.
A. Heiat. Comparison of artificial neural network and regression models for estimating software development effort. Information and Software Technology, 44(15):911–922, 2002.
C.E. Henderson, W.D. Potter, R.W. McClendon, and G. Hoogenboom. Predicting aflatoxin contamination in peanuts: A genetic algorithm/neural network approach. Applied Intelligence, 12:183–192, 2000.
P. R. Hill. Practical project estimation : a toolkit for estimating software development effort and duration. International Software Benchmarking Standards Group, 2001.
L. Holmstrom and P. Koistinen. Using additive noise in back-propagation training. Neural Networks, IEEE Transactions on, 3(1):24–38, 1992.
K. Hornik, M. Stinchcombe, and H. White. Multilayer feedforward networks are universal approximators. Neural Networks, 2(5):359–366, 1989.
S.-J. Huang and N.-H. Chiu. Applying fuzzy neural network to estimate software development effort. Applied Intelligence, 30(2):73–83, 2009. 10.1007/s10489-007-0097-4.
S.J. Huang and N.H. Chiu. Optimization of analogy weights by genetic algorithm for software effort estimation. Information and Software Technology, 48(11):1034–1045, 2006.
S.J. Huang, N.H. Chiu, and L.W. Chen. Integration of the grey relational analysis with genetic algorithm for software effort estimation. European Journal of Operational Research, 188(3):898–909, 2008.
X. Huang, L.F. Capretz, J. Ren, and D. Ho. A neuro-fuzzy model for software cost estimation. In Quality Software, 2003. Proceedings. Third International Conference on, pages 126–133, 2003.
X. Huang, D. Ho, J. Ren, and F. Capretz. A soft computing framework for software effort estimation. Soft Comput, 10(2):170–177, 2006.
X. Huang, D. Ho, J. Ren, and L.F. Capretz. Improving the cocomo model using a neuro-fuzzy approach. Applied Soft Computing, 47(1):31–48, 2007.
M. Jordan. Serial order: A parallel distributed processing approach. Technical report, University of California, San Diego, 1986.
M. Jørgensen. A review of studies on expert estimation of software development effort. The Journal of Systems and Software, 1/2:37–60, 2004.
M. Jørgensen and T. Halkjelsvik. The effects of request formats on judgment-based effort estimation. Journal of Systems and Software, 83(1):29–36, 2010.
M. Jørgensen and D.I. Sjoberg. The impact of customer expectation on software development effort estimates. International Journal of Project Management, 24(4):317–325, 2004.
S. Kad and V. Chopra. Fuzzy logic based framework for software development effort estimation. Research Cell: An International Journal of Engineering Sciences, 1:330–342, 2011.
I. Kim, S. Shin, Y. Choi, N. M. Thang, E. R. Ramos, and W.-J. Hwang. Development of a project selection method on information system using anp and fuzzy logic. World Academy of Science, Engineering and Technology, 53:411–416, 2009.
J.N.V.R.S. Kumar, T.G. Rao, Y.N. Babu, S. Chaitanya, and K. Subrahmanyam. A novel method for software effort estimation using inverse regression as firing interval in fuzzy logic. In Electronics Computer Technology (ICECT), 2011 3rd International Conference on, volume 4, pages 177–182, 2011.
K.V. Kumar, V. Ravi, M. Carr, and N. Raj-Kiran. Software development cost estimation using wavelet neural networks. Journal of Systems and Software, 81(11):1853–1867, 2008.
C. Lefebvre, C. Fancourt, J. Principe, and G. J. Neuro Solutions Documentation. 2007.
R.J.A. Little and D.B. Rubin. Statistical analysis with missing data. John Wiley & Sons, Inc., 1986.
H. Liu and R. Setiono. Incremental feature selection. Applied Intelligence, 9(3):217–230, 1998.
Jie Liu, Wilson Wang, Farid Golnaraghi, and Eric Kubica. A neural fuzzy framework for system mapping applications. Know.-Based Syst., 23:572–579, August 2010.
E.H. Mamdani. Fuzzy sets and applications: selected papers by l.a. zadeh, r.r. yager, s. ovchinikov, r.m. tong, h.t. nguyen (eds.). Knowledge-Based Systems, 1(2):121, 1988.
E.H. Mamdani and S. Assilian. An experiment in linguistic synthesis with a fuzzy logic controller. International Journal of Human-Computer Studies, 51(2):135–147, 1999.
D.P. Mandic and J. Chambers. Recurrent Neural Networks for Prediction: Learning Algorithms,Architectures and Stability. John Wiley & Sons, Inc., 2001.
A. Mittal, K. Parkash, and H. Mittal. Software cost estimation using fuzzy logic. SIGSOFT Softw. Eng. Notes, 35:1–7, 2010.
N. Murata, S. Yoshizawa, and S.-i. Amari. Network information criterion — determining the number of hidden units for an artificial neural network model. IEEE Transactions on Neural Networks, 5:865, 1994.
A. B. Nassif, L. F. Capretz, and D. Ho. Estimating software effort based on use case point model using sugeno fuzzy inference system. In 23rd IEEE International Conference on Tools with Artificial Intelligence, pages 393–398, 2011.
A.L.I. Oliveira, P.L. Braga, R.M.F. Lima, and M.L. Cornélio. 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, 2010.
H. Park and S. Baek. An empirical validation of a neural network model for software effort estimation. Expert Sytems with Applications, 35(3):929–937, 2008.
J. Park and I.W. Sandberg. Universal approximation using radial-basis-function networks. Neural computation, 3(2):246–257, 1991.
D. Parker. Learning logic, invention report. Technical report, Office of Technology Licensing, Stanford, 1982.
K. Priddy and P.E. Keller. Artificial Neural Networks: An Introduction. SPIE Press, 2005.
J.C.F. Pujol and R. Poli. Evolving the topology and the weights of neural networks using a dual representation. Applied Intelligence, 8:73–84, 1998.
L. H. Putnam. A general empirical solution to the macro sizing and estimating problem. IEEE Transaction on Software Engineering, 4(4):345–361, 1978.
J. Rissanen. Modeling by shortest data description. Automatica, 14:445–471, 1978.
N.K. Roy, W.D. Potter, and D.P. Landau. Designing polymer blends using neural networks, genetic algorithms, and markov chains. Applied Intelligence, 20:215–229, 2004.
V. Sharma and H. K. Verma. Optimized fuzzy logic based framework for effort estimation in software development. International Journal of Computer Science Issues, 7(2):30–38, 2010.
K.K. Shukla. Neuro-genetic prediction of software development effort. Information and Software Technology, 42(10):710–713, 2000.
R. Sternberg. Component processes in analogical reasoning. Psychological Review, 84(4):353–378, 1997.
Y.S. Su and C.Y. Huang. Neural-network-based approaches for software reliability estimation using dynamic weighted combinational models. Journal of Systems and Software, 80(4):606–615, 2007.
K. Swingler. Applying Neural Networks. A Practical Guide. Academic Press, 1996.
L. Tarassenko. A guide to neural computing applications. Arnol / NCAF, 1998.
V.N. Vapnik. The Nature of Statistical Learning Theory. Springer-Verlag, 1995.
T. Wijayasiriwardhane, R. Lai, and KC Kang. Effort estimation of component-based software development–a survey. IET software, 5:216, 2011.
C. L. Xie, J. Y. Chang, X.C. Shi, and J. M. Dai. Fault diagnosis of nuclear power plant based on geneticrbf neural network. Int. J. Comput. Appl. Technol., 39(1/2/3):159–165, 2010.
S. Xu and L. Chen. A novel approach for determining the optimal number of hidden layer neurons for fnns and its application in data mining. In 5th International Conference on Information Technology and Applications, pages 23–26, 2008.
M. Zhao, Z. Chen, and J. Hjerrild. Analysis of the behaviour of genetic algorithm applied in optimization of electrical system design for offshore wind farms. In anonymous, editor, IEEE Industrial Electronics, IECON 2006 - 32nd Annual Conference on, pages 2335–2340, 2006.
Z. Zhao, Y. Zhang, and H. Liao. Design of ensemble neural network using the akaike information criterion. Engineering Applications of Artificial Intelligence, 21(8):1182–1188, 2008.
Z. Zia, A. Rashid, and K.U. Zaman. Software cost estimation for componentbased fourth-generation-language software applications. Software, IET, 5(1):103–110, 2011.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
This is an open access article distributed under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/).
About this article
Cite this article
González-Carrasco, I., Colomo-Palacios, R., López-Cuadrado, J.L. et al. SEffEst: Effort estimation in software projects using fuzzy logic and neural networks. Int J Comput Intell Syst 5, 679–699 (2012). https://doi.org/10.1080/18756891.2012.718118
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1080/18756891.2012.718118