• DocumentCode
    2122805
  • Title

    A heuristic approach to solving the software clustering problem

  • Author

    Mitchell, Brian S.

  • Author_Institution
    Dept. of Comput. Sci., Drexel Univ., Philadelphia, PA, USA
  • fYear
    2003
  • fDate
    22-26 Sept. 2003
  • Firstpage
    285
  • Lastpage
    288
  • Abstract
    This paper provides an overview of the author\´s Ph.D. thesis (2002). The primary contribution of this research involved developing techniques to extract architectural information about a system directly from its source code. To accomplish this objective a series of software clustering algorithms were developed. These algorithms use metaheuristic search techniques to partition a directed graph generated from the entities and relations in the source code into subsystems. Determining the optimal solution to this problem was shown to be NP-hard, thus significant emphasis was placed on finding solutions that were regarded as "good enough" quickly. Several evaluation techniques were developed to gauge solution quality, and all of the software clustering tools created to support this work was made available for download over the Internet.
  • Keywords
    computational complexity; heuristic programming; reverse engineering; software maintenance; software tools; NP-hard; directed graph; heuristic approach; metaheuristic search techniques; optimization; software clustering; software tools; solution quality; system source code; Algorithm design and analysis; Clustering algorithms; Computer science; Data mining; Partitioning algorithms; Reverse engineering; Software algorithms; Software maintenance; Software systems; Software tools;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-1905-9
  • Type

    conf

  • DOI
    10.1109/ICSM.2003.1235432
  • Filename
    1235432