Skip to main content
Log in

Applying a general regression neural network for predicting development effort of short-scale programs

  • Original Article
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

Abstract

Software development effort prediction is considered in several international software processes as the Capability Maturity Model-Integrated (CMMi), by ISO-15504 as well as by ISO/IEC 12207. In this paper, data of two kinds of lines of code gathered from programs developed with practices based on the Personal Software Process (PSP) were used as independent variables in three models for estimating and predicting the development effort. Samples of 163 and 80 programs were used for verifying and validating, respectively, the models. The prediction accuracy comparison among a multiple linear regression, a general regression neural network, and a fuzzy logic model was made using as criteria the magnitude of error relative to the estimate (MER) and mean square error (MSE). Results accepted the following hypothesis: effort prediction accuracy of a general regression neural network is statistically equal than those obtained by a fuzzy logic model as well as by a multiple linear regression, when new and change code and reused code obtained from short-scale programs developed with personal practices are used as independent variables.

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
Fig. 6

Similar content being viewed by others

References

  1. Ahmed MA, Saliu MO, AlGhamdi J (2005) Adaptive fuzzy logic-based framework for software development effort prediction. Inf Softw Technol 47(1):31–48

    Article  Google Scholar 

  2. Boehm B (1981) Software engineering economics. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  3. Boehm B, Abts Ch, Chulani S (2000) Software development cost estimation approaches: a survey. J Ann Softw Eng 10:177–205

    Article  MATH  Google Scholar 

  4. Boehm B, Abts Ch, Brown AW, Chulani S, Clarck BK, Horowitz E, Madachy R, Reifer D, Steece B (2000) COCOMO II. Prentice Hall, Englewood Cliffs

    Google Scholar 

  5. Boetticher GD, Lokhandwala N (2007) Assessing the reliability of a human estimator. Third international workshop on predictor models in software engineering (PROMISE’07), IEEE Computer Society Press

  6. Braz M, Vergilio S (2004) Using fuzzy theory for effort estimation of object-oriented software. In: Proceedings of the 16th IEEE international conference on tools with artificial intelligence, ICTAI

  7. Briand LC, Wieczorek I (2001) Software resource estimation. Encyclopedia of software engineering, vol 2. Wiley, New York, pp 1160–1196

    Google Scholar 

  8. Briand LC, Langley T, Wieczorek I (2000) A replicated assessment and comparison of common software cost modeling techniques. IEEE international conference on software engineering (ICSE), Limerick, Ireland

  9. Brooks FP Jr (2003) Three great challenges for half-century-old computer science. J ACM 50(1):25–26

    Article  Google Scholar 

  10. Burguess CJ, Lefley M (2001) Can genetic programming improve software effort estimation? A comparative evaluation. J Inf Softw Technol 43(2001):863–873

    Google Scholar 

  11. Conte SD, Dunsmore HE, Shen VY (1986) Software engineering metrics and models. Benjamin/Cummings, M. Park CA

    Google Scholar 

  12. De Barcelos TIF, Simies da Silva JD, Sant Anna N (2008) An investigation of artificial neural networks based prediction systems in software project management. J Syst Softw 81(3):356–367

    Article  Google Scholar 

  13. Finnie GR, Wittig GE, Desharnais JM (1997) A comparison of software effort estimation techniques: using function points with neural networks, case-based reasoning and regression models. J Syst Softw 39(3):281–289

    Article  Google Scholar 

  14. Foss T, Stensrud E, Kitchenham B, Myrtveit I (2003) A simulation study of the model evaluation criterion MMRE. IEEE Trans Softw Eng 29(11):985–995

    Article  Google Scholar 

  15. Heiat A (2002) Comparison of artificial neural network and regression models for estimating software development effort. J Inf Softw Technol 44(15):911–922

    Article  Google Scholar 

  16. Huang X, Ren J, Capretz LF (2004) A Neuro-Fuzzy tool for software estimation. In: Proceedings of the 20th IEEE international conference on software maintenance

  17. Humphrey W (1995) A discipline for software engineering. Addison Wesley, London

    Google Scholar 

  18. Humphrey WS (2005) PSP, a self improvement process for software engineers. SEI series in software engineering. Adison Wesley, London

    Google Scholar 

  19. Idri A, Abran A, Khoshgoftaar T (2001) Fuzzy analogy: a new approach for software cost estimation. In: International workshop on software measurement, Montréal, QC, Canada

  20. Idri A, Abran A, Khoshgoftaar T (2002) Estimating software project effort by analogy based on linguistic values. In: Eight IEEE symposium on software metrics

  21. Jørgensen M (2006) A preliminary theory of judgment-based project software effort predictions. In: Ou L, Turner R (eds) IRNOP VIII. Project research conference. Publishing House of Electronic Industry, Beijing, pp 661–668

    Google Scholar 

  22. Jørgensen M (2007) A critique of how we measure and interpret the accuracy of software development effort estimation. In: Keung J (ed) 1st International workshop on software productivity analysis and cost estimation. Information Processing Society of Japan, pp 15–22

  23. Jørgensen M (2007) Forecasting of software development work effort: evidence on expert judgment and formal models. J Forecast 23(3):449–462

    Article  Google Scholar 

  24. Jorgensen M, Kirkeboen G, Sjoberg D, Anda B, Brathall L (2000) Human judgment in effort estimation of software projects. In: International conference on software engineering, Limerick, Ireland

  25. Kadoda G, Cartwright M, Chen L, Shepperd M (2000) Experiences using case-based reasoning to predict software project effort. In: Proceedings of the EASE conference keele, UK

  26. Khoshgoftaar TM, Allen EB, Xu Z (2000) Predicting testability of program modules using a neural network. In: IEEE symposium on application-specific systems and software engineering technology, pp 57–62

  27. Kitchenham BA, Pickard LM, MacDonell SG, Shepperd MJ (2001) What accuracy statistics really measure. In: IEE proceedings software, vol 148(3), pp 81–85

  28. Kitchenham BA, Pfleeger SL, Pickard LM, Jones PW, Hoaglin DC, Emam KE, Rosenberg J (2002) Preliminary guidelines for empirical research in software engineering. IEEE Trans Softw Eng 28(8):721–734

    Article  Google Scholar 

  29. Kok P, Kitchenhan BA, Kirakowski J (1990) The MERMAID approach to software cost estimation. In: Proceedings ESPRIT

  30. Kultur Y, Turhan B, Basar BA (2008) ENNA: software effort estimation using ensemble of neural networks with associative memory. ACM SIGSOFT 2008/FSE-16, November 9–15, Atlanta, Georgia, USA

  31. Lewis JP (2001) Large limits to software estimation. ACM Software Engineering Notes, vol 26(4), pp 54–59

  32. López-Martín C, Yáñez-Márquez C, Gutiérrez-Tornés A (2008) Predictive accuracy comparison of fuzzy models for software development effort of small programs. J Syst Softw 81(6):949–960. doi:10.1016/j.jss.2007.08.027

    Article  Google Scholar 

  33. MacDonell SG (2003) Software source code sizing using fuzzy logic modeling. Elsevier Science, London

    Google Scholar 

  34. MacDonell SG, Gray AR (1996) Alternatives to regression models for estimating software projects. In: Proceedings of the IFPUG fall conference, Dallas, TX

  35. Mendes E, Mosley N, Watson I (2002) A comparison of case-based reasoning approaches to web hypermedia project cost estimation. In: 8th IEEE international software metrics symposium. IEEE Computer Society, Ottawa, Canada

  36. Mie Mie Thet T, Tong-Seng Q (2005) Application of neural networks for software quality prediction using object-oriented metrics. J Syst Softw 76(2):147–156

    Article  Google Scholar 

  37. Montgomery D, Peck E (2001) Introduction to linear regression analysis. Wiley, London

    MATH  Google Scholar 

  38. Musflek P, Pedrycz W, Succi G, Reformat M (2000) Software cost estimation with fuzzy models. Appl Comput Rev 8(2):24–29

    Article  Google Scholar 

  39. Park RE (1992) Software size measurement: a framework for counting source statements. Software Engineering Institute, Carnegie Mellon University

    Google Scholar 

  40. Park S (2008) An empirical validation of a neural network model for software effort estimation. J Exp Syst Appl 35:929–937

    Article  Google Scholar 

  41. Pedrycz W (2002) Computational intelligence as an emerging paradigm of software engineering. ACM 14th international conference on Software engineering and Knowledge Engineering

  42. Pedrycz W, Gomide F (1998) An introduction to fuzzy sets. The MIT Press, Cambridge

    MATH  Google Scholar 

  43. Rombach D, Münch J, Ocampo A, Humphrey WS, Burton D (2008) Teaching disciplined software development. J Syst Softw 81:747–763

    Article  Google Scholar 

  44. Schofield C (1998) Non-algorithmic effort estimation techniques. ESERG, TR98-01

  45. Specht DF (1991) A general regression neural network. IEEE Trans Neural Netw 2(6):568–576

    Article  Google Scholar 

  46. Srinivasan K, Fisher D (1995) Machine learning approaches to estimating software development effort. IEEE Trans Softw Eng 21(2):126–137

    Article  Google Scholar 

  47. Sun-Jen H, Nan-Hsing Ch, Li-Wei Ch (2008) Integration of the grey relational analysis with genetic algorithm for software effort estimation. J Oper Res 18:898–909

    Google Scholar 

  48. Xu Z, Khoshgoftaar TM (2004) Identification of fuzzy models of software cost estimation. Fuzzy Sets Syst 145(1):141–163

    Article  MathSciNet  Google Scholar 

  49. Zadeh LA (1999) From computing with numbers to computing with words—from manipulation of measurements to manipulation of perceptions. IEEE Trans Circuits Syst I Fundament Theory Appl 45(1):105–119

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

