On the evaluation of the Bunch search-based software modularization algorithm

  • Authors:
  • Brian S. Mitchell;Spiros Mancoridis

  • Affiliations:
  • Software Engineering Research Group at Drexel University, Department of Computer Science, Philadelphia, USA;Software Engineering Research Group at Drexel University, Department of Computer Science, Philadelphia, USA

  • Venue:
  • Soft Computing - A Fusion of Foundations, Methodologies and Applications
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The first part of this paper describes an automatic reverse engineering process to infer subsystem abstractions that are useful for a variety of software maintenance activities. This process is based on clustering the graph representing the modules and module-level dependencies found in the source code into abstract structures not in the source code called subsystems. The clustering process uses evolutionary algorithms to search through the enormous set of possible graph partitions, and is guided by a fitness function designed to measure the quality of individual graph partitions. The second part of this paper focuses on evaluating the results produced by our clustering technique. Our previous research has shown through both qualitative and quantitative studies that our clustering technique produces good results quickly and consistently. In this part of the paper we study the underlying structure of the search space of several open source systems. We also report on some interesting findings our analysis uncovered by comparing random graphs to graphs representing real software systems.