Please login first
Information Theoretic Objective Function for Genetic Software Clustering
* ,
1  Department of Computer Science, University of Tabriz


Software clustering is usually used for program comprehension. Since it is considered to be
the most crucial NP-complete problem, therefore, several genetic algorithms have been proposed to solve this problem. In the literature, there exist some objective functions (i.e., fitness function) which are used by genetic algorithms for clustering. These objective functions determine the quality of each clustering obtained in the evolutionary process of genetic algorithm in terms of cohesion and coupling. The major drawbacks of these objective functions are the inability to (1) consider utility artifacts, and (2) apply on another software graph such as artifact feature dependency graph. To overcome the existing objective functions limitations, this paper presents a new objective function. A new objective function is based on information theory, aiming to produce a clustering in which information loss is minimized. For applying the new proposed objective function, we have developed a genetic algorithm aiming to maximize the proposed objective function. The proposed genetic algorithm, named ILOF, has been compared to that of some other well-known genetic algorithms. The results obtained confirm the high performance of the proposed algorithm in solving nine software systems. The performance achieved is quite satisfactory and promising for the tested benchmarks.

Keywords: clustering; modularization; genetic algorithm; objective function; information theory; software comprehension; software evolution