SCI-GA: Software Component Identification using Genetic Algorithm

By: Seyed Mohammad Hossein Hasheminejad, Saeed Jalili


Identifying software components is a crucial task in software development. There are a number of methods to identify components in the literature; however, the majority of these methods rely on clustering techniques with expert judgment. In contrast to the previous methods, which have used classical clustering techniques, this paper maps the components identification problem to an optimization problem. We propose a novel GA-based algorithm (Genetic Algorithm) as a powerful optimization search algorithm, called SCI-GA (Software Component Identification using Genetic Algorithm), to identify components from analysis models. SCI-GA uses software cohesion, coupling, and complexity measurements to define its fitness function. For performance evaluation, we evaluated SCI-GA using three real-world cases. The results reveal that SCI-GA can identify correct suboptimal software components, and performs far better than alternative heuristics like k-means and FCA-Based methods.


Software Component; Component Identification; Genetic Algorithm

Cite as:

Seyed Mohammad Hossein Hasheminejad, Saeed Jalili, “SCI-GA: Software Component Identification using Genetic Algorithm”, Journal of Object Technology, Volume 12, no. 2 (June 2013), pp. 3:1-34, doi:10.5381/jot.2013.12.2.a3.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn