TITLE:
Software Reusability Classification and Predication Using Self-Organizing Map (SOM)
AUTHORS:
Amjad Hudaib, Ammar Huneiti, Islam Othman
KEYWORDS:
Component Based System Development (CBSD), Software Reusability, Software Metrics, Classification, Self-Organizing Map (SOM)
JOURNAL NAME:
Communications and Network,
Vol.8 No.3,
August
17,
2016
ABSTRACT: Due to rapid development in software industry, it was necessary to reduce time and efforts in the
software development process. Software Reusability is an important measure that can be applied
to improve software development and software quality. Reusability reduces time, effort, errors,
and hence the overall cost of the development process. Reusability prediction models are established
in the early stage of the system development cycle to support an early reusability assessment.
In Object-Oriented systems, Reusability of software components (classes) can be obtained
by investigating its metrics values. Analyzing software metric values can help to avoid developing
components from scratch. In this paper, we use Chidamber and Kemerer (CK) metrics suite in order
to identify the reuse level of object-oriented classes. Self-Organizing Map (SOM) was used to
cluster datasets of CK metrics values that were extracted from three different java-based systems.
The goal was to find the relationship between CK metrics values and the reusability level of the
class. The reusability level of the class was classified into three main categorizes (High Reusable,
Medium Reusable and Low Reusable). The clustering was based on metrics threshold values that
were used to achieve the experiments. The proposed methodology succeeds in classifying classes
to their reusability level (High Reusable, Medium Reusable and Low Reusable). The experiments
show how SOM can be applied on software CK metrics with different sizes of SOM grids to provide
different levels of metrics details. The results show that Depth of Inheritance Tree (DIT) and
Number of Children (NOC) metrics dominated the clustering process, so these two metrics were
discarded from the experiments to achieve a successful clustering. The most efficient SOM topology
[2 × 2] grid size is used to predict the reusability of classes.