Optimization of multi-way clustering and retrieval using genetic algorithms in reusable class library

In order to improve code reliability and development productivity, software reuse is a clear solution and a reuse library based on object-oriented technology is essential. It is also very important to classify components elaborately and retrieve them accurately in the reuse library. In this paper, we present genetic algorithms for multi-way clustering, in which the number of clusters, similarity in a cluster and similarity between clusters are taken into consideration with the aim of finding optimized clusters into which components are classified, and for cluster-based linear retrieval with the aim of finding an optimal query which retrieves clusters containing components similar to a given query. We compare genetic algorithms with simulated annealing algorithms for multi-way clustering and cluster-based retrieval. The results of our experiments demonstrate that generic algorithms produce better solutions than those obtained by simulated annealing algorithms. We implemented a Reusable Class Library (RCL) using these methods, which is based on CORBA.

[1]  Reidar Conradi,et al.  The REBOOT approach to software reuse , 1995, J. Syst. Softw..

[2]  Jeffrey S. Poulin,et al.  Experiences with a faceted classification scheme in a large reusable software library (RSL) , 1993, Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93.

[3]  Scott Henninger,et al.  Supporting the construction and evolution of component repositories , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[4]  Martine D. F. Schlag,et al.  Spectral K-Way Ratio-Cut Partitioning and Clustering , 1993, 30th ACM/IEEE Design Automation Conference.

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

[6]  Gareth Jones,et al.  AN INTRODUCTION TO GENETIC ALGORITHMS AND TO THEIR USE IN INFORMATION RETRIEVAL , 1994 .

[7]  Kishan G. Mehrotra,et al.  Genetic algorithms for graph partitioning and incremental graph partitioning , 1994, Proceedings of Supercomputing '94.

[8]  Bruce A. Burton,et al.  The Reusable Software Library , 1987, IEEE Software.

[9]  Chung-Kuan Cheng,et al.  Ratio cut partitioning for hierarchical designs , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Peter Willett,et al.  An Upperbound to the Performance of Ranked-output Searching: Optimal Weighting of Query Terms using a Genetic Algorithm , 1996, J. Documentation.

[11]  Byung Ro Moon,et al.  Genetic Algorithm and Graph Partitioning , 1996, IEEE Trans. Computers.

[12]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part I, Graph Partitioning , 1989, Oper. Res..

[13]  Premkumar T. Devanbu,et al.  LaSSIE—a knowledge-based software information system , 1991, ICSE '90.