Software Module Clustering as a Multi-Objective Search Problem

K Praditwong, M Harman, Xin Yao

Research output: Contribution to journalArticle

230 Citations (Scopus)


Software module clustering is the problem of automatically organizing software units into modules to improve program structure. There has been a great deal of recent interest in search-based formulations of this problem in which module boundaries are identified by automated search, guided by a fitness function that captures the twin objectives of high cohesion and low coupling in a single-objective fitness function. This paper introduces two novel multi-objective formulations of the software module clustering problem, in which several different objectives (including cohesion and coupling) are represented separately. In order to evaluate the effectiveness of the multi-objective approach, a set of experiments was performed on 17 real-world module clustering problems. The results of this empirical study provide strong evidence to support the claim that the multi-objective approach produces significantly better solutions than the existing single-objective approach.
Original languageEnglish
Pages (from-to)264-282
Number of pages19
JournalIEEE Transactions on Software Engineering
Issue number2
Early online date5 Feb 2010
Publication statusPublished - 1 Mar 2011


  • multi-objective optimization
  • evolutionary computation
  • module clustering
  • SBSE


Dive into the research topics of 'Software Module Clustering as a Multi-Objective Search Problem'. Together they form a unique fingerprint.

Cite this