Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei

Similar presentations


Presentation on theme: "Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei"— Presentation transcript:

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

2 Reusable Software Component Retrieval: Part I2 15/08/2004 Content Motivation Component Retrieval - Historic Conclusion References

3 Reusable Software Component Retrieval: Part I3 15/08/2004 Motivation + + + - - - - + Browsing

4 Reusable Software Component Retrieval: Part I4 15/08/2004 Motivation

5 Reusable Software Component Retrieval: Part I5 15/08/2004 Motivation Searching

6 Reusable Software Component Retrieval: Part I6 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.

7 Reusable Software Component Retrieval: Part I7 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.

8 Reusable Software Component Retrieval: Part I8 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.

9 Reusable Software Component Retrieval: Part I9 15/08/2004 Decade of 90… Controlled vocabulary  Faceted classification;  Indexing. Uncontrolled vocabulary  Free-text indexing.

10 Reusable Software Component Retrieval: Part I10 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.

11 Reusable Software Component Retrieval: Part I11 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.

12 Reusable Software Component Retrieval: Part I12 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.

13 Reusable Software Component Retrieval: Part I13 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 de Implementação (como) Objetivos da aplicação (o que)

14 Reusable Software Component Retrieval: Part I14 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].

15 Reusable Software Component Retrieval: Part I15 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.

16 Reusable Software Component Retrieval: Part I16 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.

17 Reusable Software Component Retrieval: Part I17 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).

18 Reusable Software Component Retrieval: Part I18 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]

19 Reusable Software Component Retrieval: Part I19 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.

20 Reusable Software Component Retrieval: Part I20 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.

21 Reusable Software Component Retrieval: Part I21 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

22 Reusable Software Component Retrieval: Part I22 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].

23 Reusable Software Component Retrieval: Part I23 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.

24 Reusable Software Component Retrieval: Part I24 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.

25 Reusable Software Component Retrieval: Part I25 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.

26 Reusable Software Component Retrieval: Part I Questions?


Download ppt "Reusable Software Component Retrieval: Part I Taciana Amorim Vanderlei"

Similar presentations


Ads by Google