Author of this paper would like to thank CUCEA of Guadalajara University, Jalisco, México, Programa de Mejoramiento del Profesorado (PROMEP), as well as to Consejo Nacional de Ciencia y Tecnología (Conacyt).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cuauhtemoc Lopez-Martin.

Appendices

Appendix 1

Actual data by developer from design to testing phases for generating and verifying the models: P: Number of program, DP: Developer (see Appendix 3), N&C: New and Changed code, R: Reused code, AE: Actual Effort (minutes), MER: Magnitude of Error Relative to the estimate, MLR: Multiple Linear Regression, GRNN: General regression neural network; FLM: Fuzzy Logic Model (Table 6).

Table 6  

Appendix 2

Actual data by developer from design to testing phases for validating the models: P: Number of program, DP: Developer (Appendix 3), N&C: New and Changed code, R: Reused code, AE: Actual Effort (minutes), MER: Magnitude of Error Relative to the estimate, MLR: Multiple Linear Regression, GRNN: General regression neural network; FLM: Fuzzy Logic Model (Table 7).

Table 7  

Appendix 3

Names of developers from Federal Commission of Electricity (Cn) at Guadalajara, Jalisco (Director email: omar.delacruz@cfe.gob.mx); CINVESTAV (Pn) at Guadalajara, Jalisco (Director email: jesus.vazquez@cts-design.com); Universidad del Valle de Atemajac (Un) at Guadalajara, Jalisco (Director email: elena.gonzalez@univa.mx); Guadalajara University (Mn) at Jalisco (Director email: leonardo.soto@cucea.udg.mx); Universidad del Valle de Atemajac (UMn) at Leon, Guanajuato (Director email: luis.garcia@univa.mx).

Verification stage: C1: Barraza A. I., C2: De la Cruz P. O., C3: Flores G. C., C4: Galindo G. R., C5: García R. M., C6: Guerra M. A., C7: Guzmán M. A., C8: Hernández H. P., C9: Hernández R. A., C10: Partida M. L., P1: Alegría B. J., P2: Escamilla R. J., P3: Gutíerrez R. F., P4: Montesinos S. J., P5: Morales L. D., P6: Plascencia S. J., P7: Reynoso R. R., P8: Rivera V. B., P9: Vega B. F., P10: Viramontes C. A., P11: Cordero B. D., P12: Davis A. R., P13: Díaz I. M. J., P14: Domínguez Z. S., P15: Duarte L. M., P16: Jiménez G. N., P17: Montero S.A., P18: Martínez S. N., P19: Rocha H. J., P20: Vega Á. C., P21: González C. D., P22: Gutiérrez R. L., P23: Muñetón P. O., P24: Plata V. P., P25: Tapia G. S., P26: Aguirre Z. M., P27: Calvillo C. C., P28: Gallegos R. L., P29: Hernández O. O., P30: Meza A. E., P31: Ramos C. L., P32: Sapiens P. J., U1: Gutiérrez H. A., U2: Tamayo E., U3: Ayala A. C., U4: Gonzalez Q. R., U5: Navarro N. S., U6: Rivera P. E., U7: Zavala G. H., U8: Cardosa M. T., U9: Cortés F. G., U10: Lugo R. J., U11: Martínez G. O.

Validation stage: M1: Cabral J.J., M2: Dueñas del Toro H. O., M3: González P.J.J., M4: Herrera B. K., M5: Lopez F. A. D., M6: Maciel A. L. A., M7: Moreno G. M., M8: Ramos C. S., M9: Vallejo M. E., M10: Villegas R. M., M11: Carrillo D. I., M12: Castro T. M., M13: Estrada V. L., M14: Garcia V. L., M15: Herrera I. J., M16: Mercado G. S., M17: Peñalba V. A., M18: Ramírez L. E., M19: Robledo H. A., M20: Torres A. U., M21: Torres E. A., UM1: Castillo O. R., UM2: Cedillo B. F., UM3: Cruz G. A., UM4: Martínez P. R.,UM5: Padilla H. B., UM6: Palomares A. L., UM7: Ramirez R. M., UM8: Rodríguez S. J., UM9: Zuñiga A. V.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lopez-Martin, C. Applying a general regression neural network for predicting development effort of short-scale programs. Neural Comput & Applic 20, 389–401 (2011). https://doi.org/10.1007/s00521-010-0405-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-010-0405-5

Keywords

Navigation