Automated classification and retrieval of reusable software components

software reuse by using an automated approach to semantically search for and retrieve reusable software components in large software component repositories and on the World Wide Web (WWW). Using automation and smart (semantic) techniques, their approach speeds up the search and retrieval of reusable software components, while retaining good accuracy, and therefore improves the affordability of software reuse. A program understanding of software components and natural language understanding of user queries was employed. Then the software component descriptions were compared by matching the resulting semantic representations of the user queries to the semantic representations of the software components to search for software components that best match the user queries. A proof of concept system was developed to test the authors’ approach. The results of this proof of concept system were compared to human experts, and statistical analysis was performed on the collected experimental data. The results from these experiments demonstrate that this automated semantic-based approach for software reusable component classification and retrieval is successful when compared to the labor-intensive results from the experts, thus showing that this approach can significantly benefit software reuse classification and retrieval. Introduction

[1]  Ian Horrocks,et al.  A Software Framework for Matchmaking Based on Semantic Web Technology , 2004, Int. J. Electron. Commer..

[2]  Letha H. Etzkorn,et al.  Automatically Identifying Reusable OO Legacy Code , 1997, Computer.

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

[4]  Andrei Broder,et al.  A taxonomy of web search , 2002, SIGF.

[5]  Hussein Suleman,et al.  A digital library component assembly environment , 2004 .

[6]  R. Prieto-Diaz,et al.  Building and managing software libraries , 1988, Proceedings COMPSAC 88: The Twelfth Annual International Computer Software & Applications Conference.

[7]  Diomidis Spinellis,et al.  Component mining: a process and its pattern language , 2000, Inf. Softw. Technol..

[8]  Koichi Takeda,et al.  Information retrieval on the web , 2000, CSUR.

[9]  Gilad Mishne,et al.  Source Code Retrieval using Conceptual Similarity , 2004, RIAO.

[10]  Colin Atkinson,et al.  Extreme Harvesting: test driven discovery and reuse of software components , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[11]  Timothy W. Finin,et al.  Swartout: Enabling technology for knowledge sharing , 1991 .

[12]  James A. Hendler,et al.  Computing similarity in a reuse library system: an AI-based approach , 1992, TSEM.

[13]  Yeong R. Kim,et al.  Software Reuse: Survey and Research Directions , 1997, J. Manag. Inf. Syst..

[14]  Sergey Brin,et al.  The Anatomy of a Large-Scale Hypertextual Web Search Engine , 1998, Comput. Networks.

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

[16]  Yong Yu,et al.  An Approach for Semantic Search by Matching RDF Graphs , 2002, FLAIRS.

[17]  Lei Wang,et al.  Relevancy based semantic interoperation of reuse repositories , 2004, SIGSOFT '04/FSE-12.

[18]  Amit P. Sheth,et al.  Adding Semantics to Web Services Standards , 2003, ICWS.

[19]  P. McFedries Google this , 2003 .

[20]  Salwa K. Abd-El-Hafiz,et al.  A Knowledge-Based Approach to the Analysis of Loops , 1996, IEEE Trans. Software Eng..

[21]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[22]  F. Gudermann,et al.  AI-based Trading in Open Distributed Environments , 1995 .

[23]  Deborah L. McGuinness,et al.  OWL Web ontology language overview , 2004 .

[24]  Bertrand Ibrahim,et al.  A software reuse system based on natural language specifications , 1993, Proceedings of ICCI'93: 5th International Conference on Computing and Information.

[25]  Will G. Hopkins,et al.  A new view of statistics , 2002 .

[26]  Claudio Bartolini,et al.  A Semantic Web Approach to Service Description for Matchmaking of Services , 2001, SWWS.

[27]  Fatemeh Zahedi,et al.  Knowledge-Based Repository Scheme for Storing and Retrieving Business Components: A Theoretical Design and an Empirical Analysis , 2003, IEEE Trans. Software Eng..

[28]  Arno Puder,et al.  Service Trading Using Conceptual Structures , 1995, ICCS.

[29]  Colin Atkinson,et al.  Using the Web as a Reuse Repository , 2006, ICSR.

[30]  James M. Neighbors Finding reusable software components in large systems , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[31]  Yong Yu,et al.  Conceptual Graph Matching for Semantic Search , 2002, ICCS.

[32]  James W. Hooper,et al.  Software Reuse: Guidelines and Methods , 1991 .

[33]  Letha H. Etzkorn,et al.  An approach to program understanding by natural language understanding , 1999, Natural Language Engineering.

[34]  Vijayan Sugumaran,et al.  A semantic-based approach to component retrieval , 2003, DATB.