Title: Reusable Software Component Retrieval: Part I
1Reusable Software Component Retrieval Part I
- Taciana Amorim Vanderlei
- tav_at_cin.ufpe.br
2Content
- Motivation
- Component Retrieval - Historic
- Conclusion
- References
3Motivation
Browsing
4Motivation
5Motivation
Searching
6Component Retrieval - Historic
- McIllroy, 1967
- Proposed the idea of a software components
catalog from which software parts could be
assembled, much as is done with mechanical and
electronic components.
To reuse a software component, you first have to
find it.
7Component Retrieval - Historic
- Prieto-Diaz, R. and P. Freeman, 1987
- Proposes a faceted classification scheme based on
reusability-related attributes and a selection
mechanism as a partial solution to the software
reuse problem. - Prieto-Diaz, R., 1991
- But was in decade of 90, with Prieto-Diaz, that
the research became more intensive - Support reuser's selection process and
development of a standard vocabulary for software
attributes.
8Decade of 90
- Retrieval methods
- Enumerated classification
- Inflexibility
- Problems with understanding large hierarchies.
- Faceted classification
- Flexible
- Precise
- Better suited for large, continuously expanding
collection - Hard for users to find the right combination of
terms. - Free-text indexing (automatic indexing).
- Simple to build and retrieval
- Need large bodies of text to become statistically
accurate.
9Decade of 90
- Controlled vocabulary
- Faceted classification
- Indexing.
- Uncontrolled vocabulary
- Free-text indexing.
10Component Retrieval - Historic
- Y.S. Maarek, D. M. Berry, and G.E. Kaiser, 1991
- GURU
- A tool that automatically assembles conceptually
structured software libraries from a set of
unindexed and unorganized software components. - Free-text indexing approach - cost,
transportability and scalability.
11Component Retrieval - Historic
- R. D. Banker, R. J. Kauffman, and D. Zweig,
1993 - A repository-based integrated CASE tool called
High Productivity Systems (HPS) - First Boston Corporation and Carter Hawley Hale
Information Services. - Productivity and quality.
- Defray the costs of the construction and testing
- Speed the implementation of new systems
- Be leveraged across projects and areas of the
firm in support of multiple businesses.
12Component Retrieval - Historic
- S. Henninger, 1994
- Constructing effective queries is as important as
or more important than the retrieval algorithm
used. - CodeFinder
- Retrieval system that combines retrieval by
reformulation and spreading activation to help
users find information - Reduces the vocabulary problem.
13Component Retrieval - Historic
- Gráfico
- Desenhar Círculo
- (x,y,raio,raio interno)
- Anel
- Rosquinha
- Pneu
- Direção
14Component Retrieval - Historic
- The probability of two people choosing the same
keyword for the objects is between 10 and 20.
Using 15 aliases will achieve 6080 agreement,
and 30 aliases can get up to 90 agreement
Furnas et al., 1987. - One of the problems with an unlimited aliasing
approach is the potential of precision problems
Gomez et al., 1990.
15Component Retrieval - Historic
- Amy Moormann Zaremski and Jeannette M., 1995
- Signature matching
- Complementary approach to more-traditional
information retrieval techniques - Method for organizing, navigating through, and
retrieving from software libraries.
16Component Retrieval - Historic
- J. M. Neighbors, 1996
- General techniques for finding the locus of a
component in an existing large system. - Extracted either by hand or by an advanced
knowledge-based system. - Reported techniques that worked on only three
systems. - Draco, a knowledge-based forward engineering
system.
17Component Retrieval - Historic
- Isakowitz, T. and R. J. Kauffman, 1996
- Conceptual and architectural bases for specifying
a repository search tool which automates the
process of repository search. - The tools combine two different capabilities
- ORCA (Object Reuse Classification Analyzer)
- AMHYRST (Automated Hypertext Reuse Search Tool).
18Component Retrieval - Historic
- 60 of software reuse involved objects
written and reused by the same developer, and
85-90 of software reuse involved objects
constructed by members of a project team within
the same application. Isakowitz, T. and R. J.
Kauffman, 1996
19Component Retrieval - Historic
- H. Mili , E. Ah-Ki , R. Godin and H. Mcheick,
1997 - Implementation and experimental comparison of two
such methods - Free-text based retrieval
- Keyword-based retrieval methods.
- ClassServer, an experimental library tool
developed at the University of Québec at Montréal
to explore issues in software reuse.
20Component Retrieval - Historic
- Document retrieval experiments have shown that
controlled vocabulary-based indexing and
retrieval yielded better recall and precision
than plain-text search, although the difference
hardly justifies the extra costs involved in the
first one. - The significant difference is recall performance.
21Component Retrieval - Historic
- Problems with repository of software reuse
- Costly classification
- Domain analysis efforts.
- Henninger S., 1997
- Utilizes minimal repository structure
- Improves the repository while people use it
- Best results.
- PEEL semiautomatically identify reusable
components. - CodeFinder
22Conclusion
- For a reuse library tool to be successful, the
cost of reusing has to be perceived by potential
reusers as being significantly less than that of
developing from scratch Scott N. Woodfield,
David W. Embley, and Del T. Scott, 1987, and the
cost of performing searches is only one of
several costs associated with an instance of
reuse H. Mili, F. Mili, and A. Mili, 1995.
23References
- Prieto-Diaz, R. and P. Freeman, Classifying
Software for Reusability, IEEE Software, Vol. 4,
No. 1, January 1987, pp.6-16. - Prieto-Diaz, R., Implementing Faceted
Classification for Software Reuse,
Communications of the ACM, Vol. 34, No. 5, May
1991, pp. 88-97. - G. Caldiera and V. Basili, Identifying and
Qualifying Reusable Software Componente, IEEE
Computer, Vol. 24, No. 2, February 1991, pp.
61-71. - Y.S. Maarek, D. M. Berry, and G.E. Kaiser, An
Information Retrieval Approach for Automatically
Constructing Software Libraries, IEEE
Transactions on Software Engineering, Vol. 17,
No. 8, August 1991, pp. 800-813.
24References
- R. D. Banker, R. J. Kauffman, and D. Zweig,
Repository Evaluation of Software Reuse, IEEE
Transactions on Software Engineering, Vol.19, No.
4, April 1993, pp. 379-389. - S. Henninger, "Using Iterative Refinement to Find
Reusable Software," IEEE Software, Vol. 11, No.
5, September 1994, pp. 48-59. - Amy Moormann Zaremski , Jeannette M. Wing,
Signature matching a tool for using software
libraries, ACM Transactions on Software
Engineering and Methodology (TOSEM), v.4 n.2,
p.146-170, April 1995. - J. M. Neighbors, "Finding Reusable Software
Components in Large Systems," 3rd Working
Conference on Reverse Engineering (WCRE '96),
p.2, November 1996, Monterey, CA. - Isakowitz, T., R. J. Kauffman, "Supporting Search
for Reusable Software Objects," IEEE Transactions
on Software Engineering, Vol. 22, No. 6, July
1996, pp. 407-423.
25References
- Hafedh Mili , Estelle Ah-Ki , Robert Godin ,
Hamid Mcheick, Another nail to the coffin of
faceted controlled-vocabulary component
classification and retrieval, ACM SIGSOFT
Software Engineering Notes, v.22 n.3, p.89-98,
May 1997. - Henninger, S., An Evolutionary Approach to
Constructing Effective Software Reuse
Repositories, ACM Transactions on Software
Engineering and Methodology (TOSEM), v.6 n.2,
p.111-140, April 1997. - Scott N. Woodfield, David W. Embley, and Del T.
Scott, Can Programmers Reuse Software, IEEE
Software, pp. 52-59, July 1987. - Hafedh Mili, Fatma Mili, and Ali Mili, Reusing
Software Issues and Research Directions, IEEE
Transactions on Software Engineering, vol. 21,
no. 6, pp. 528-562, June 1995.
26Reusable Software Component Retrieval Part I