A Multiple Hill Climbing Approach to Software Module Clustering

Kiarash Mahdavi, Mark Harman, Robert Mark Hierons

Research output: Chapter in Book/Report/Conference proceedingConference paper

139 Citations (Scopus)

Abstract

Automated software module clustering is important for maintenance of legacy systems written in a 'monolithic format' with inadequate module boundaries. Even where systems were originally designed with suitable module boundaries, structure tends to degrade as the system evolves, making re-modularization worthwhile. This paper focuses upon search-based approaches to the automated module clustering problem, where hitherto, the local search approach of hill climbing has been found to be most successful. In the paper we show that results from a set of multiple hill climbs can be combined to locate good 'building blocks' for subsequent searches. Building blocks are formed by identifying the common features in a selection of best hill climbs. This process reduces the search space, while simultaneously 'hard wiring' parts of the solution. The paper reports the results of an empirical study that show that the multiple hill climbing approach does indeed guide the search to higher peaks in subsequent executions. The paper also investigates the relationship between the improved results and the system size.
Original languageEnglish
Title of host publicationICSM 2003
Subtitle of host publicationProceedings of the International on Software Maintenance
Place of PublicationLos Alamitos, California
PublisherIEEE Computer Society Press
Pages315-324
Number of pages10
VolumeN/A
EditionN/A
ISBN (Print)0769519059
DOIs
Publication statusPublished - 2003

Fingerprint

Dive into the research topics of 'A Multiple Hill Climbing Approach to Software Module Clustering'. Together they form a unique fingerprint.

Cite this