A Heuristic Approach to Solving the Software Clustering Problem

  • Authors:
  • Brian S. Mitchell

  • Affiliations:
  • -

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper provides an overview of the author'sPh.D. thesis [8]. The primary contribution of this researchinvolved developing techniques to extract architecturalinformation about a system directly from itssource code. To accomplish this objective a series ofsoftware clustering algorithms were developed. Thesealgorithms use metaheuristic search techniques to partitiona directed graph generated from the entities andrelations in the source code into subsystems. Determiningthe optimal solution to this problem was shownto be NP-hard, thus significant emphasis was placed onfinding solutions that were regarded as "good enough"quickly. Several evaluation techniques were developedto gauge solution quality, and all of the software clusteringtools created to support this work were madeavailable for download over the Internet.