A two-level matching mechanism for object-oriented class libraries

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


Providing an effective search/retrieval mechanism is essential for supporting software reuse. Such a tool can help both software designers and developers in finding, understanding and modifying the components most relevant for their requirements. Syntactic matching techniques can provide easy to use, fast and cheap, but not necessarily very accurate, search tools. On the contrary, specification matching can provide accurate results, while it is more difficult to use, slow and expensive (in terms of complexity and resources). In this paper, we propose a hybrid process which combines these two matching methods. At the first level, a user can perform a keyword search based on faceted classification. If results of the first level are not satisfactory, a specification based matching can be conducted among the results of the first match. In this way, the associated costs of specification matching will be dramatically dropped by the restriction of the search space (you'll pay for what you use). The proposed specification match also tries to take advantage of the characteristics of OO class libraries (i.e. inheritance and design by contract principles). We will show how these can improve both performance and accuracy of matching queries with components.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    S. Araban. A faceted classification scheme for object-oriented environments. Master's thesis, Monash University, Department of Software Development, 1995.Google Scholar
  2. [2]
    B. W. Boehm. Improving software productivity. IEEE Computer, 20(9):43–57, 1987.Google Scholar
  3. [3]
    F. P. Brooks. No silver bullet: Essence and accidents of software engineering. IEEE Computer, 20(4):10–19, 1987.MathSciNetGoogle Scholar
  4. [4]
    W. B. Frakes and P. B. Gandel. Representing reusable software. Information and Software Technology, 32(10):653–664, 1990.CrossRefGoogle Scholar
  5. [5]
    B. Henderson-Sellers and C. Freeman. Cataloguing and classification for object libraries. ACM SIGSOFT, Software Engineering Notes, 17(1):62–64, 1992.CrossRefGoogle Scholar
  6. [6]
    E. Karlsson, S. Sørumgard, and E. Tryggeseth. Classification of object-oriented components for reuse. In B. Meyer, editor, TOOLS'7. Prentice-Hall, 1992.Google Scholar
  7. [7]
    C. W. Krueger. Software reuse. Acm Computing Surveys, 24(2):131–183, 1992.MathSciNetCrossRefGoogle Scholar
  8. [8]
    B. Meyer. Object-Oriented Software Construction. Prentice-Hall, 1988.Google Scholar
  9. [9]
    B. Meyer. Reusable Software, The Base Object-Oriented Components Libraries. Object-Oriented. Prentice-Hall, 1994.Google Scholar
  10. [10]
    J. Morel and J. Faget. The REBOOT environment. In R. Prieto-Diaz and W. B. Frakes, editors, Advances in Software Reuse. IEEE Computer Society press, 1993. International workshop in software reusability.Google Scholar
  11. [11]
    R. Prieto-Diaz. Classification of Reusable Modules, volume 1 of Software Reusability, chapter 4, pages 99–123. ACM press, 1989.Google Scholar
  12. [12]
    S. R. Ranganathan. Prolegomena to Library Classification. Bombay: Asia Publishing House, third edition, 1967.Google Scholar
  13. [13]
    A. S. M. Sajeev. Some reusability exercises in persistent C. Journal of Computing and Information, 1(1):1121–1136, 1995.Google Scholar
  14. [14]
    L. S. Sørumgard, G. Sindre, and F. Stokke. Experiences from application of a faceted classification scheme. In R. Prieto-Diaz and W.B. Frakes, editors, Advances in Software Reuse. IEEE Computer Society press, 1993. International workshop in software reusability.Google Scholar
  15. [15]
    A.M. Zaremski and J.M. Wing. Specification matching of software components. ACM Transactions on Software Engineering and Methodology, 6(4):333–369, 1995.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • S. Araban
    • 1
  • A. S. M. Sajeev
    • 1
  1. 1.School of Computer Science and Software Engineering (CSSE)Monash UniversityCaulfield EastAustralia

Personalised recommendations