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.
Preview
Unable to display preview. Download preview PDF.
References
W. Agresti and W. Evanco. Projecting software defects in analyzing Ada designs. IEEE Transactions on Software Engineering, 18(11):988–997, 1992.
A. Aho, J. Hopcroft, and J. Ullman. Data Structures and Algorithms. Addison-Wesley, 1987.
B.H. Barnes and T.B. Bollinger. Making Reuse Cost-Effective. IEEE Software, 8(1): 13–24, 1991.
Y.-F. Chen. Reverse engineering. In B. Krishnamurthy, editor, Practical Reusable UNIX Software, chapter 6. John Wiley & Sons, New York, 1995.
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.
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.
P. Devanbu and S. Karstu. Measuring the Benefits of Software Reuse. Technical report, AT&T Bell Laboratories, 1994. Available from prem@research.att.com.
J. Favaro. What price reusability? A case study. Ada Letters, Spring 1991, 11(3):115–124, 1991.
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.
G.S. Fowler. A Case for make. Software — Practice and Experience, 20:35–46, June 1990.
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.
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.
B. Krishnamurthy, editor. Practical Reusable UNIX Software. John Wiley & Sons, 1995.
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.
W. Lim. Effects of Reuse on Quality, Productivity, and Economics. IEEE Software, 11(5):23–30, September 1994.
J. Poulin, J. Caruso, and D. Hancock. The Business Case for Software Reuse. IBM Systems Journal, 32(4):567–594, 1993.
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.
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.
K.-P. Vo and Y.-F. Chen. Incl: A tool to analyze include files. In Summer 1992 USENIX Conference, pages 199–208, June 1992.
Author information
Authors and Affiliations
Editor information
Rights 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