Empirical Software Engineering

, Volume 8, Issue 3, pp 225–254 | Cite as

Object-Oriented Function Points: An Empirical Validation

  • G. Antoniol
  • R. Fiutem
  • C. Lokan


We present an empirical validation of object-oriented size estimation models. In previous work we proposed object oriented function points (OOFP), an adaptation of the function points approach to object-oriented systems. In a small pilot study, we used the OOFP method to estimate lines of code (LOC). In this paper we extend the empirical validation of OOFP substantially, using a larger data set and comparing OOFP with alternative predictors of LOC. The aim of the paper is to gain an understanding of which factors contribute to accurate size prediction for OO software, and to position OOFP within that knowledge. A cross validation approach was adopted to build and evaluate linear models where the independent variable was either a traditional OO entity (classes, methods, association, inheritance, or a combination of them) or an OOFP-related measure. Using the full OOFP process, the best size predictor achieved a normalized mean squared error of 38%. By removing function point weighting tables from the OOFP process, and carefully analyzing collected data points and developer practices, we identified several factors that influence size estimation. Our empirical evidence demonstrates that by controlling these factors size estimates could be substantially improved, decreasing the normalized mean squared error to 15%—in relative terms, a 56% reduction.

Size prediction OO size estimation software metrics. 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abran, A., and Robillard, P. N. 1993. Reliability of function point productivity model for enhancement projects(a Field Study). In Proceedings of IEEE International Conference on Software Maintenance. Montreal, Quebec, Canada, pp. 134–142.Google Scholar
  2. Albrecht, A. J. 1979. Measuring application development productivity. In Proceedings of IBM Applications Development Symposium, pp. 83–92.Google Scholar
  3. Antoniol, G., Caprile, B., Potrich, A., and Tonella, P. 2000. Design-code traceability for object oriented systems. The Annals of Software Engineering 9: 35–58.Google Scholar
  4. Antoniol, G., Lokan, C., Caldiera, G., and Fiutem, R. 1999. A function point-like measure for object oriented software. Empirical Software Engineering 4(3): 263–287.Google Scholar
  5. Boehm, B. W. 1981. Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall.Google Scholar
  6. Caldiera, G., Antoniol, G., Fiutem, R., and Lokan, C. 1998. Definition and experimental evaluation of function points for object-oriented systems. In Proceedings of 5th International Symposium on Software Metrics. pp. 167–178, IEEE.Google Scholar
  7. Caldiera, G., Lokan, C., Antoniol, G., Fiutem, R., Curtis, S., La Commare, G., and Mambella, E. 1997. Estimating size and effort for object oriented systems. In Proceedings of 4th Australian Conference on Software Metrics.Google Scholar
  8. Card, D., El Emam, K., and Scalzo, B. 2001. Measurement of object-oriented software development projects. Technical report, Software Productivity Consortium, Herndon VA.Google Scholar
  9. Conte, S. D., and Campbell, R. L. 1989. A methodology for early software size estimation. Technical Report SERC-TR-33-P, Purdue University.Google Scholar
  10. Conte, S. D., Dunsmore, H. E., and Shen, V. Y. 1986. Software Engineering Metrics and Models. Benjamin-Cummings.Google Scholar
  11. DeMarco, T. 1982. Controlling Software Projects. Englewood Cliffs, NJ: Prentice Hall, Yourdon Press Computing Series.Google Scholar
  12. Efron, B., and Tibshirani, R. J. 1993. An Introduction to the Bootstrap, Vol. 57 of Monographs on Statistic and Applied Probability. London: Chapman & Hall.Google Scholar
  13. Fetcke, T., Abran, A., and Nguyen, T.-H. 1997. Mapping the OO-Jacobson approach to function point analysis. In Proceedings of IFPUG 1997 Spring Conference, pp. 134–142.Google Scholar
  14. Fiutem, R., and Antoniol, G. 1998. Identifying design-code inconsistencies in object-oriented software: a case study. In Proceedings of IEEE International Conference on Software Maintenance. Bethesda MD, pp. 94–102.Google Scholar
  15. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley.Google Scholar
  16. Graham, I. 1996. Making progress in metrics. Object Magazine 6(8): 68–73.Google Scholar
  17. Hastings, T. 1995. Adapting function points to contemporary software systems: a review of proposals. In Proceedings of 2nd Australian Conference on Software Metrics. Australian Software Metrics Association.Google Scholar
  18. IFPUG. 1994. Function Point Counting Practices Manual, Release 4.0. International Function Point Users Group, Westerville, Ohio.Google Scholar
  19. IFPUG. 1995. Function Point Counting Practices: Case Study 3-Object-Oriented Analysis, Object-Oriented Design Draft. International Function Point Users Group, Westerville, Ohio.Google Scholar
  20. Jacobson, I., Christerson, M., Jonsson, P., and Övergaard, G. 1992. Object Oriented Software Engineering: A Use Case Driven Approach. Reading, MA: Addison-Wesley.Google Scholar
  21. Jeffery, D., and Stathis, J. 1996. Function point sizing: structure, validity and applicability. Empirical Software Engineering 1(1): 11–30.Google Scholar
  22. Khoshgoftaar, T., Allan, B. E., Kalaichelval, K. S., and Goel, N. 1996. The impact of software evolution and reuse on software quality. Empirical Software Engineering 1(1): 31–44.Google Scholar
  23. Kitchenham, B., and Känsälä, K. 1993. Inter-item correlations among function points. In Proc. 15th International Conference on Software Engineering. IEEE pp. 477–480.Google Scholar
  24. Kitchenham, B., Pfleeger, S., and Fenton, N. 1995. Towards a framework for software measurement validation. IEEE Transactions on Software Engineering 21(12): 929–944.Google Scholar
  25. Mehler, H., and Minkiewicz, A. 1997. Estimating size for object-oriented software. In '97 Applications in Software Measurement, Berlin. Berlin.Google Scholar
  26. Minkiewicz, A. 1997. Measuring object-oriented software with predictive object points. In Proceedings of 8th European Software Control and Metrics Conference. Atlanta.Google Scholar
  27. Rawlings, J., Pandula, S. G., and Dickey, D. A. 1998. Applied Regression Analysis a Research Tool, Springer Texts in Statistics, second edition. New York: Springer-Verlag.Google Scholar
  28. Schooneveldt, M. 1995. Measuring the size of object oriented systems. In Proceedings of 2nd Australian Conference on Software Metrics. Australian Software Metrics Association.Google Scholar
  29. Sneed, H. 1996. Estimating the development costs of object-oriented software. In Proceedings of 7th European Software Control and Metrics Conference. Wilmslow, UK.Google Scholar
  30. Stone, M. 1974. Cross-validatory choice and assesment of statistical predictions (with discussion). Journal of the Royal Statistical Society B 36: 111–147.Google Scholar
  31. Verner, J., Tate, G., Jackson, B., and Hayward, R. 1989. Technology dependence in function point analysis: a case study and critical review. In Proceedings of 11th International Conference on Software Engineering, pp. 375–382.Google Scholar
  32. Vicinanza, S., Mukhopadhyay, T., and Prietula, M. 1991. Software-effort estimation: an exploratory study of expert performance. Information Systems Research 2(4): 243–262.Google Scholar
  33. Whitmire, S. 1993. Applying function points to object-oriented software models. In Software Engineering Productivity Handbook. New York, NY: McGraw-Hill, pp. 229–244.Google Scholar

Copyright information

© Kluwer Academic Publishers 2003

Authors and Affiliations

  • G. Antoniol
    • 1
  • R. Fiutem
    • 2
  • C. Lokan
    • 3
  1. 1.RCOST—Research Centre on Software TechnologyUniversity of Sannio, Department of EngineeringVia TraianoItaly
  2. 2.Research and Technology Department Sodalia SpATrentoItal
  3. 3.School of Computer ScienceAustralian Defence Force Academy, UNSWCanberra ACTAustralia

Personalised recommendations