An evolutionary approach to identify logical components

•We propose a novel method based on GA (genetic algorithm) to obtain logical components.•We evaluate the effectiveness of the proposed method with three real-world cases. Identifying suitable components during the software design phase is an important way to obtain more maintainable software. Many m...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of systems and software 2014-10, Vol.96, p.24-50
Hauptverfasser: Hasheminejad, Seyed Mohammad Hossein, Jalili, Saeed
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:•We propose a novel method based on GA (genetic algorithm) to obtain logical components.•We evaluate the effectiveness of the proposed method with three real-world cases. Identifying suitable components during the software design phase is an important way to obtain more maintainable software. Many methods including Graph Partitioning, Clustering-based, CRUD-based, and FCA-based methods have been proposed to identify components at an early stage of software design. However, most of these methods use classical clustering techniques, which rely on expert judgment. In this paper, we propose a novel method for component identification, called SBLCI (Search-Based Logical Component Identification), which is based on GA (genetic algorithm), and complies with an iterative scheme to obtain logical components. SBLCI identifies logical components of a system from its analysis models using a customized GA, which considers cohesion and coupling metrics as its fitness function, and has four novel guided GA operators based on the cohesive component concept. In addition, SBLCI has an iterative scheme in which it initially identifies high-level components in the first iteration. Then, in the next iterations, it identifies low-level sub-components for each identified component in previous iterations. We evaluated the effectiveness of SBLCI with three real-world cases. Results revealed that SBLCI is a better alternative for identifying logical components and sub-components in comparison with existing component identification methods.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2014.05.033