View
218
Download
2
Tags:
Embed Size (px)
Citation preview
Reusable Software Component Retrieval: Part I
Taciana Amorim [email protected]
Reusable Software Component Retrieval: Part I 2 15/08/2004
Content
Motivation Component Retrieval - Historic Conclusion References
Reusable Software Component Retrieval: Part I 3 15/08/2004
Motivation
+++---
-+
Browsing
Reusable Software Component Retrieval: Part I 4 15/08/2004
Motivation
Reusable Software Component Retrieval: Part I 5 15/08/2004
Motivation
Searching
Reusable Software Component Retrieval: Part I 6 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 7 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 8 15/08/2004
Decade 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.
Reusable Software Component Retrieval: Part I 9 15/08/2004
Decade of 90…
Controlled vocabulary Faceted classification; Indexing.
Uncontrolled vocabularyFree-text indexing.
Reusable Software Component Retrieval: Part I 10 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 11 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 12 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 13 15/08/2004
Component Retrieval - Historic
[S. Henninger, 1994]
- Anel- Rosquinha- Pneu- Direção
- Gráfico: Desenhar Círculo (x,y,raio,raio interno)
Unidade deImplementação
(como)
Objetivos da aplicação(o que)
Reusable Software Component Retrieval: Part I 14 15/08/2004
Component Retrieval - Historic
The probability of two people choosing the same keyword for the objects is between 10 and 20%. Using 15 aliases will achieve 60–80% 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].
Reusable Software Component Retrieval: Part I 15 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 16 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 17 15/08/2004
Component 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).
Reusable Software Component Retrieval: Part I 18 15/08/2004
Component 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]
Reusable Software Component Retrieval: Part I 19 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 20 15/08/2004
Component 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.
Reusable Software Component Retrieval: Part I 21 15/08/2004
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
Component Retrieval - Historic
Reusable Software Component Retrieval: Part I 22 15/08/2004
Conclusion
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].
Reusable Software Component Retrieval: Part I 23 15/08/2004
References
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.
Reusable Software Component Retrieval: Part I 24 15/08/2004
References
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.
Reusable Software Component Retrieval: Part I 25 15/08/2004
References
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.
Reusable Software Component Retrieval: Part I
Questions?