Assessing software libraries by browsing similar classes, functions and relationships

Comparing and contrasting a set of software libraries is useful for reuse related activities such as selecting a library from among several candidates or porting an application from one library to another. The current state of the art in assessing libraries relies on qualitative methods. To reduce costs and/or assess a large collection of libraries, automation is necessary. Although there are tools that help a developer examine an individual library in terms of architecture, style, etc., we know of no tools that help the developer directly compare several libraries. With existing tools, the user must manually integrate the knowledge learned about each library. Automation to help developers directly compare and contrast libraries requires matching of similar components (such as classes and functions) across libraries. This is different than the traditional component retrieval problem in which components are returned that best match a user's query. Rather, we need to find those components that are similar across the libraries under consideration. In this paper, we show how this kind of matching can be done.

[1]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[2]  Gail E. Kaiser,et al.  An Information Retrieval Approach For Automatically Constructing Software Libraries , 1991, IEEE Trans. Software Eng..

[3]  Gerard Salton,et al.  On the Specification of Term Values in Automatic Indexing , 1973 .

[4]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

[5]  L. R. Rasmussen,et al.  In information retrieval: data structures and algorithms , 1992 .

[6]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

[7]  Matthias Jarke,et al.  On the retrieval of reusable software components , 1993, [1993] Proceedings Advances in Software Reuse.

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  Kevin Benner,et al.  Managing Object-Oriented Framework Reuse , 1996, Computer.

[10]  Ted J. Biggerstaff,et al.  Design recovery for maintenance and reuse , 1989, Computer.

[11]  Melissa P. Chase,et al.  Manipulating Recovered Software Architecture Views , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[12]  William B. Frakes,et al.  Software reuse through information retrieval , 1986, SIGF.

[13]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[14]  Amir Michail,et al.  Illustrating object-oriented library reuse by example: a tool-based approach , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[15]  William B. Frakes,et al.  An Empirical Study of Representation Methods for Reusable Software Components , 1994, IEEE Trans. Software Eng..

[16]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[17]  W. Bruce Croft,et al.  Using Probabilistic Models of Document Retrieval without Relevance Information , 1979, J. Documentation.

[18]  Rick Kazman,et al.  View extraction and view fusion in architectural understanding , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[19]  Yoelle Maarek,et al.  Integrating Information Retrieval and Domain Specific Approaches for Browsing and Retrieval in Object-Oriented Class Libraries , 1991, OOPSLA.