A Multiple Hill Climbing Approach to Software Module Clustering

  • Authors:
  • Kiarash Mahdavi;Mark Harman;Robert Mark Hierons

  • Affiliations:
  • -;-;-

  • Venue:
  • ICSM '03 Proceedings of the International Conference on Software Maintenance
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automated software module clustering is importantfor maintenance of legacy systems written in a 'monolithic format' with inadequate module boundaries. Evenwhere systems were originally designed with suitablemodule boundaries, structure tends to degrade as the system evolves, making re-modularization worthwhile. Thispaper focuses upon search-based approaches to the automated module clustering problem, where hitherto, thelocal search approach of hill climbing has been found tobe 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 areformed by identifying the common features in a selectionof 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 studythat show that the multiple hill climbing approach doesindeed guide the search to higher peaks in subsequentexecutions. The paper also investigates the relationshipbetween the improved results and the system size.