Software module clustering as a multi-objective search problem


Research output: Journal PublicationsJournal Article (refereed)peer-review

300 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. © 2006 IEEE.
Original languageEnglish
Article number5406532
Pages (from-to)264-282
Number of pages19
JournalIEEE Transactions on Software Engineering
Issue number2
Early online date12 Feb 2010
Publication statusPublished - Mar 2011
Externally publishedYes

Bibliographical note

The authors are grateful to Spiros Mancoridis and Brian Mitchell for providing detailed feedback on an earlier version of this paper and also for many valuable conversations about software module clustering over the past six years. Spiros and Brian also kindly made available both the Bunch tool and the MDGs used in this paper. The authors also are grateful to Kiarash Mahdavi for providing references, discussions, and comments. The anonymous referees also provided detailed, thoughtful, and constructive advice which helped to improve the presentation of the paper. This work is partially supported by EPSRC (Grant Nos. EP/D050863 and EP/0052785) and the National Science Foundation of China (Grant No. 60428202).


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


Dive into the research topics of 'Software module clustering as a multi-objective search problem'. Together they form a unique fingerprint.

Cite this