26
Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei [email protected]

Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei [email protected]

  • View
    218

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

Reusable Software Component Retrieval: Part I

Taciana Amorim [email protected]

Page 2: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

Reusable Software Component Retrieval: Part I 2 15/08/2004

Content

Motivation Component Retrieval - Historic Conclusion References

Page 3: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

Reusable Software Component Retrieval: Part I 3 15/08/2004

Motivation

+++---

-+

Browsing

Page 4: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

Reusable Software Component Retrieval: Part I 4 15/08/2004

Motivation

Page 5: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

Reusable Software Component Retrieval: Part I 5 15/08/2004

Motivation

Searching

Page 6: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 7: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 8: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 9: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

Reusable Software Component Retrieval: Part I 9 15/08/2004

Decade of 90…

Controlled vocabulary Faceted classification; Indexing.

Uncontrolled vocabularyFree-text indexing.

Page 10: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 11: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 12: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 13: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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)

Page 14: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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].

Page 15: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 16: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 17: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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).

Page 18: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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]

Page 19: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 20: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 21: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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

Page 22: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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].

Page 23: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 24: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 25: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

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.

Page 26: Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei tav@cin.ufpe.br

Reusable Software Component Retrieval: Part I

Questions?