Modeling the search landscape of metaheuristic software clustering algorithms

  • Authors:
  • Brian S. Mitchell;Spiros Mancoridis

  • Affiliations:
  • Department of Computer Science, Drexel University, Philadelphia, PA;Department of Computer Science, Drexel University, Philadelphia, PA

  • Venue:
  • GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
  • Year:
  • 2003

Quantified Score

Hi-index 0.01

Visualization

Abstract

Software clustering techniques are useful for extracting architectural information about a system directly from its source code structure. This paper starts by examining the Bunch clustering system, which uses metaheuristic search techniques to perform clustering. Bunch produces a subsystem decomposition by partitioning a graph formed from the entities (e.g., modules) and relations (e.g., function calls) in the source code, and then uses a fitness function to evaluate the quality of the graph partition. Finding the best graph partition has been shown to be a NP-hard problem, thus Bunch attempts to find a sub-optimal result that is "good enough" using search algorithms. Since the validation of software clustering results often is overlooked, we propose an evaluation technique based on the search landscape of the graph being clustered. By gaining insight into the search landscape, we can determine the quality of a typical clustering result. This paper defines how the search landscape is modeled and how it can be used for evaluation. A case study that examines a number of open source systems is presented.