Skip to main content

An objective reuse metric: Model and methodology

  • Conference paper
  • First Online:
Software Engineering — ESEC '95 (ESEC 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 989))

Included in the following conference series:

Abstract

Software reuse is an effective way to gain productivity in constructing software systems. In order to continuously monitor the progress of reuse in the context of a project, we need an objective and repeatable way to measure the extent of reuse. This paper proposes a model and methodology to automatically compute a general objective reuse measure from the source code of applications and reusable software repositories. Unlike consumer-oriented reuse measures in the literature, this measure is useful from the viewpoints of both reuse consumers and reuse producers. The former can use it to estimate the extent of reuse in their applications while the latter can use it to determine the impact of certain reusable components. In contrast to other objective code-based measures, our measure is both complete and precise in that it is calculated based on and only on those code entities that are essential to the functioning of an application. While the model and methodology are largely language-independent, we have implemented tools to compute the reuse measure from C code. We report experiences from using the measure on a few large software systems and discuss its use in discovering and encouraging reuse.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. W. Agresti and W. Evanco. Projecting software defects in analyzing Ada designs. IEEE Transactions on Software Engineering, 18(11):988–997, 1992.

    Article  Google Scholar 

  2. A. Aho, J. Hopcroft, and J. Ullman. Data Structures and Algorithms. Addison-Wesley, 1987.

    Google Scholar 

  3. B.H. Barnes and T.B. Bollinger. Making Reuse Cost-Effective. IEEE Software, 8(1): 13–24, 1991.

    Article  Google Scholar 

  4. Y.-F. Chen. Reverse engineering. In B. Krishnamurthy, editor, Practical Reusable UNIX Software, chapter 6. John Wiley & Sons, New York, 1995.

    Google Scholar 

  5. Y.-F. Chen, M. Nishimoto, and C.V. Ramamoorthy. The C Information Abstraction System. IEEE Transactions on Software Engineering, 16(3):325–334, March 1990.

    Article  Google Scholar 

  6. Y.-F. Chen, D.S. Rosenblum, and K.-P. Vo. TestTube: A System for Selective Regression Testing. In Proceedings of the 16th International Conference on Software Engineering, 1994.

    Google Scholar 

  7. P. Devanbu and S. Karstu. Measuring the Benefits of Software Reuse. Technical report, AT&T Bell Laboratories, 1994. Available from prem@research.att.com.

    Google Scholar 

  8. J. Favaro. What price reusability? A case study. Ada Letters, Spring 1991, 11(3):115–124, 1991.

    Google Scholar 

  9. G.S. Fowler, D.G. Korn, and K.-P. Vo. Principles for Writing Reusable Library. In Proceedings of the ACM SIGSOFT Symposium on Software Reusability (SSR'95), Seattle, April 1995.

    Google Scholar 

  10. G.S. Fowler. A Case for make. Software — Practice and Experience, 20:35–46, June 1990.

    Google Scholar 

  11. W. Frakes and C. Terry. Reuse level metrics. In Proceedings of 3rd International Conference on Software Reuse, pages 139–148. IEEE Computer Society, November 1994.

    Google Scholar 

  12. J.E. Gaffney and T.A. Durek. Software reuse — key to enhanced productivity: Some quantitative models. Information and Software Technology, 31(5):258–267, 1989.

    Article  Google Scholar 

  13. B. Krishnamurthy, editor. Practical Reusable UNIX Software. John Wiley & Sons, 1995.

    Google Scholar 

  14. D.G. Korn and K.-P. Vo. SFIO: Safe/Fast String/File IO. In Proceedings of the Summer '91 Usenix Conference, pages 235–256. USENIX, 1991.

    Google Scholar 

  15. W. Lim. Effects of Reuse on Quality, Productivity, and Economics. IEEE Software, 11(5):23–30, September 1994.

    Article  Google Scholar 

  16. J. Poulin, J. Caruso, and D. Hancock. The Business Case for Software Reuse. IBM Systems Journal, 32(4):567–594, 1993.

    Google Scholar 

  17. D.S. Rosenblum and B. Krishnamurthy. Generalized event-action handling. In B. Krishnamurthy, editor, Practical Reusable UNIX Software, chapter 9. John Wiley & Sons, New York, 1995.

    Google Scholar 

  18. D.S. Rosenblum. Towards a method of programming with assertions. In Proceedings of the 14th International Conference on Software Engineering, pages 92–104. Association for Computing Machinery, May 1992.

    Google Scholar 

  19. K.-P. Vo and Y.-F. Chen. Incl: A tool to analyze include files. In Summer 1992 USENIX Conference, pages 199–208, June 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wilhelm Schäfer Pere Botella

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, Y.F., Krishnamurthy, B., Vo, K.P. (1995). An objective reuse metric: Model and methodology. In: Schäfer, W., Botella, P. (eds) Software Engineering — ESEC '95. ESEC 1995. Lecture Notes in Computer Science, vol 989. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60406-5_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-60406-5_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60406-8

  • Online ISBN: 978-3-540-45552-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics