Component-Extraction-Based Search System for Object-Oriented Programs

  • Hironori Washizaki
  • Yoshiaki Fukazawa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3107)


To realize appropriate software reuse, it is necessary to seek software that satisfies a given requirement. However, conventional search techniques cannot enable prompt reuse of software because such conventional techniques target the program source code as the retrieval unit. In this paper, we propose a new component-extraction-based program search system. Our system analyses a collection of object-oriented (OO) programs, acquires relationships among OO classes, and extracts reusable software components composed of some classes. Moreover, our system generates indexes composed of divided type names and comments for newly extracted components. Using our system, the extracted components can be searched by keywords, and the result set can be viewed by a web browser such that the user can decide whether the query result component matches his/her requirements.


Source Code Reusable Component Weak Cluster Core Package Rank Weight 
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.
    Seacord, R.C., et al.: AGORA: A Search Engine for Software Components. IEEE Internet Computing 2(6) (1998)Google Scholar
  2. 2.
    Aviram, M.H.: Code-Centric Search Tool Services to Reduce Java Development Time, JavaWorld (June 1998)Google Scholar
  3. 3.
    Michail: Browsing and Searching Source Code of Applications written using a GUI Framework. In: 24nd International Conference on Software Engineering (2002) Google Scholar
  4. 4.
    Inoue, K., et al.: Component Rank: Relative Significance Rank for Software Component Search.In: 25th International Conference on Software Engineering (2003)Google Scholar
  5. 5.
    Zaremski, Wing, J.: Signature Matching: a Tool for Using Software Libraries. ACM Trans. Software Engineering and Methodology 4(2) (1995)Google Scholar
  6. 6.
    Hamilton, G.: JavaBeans 1.01 Specification, Sun Microsystems (1997)Google Scholar
  7. 7.
    Gamma, E., et al.: Translated by S. Honiden et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Softbank Publishing (1999) (in Japanese)Google Scholar
  8. 8.
    Washizaki, H., Yamamoto, H., Fukazawa, Y.: A Metrics Suite for Measuring Reusability of Software Components. In: 9th IEEE International Symposium on Software Metrics (2003)Google Scholar
  9. 9.
    Chidamber, S.R., Kemerer, C.F.: A Metrics Suite for Object Oriented Design. IEEE Trans. Software Engineering 20(6) (1994)Google Scholar
  10. 10.
    Salton, G., McGill, M.: Introduction to Modern Information Retrieval. McGraw-Hill, New York (1983)zbMATHGoogle Scholar
  11. 11.
  12. 12.
  13. 13.
    The Apache Jakarta Project,
  14. 14.
    Java2SDK1.4.1 demo,
  15. 15.
    Girard, J.F., Koschke, R.: Finding components in a hierarchy of modules: A step towards architectural understanding.In: 13th International Conference on Software Maintenance (1997)Google Scholar
  16. 16.
    Scientific Toolworks, Inc.: Understand for Java,
  17. 17.
    Prieto-Diaz, R.: Implementing Faceted Classification for Software Reuse. Communications of the ACM 34(5) (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Hironori Washizaki
    • 1
  • Yoshiaki Fukazawa
    • 2
  1. 1.National Institute of InformaticsTokyoJapan
  2. 2.Waseda UniversityTokyoJapan

Personalised recommendations