Skip to main content
Log in

Object-Oriented Function Points: An Empirical Validation

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

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.

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.

Similar content being viewed by others

References

  • 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.

  • Albrecht, A. J. 1979. Measuring application development productivity. In Proceedings of IBM Applications Development Symposium, pp. 83–92.

  • 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 

  • 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 

  • Boehm, B. W. 1981. Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • 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.

  • 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.

  • 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 

  • Conte, S. D., and Campbell, R. L. 1989. A methodology for early software size estimation. Technical Report SERC-TR-33-P, Purdue University.

  • Conte, S. D., Dunsmore, H. E., and Shen, V. Y. 1986. Software Engineering Metrics and Models. Benjamin-Cummings.

  • DeMarco, T. 1982. Controlling Software Projects. Englewood Cliffs, NJ: Prentice Hall, Yourdon Press Computing Series.

    Google Scholar 

  • 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 

  • 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.

  • 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.

  • Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley.

  • Graham, I. 1996. Making progress in metrics. Object Magazine 6(8): 68–73.

    Google Scholar 

  • 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.

  • IFPUG. 1994. Function Point Counting Practices Manual, Release 4.0. International Function Point Users Group, Westerville, Ohio.

    Google Scholar 

  • 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 

  • 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 

  • Jeffery, D., and Stathis, J. 1996. Function point sizing: structure, validity and applicability. Empirical Software Engineering 1(1): 11–30.

    Google Scholar 

  • 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 

  • 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.

  • 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 

  • Mehler, H., and Minkiewicz, A. 1997. Estimating size for object-oriented software. In '97 Applications in Software Measurement, Berlin. Berlin.

  • Minkiewicz, A. 1997. Measuring object-oriented software with predictive object points. In Proceedings of 8th European Software Control and Metrics Conference. Atlanta.

  • 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 

  • Schooneveldt, M. 1995. Measuring the size of object oriented systems. In Proceedings of 2nd Australian Conference on Software Metrics. Australian Software Metrics Association.

  • Sneed, H. 1996. Estimating the development costs of object-oriented software. In Proceedings of 7th European Software Control and Metrics Conference. Wilmslow, UK.

  • 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 

  • 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.

  • 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 

  • 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 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Antoniol, G., Fiutem, R. & Lokan, C. Object-Oriented Function Points: An Empirical Validation. Empirical Software Engineering 8, 225–254 (2003). https://doi.org/10.1023/A:1024472727275

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1024472727275

Navigation