Retrieval of Most Relevant Reusable Component Using Genetic Algorithms Rajesh Bhatia Thapar Institute of Engineering & Technology Patiala, INDIA Mayank Dave National Institute of Technology Kurukshetra, INDIA R. C. Joshi I. I. T. Roorkee Roorkee, INDIA Abstract Software reuse has become very popular in the software development because of its immense advantages, which results in improving software product quality, decreased product cost and schedule. Reusable components stored in a repository are useful in developing early prototypes with better quality. One of the most fundamental problems in software reusability is locating and retrieving software components from a large repository. To reuse a software component, you first have to find it. Retrieval of component should be less time consuming and efficient. This paper addresses the issue of most appropriate component retrieval from a component repository. Appropriateness here is precision and quality. Two-step process is used for retrieval of appropriate component from repository. The initial step is Keyword based retrieval for finding all candidate components according to the user requirement. Keyword based search is used to narrow down the search space, which further improves initial population for Genetic Algorithm based second step. As Genetic Algorithms are applied to only extracted candidate components, initial population will be precise as compared to random, which will help in early convergence. Thirty-two attributes of reusable component are considered for selecting the appropriate component. A Fitness function is calculated on the basis of weight vectors and attribute vectors associated with each component to select the appropriate component. Keywords: Genetic algorithms, Software Reuse, Software Component Software Repository 1. Introduction Developing software from scratch is a tedious, time consuming and a costly process. Vast research is going on in the field of software reuse. Successful reuse requires a wide variety of high-quality generalized components, proper classification and retrieval mechanisms. It also requires sufficient and proper documentation of components, a flexible means for combining components, and a means of adapting components to specific needs. Challenges in the context of repositories are; techniques to locate and retrieve components efficiently, e.g., classification schemes, retrieval techniques, and to integrate them in software systems. Software reuse is not so successful, because the effort needed to create reusable software components, locate them, adapt them and integrate them in a specific application has been usually greater than the effort needed to create the application from scratch. However, there are many factors that limit the practice of software reuse, among them is the lack of tools to construct reusable software components and the lack of tools for fast and effective retrieval of components. But still, software reuse is the best answer to software crisis [1, 11, 12]. The term component is used in this work in a generic sense. Reusable software components not only include generic code, basic procedures, module, but also systems, subsystems, software specification, requirements and design specifications. Various techniques have been used by researchers to improve the retrieval performance from a repository [2, 3]. One such technique is described in the proposed system. The proposed system uses a new hybrid approach. Where components are retrieved in two steps. The first step is retrieval based on user-defined keywords; the next step is optimizing the retrieved components using genetic algorithms. This approach enhances the chance of retrieving appropriate component from the repository that can be reused. In this paper the next section is system overview, which gives the complete working of the system. The section 3 component based repository gives knowledge about component description. Section 4, is about the first step of the proposed system, called as keyword based retrieval. Section 5, includes optimization of components using genetic algorithm which results in finding the optimal solutions, Section 6, describes the experimentation and results of the system.