Reusability Analysis of Four Standard Object-Oriented Class Libraries

  • Saeed Araban
  • A. S. M. Sajeev
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3647)


Class libraries play a key role in object-oriented paradigm. They provide, by and large, the most commonly reused components in object-oriented environments. In this paper, we use a number of metrics to study reusability of four standard class libraries of two object oriented languages; namely Java and Eiffel. The purpose of the study is to demonstrate how different design philosophies of the two languages have affected structural design and organization of their standard libraries that in turn might have affected their reusability with regards to Ease of Reuse and Design with Reuse. Our study concludes that within limits of our measurements, the Java libraries are easy to reuse whereas Eiffel libraries are better designed with reuse. We observe that whilst design with reuse may make class libraries extensible and maintainable, but it does not necessarily make them easy to reuse.


Design Philosophy Class Library Java Library Inheritance Hierarchy Inheritance Relation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Albrecht, A.J.: Measuring application development productivity. In: IBM Applications Development Symp. (1979)Google Scholar
  2. 2.
    Biemanand, J., Karunanithi, S.: Candidate reuse metrics for object oriented and ada software.In IEEE-CS 1st International Software Metrics Symposium (1993)Google Scholar
  3. 3.
    Boisvert, R.F., Dongarra, J., Pozo, R., Remington, K., Stewart, G.: Oops: an object-oriented Particle simulation class library for distributed architectures. Concurrency: Practice and Experience 10(11-13), 1117–1129 (1998)CrossRefGoogle Scholar
  4. 4.
    Chidamber, S.R., Kemerer, C.F.: Ametrics suite for object oriented design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)CrossRefGoogle Scholar
  5. 5.
    Fichman, R.G., Kemerer, C.F.: Object technology and reuse: Lessons from early adopters. IEEE Computer 30(10), 47–59 (1997)CrossRefGoogle Scholar
  6. 6.
    Frakes, W., Terry, C.: Software reuse: Metrics and models. ACM Computing Surveys 28(2), 415–435 (1996)CrossRefGoogle Scholar
  7. 7.
    Hastings, T.E., Sajeev, A.S.M.: A vector based approach to software size measurement and effort estimation. IEEE Transactions on Software Engineering 27(4), 337–350 (2001)CrossRefGoogle Scholar
  8. 8.
    Henderson, R., Zorn, B.: A comparison of oo programming in four modern languages. Software Practice and Experience 24(11), 1077–1095 (1994)CrossRefGoogle Scholar
  9. 9.
    Henderson-Sellers, B.: Object-Oriented Metrics: Measures of Complexity. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  10. 10.
    Hitz, M.: Measuring reuse attributes in object-oriented systems. In: Int. Conf. on Object Oriented Info. Systems, Dublin, Ireland (1995)Google Scholar
  11. 11.
    Horstmann, C.S., Cornel, G.: Core Java. Sunsoft Press, Mountain View (1997)Google Scholar
  12. 12.
    Jacobson, I.: Software Reuse: Architecture, Process and Organization for Business Success. ACM Press, New York (1997)Google Scholar
  13. 13.
    Kage, H., Sttzel, H.: Hume: An object oriented component library for generic modular modelling of dynamic systems. In: Donatelli, M., Stockle, C., Villalobos, F., Villar, J. (eds.) Modelling cropping systems, Lleida. European Society of Agronomy, pp. 299–300 (1999)Google Scholar
  14. 14.
    Meyer, B.: Eiffel: TheLanguage, 2nd edn. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  15. 15.
    Meyer, B.: Reusable Software: The Base Object-Oriented Component Libraries. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
  16. 16.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall PTR, Upper Saddle River (1997)zbMATHGoogle Scholar
  17. 17.
    Pozo, R.: Template numerical toolkit. Technical report, National Institute of Standards and Technology (2002)Google Scholar
  18. 18.
    Prieto-Diaz, R.: Status report: softwarere usability. IEEE Software, 61–66 (1993)Google Scholar
  19. 19.
    Reynders, J.V.W., Forslund, D.W., Hinker, P.J., Tholburn, M., Kilman, D.G., Humphrey, W.F.: Developing numerical libraries in java. Computer Physics Communications 87(1-2), 212–224 (1995)CrossRefGoogle Scholar
  20. 20.
    Schmidt, H.W., Omohundro, S.: Clos, eiffel and sather: Acomparison. Technical report, International Computer Science Institute (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Saeed Araban
    • 1
  • A. S. M. Sajeev
    • 2
  1. 1.Department of Computer Science and Software EngineeringThe University of MelbourneCarltonAustralia
  2. 2.School of Mathmatics, Statistics and Computer ScienceUniversity of New EnglandAustralia

Personalised recommendations