loading page

Identify reusable components with a learning approach
  • Seyed Mohammad Hossein Hasheminejad,
  • Zahra Beigian
Seyed Mohammad Hossein Hasheminejad
Alzahra University Faculty of Engineering and Technology

Corresponding Author:smh.hasheminejad@alzahra.ac.ir

Author Profile
Zahra Beigian
Alzahra University Faculty of Engineering and Technology
Author Profile

Abstract

Component-based software development has been regarded as one of the newest trends in the software development industry. In some ways, component-based software development focuses on reusability. In fact, high-quality software components refer to components that are highly cohesion internally, and also have the least coupling with other components, or in other words, are independent. Thus, using such components will lead to faster software development. In this way, this study aims to identify reusable components in software. To do this, first, software components were extracted from the source code of software systems. To identify reusable components, an artificial neural network algorithm has been used. On the other hand, the reusable components recognized by the evolutionary particle swarm optimization algorithm have been clustered. In this study, the particle swarm optimization algorithm was modified to apply to clustering problems. Finally, with the help of these clusters, the KNN classifier was trained, and during identifying reused inputs, the cluster to which the input belongs was determined by the classifier. This way, we will have a library of reusable components, where similar components are placed in a cluster. The proposed algorithm was experimentally evaluated on nine open-source software systems belonging to different domains. The results of this study show that the counted software components are potentially reusable and confirm the research findings.
09 Aug 2023Submitted to Software: Practice and Experience
14 Aug 2023Submission Checks Completed
14 Aug 2023Assigned to Editor
24 Aug 2023Review(s) Completed, Editorial Evaluation Pending
07 Oct 2023Reviewer(s) Assigned