On the automatic modularization of software systems using the Bunch tool

被引:289
作者
Mitchell, BS [1 ]
Mancoridis, S
机构
[1] Drexel Univ, Dept Comp Sci, Philadelphia, PA 19104 USA
[2] Drexel Univ, Software Engn Res Grp, Philadelphia, PA 19104 USA
基金
美国国家科学基金会;
关键词
clustering; reverse engineering; reengineering; program comprehension; optimization; maintainability;
D O I
10.1109/TSE.2006.31
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Since modern software systems are large and complex, appropriate abstractions of their structure are needed to make them more understandable and, thus, easier to maintain. Software clustering techniques are useful to support the creation of these abstractions by producing architectural-level views of a system's structure directly from its source code. This paper examines the Bunch clustering system which, unlike other software clustering tools, uses search techniques to perform clustering. Bunch produces a subsystem decomposition by partitioning a graph of the entities (e.g., classes) and relations (e.g., function calls) in the source code. Bunch uses a fitness function to evaluate the quality of graph partitions and uses search algorithms to find a satisfactory solution. This paper presents a case study to demonstrate how Bunch can be used to create views of the structure of significant software systems. This paper also outlines research to evaluate the software clustering results produced by bunch.
引用
收藏
页码:193 / 208
页数:16
相关论文
共 53 条
  • [1] ANDRITSOS P, 2003, P IEEE WORK C REV EN
  • [2] ANQUETIL N, 1998, P 20 INT C SOFTW ENG
  • [3] ANQUETIL N, 1999, P WORK C REV ENG OCT
  • [4] ANQUETIL N, 2000, P INT WORKSH PROGR C
  • [5] SYSTEM PARTITIONING AND ITS MEASURE
    BELADY, LA
    EVANGELISTI, CJ
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1981, 2 (01) : 23 - 29
  • [6] BOWMAN IT, 1999, P INT C SOFTW ENG MA
  • [7] Visualizing and analyzing software infrastructures
    Buchsbaum, A
    Chen, YF
    Huang, H
    Koutsofios, E
    Mocenigo, J
    Rogers, A
    Jankowsky, M
    Mancoridis, S
    [J]. IEEE SOFTWARE, 2001, 18 (05) : 62 - +
  • [8] CHEN Y, 1997, P 6 EUR SOFTW ENG C
  • [9] Chen YG, 1995, PROC NAECON IEEE NAT, P177
  • [10] CHOI S, 1999, IEEE SOFTWARE, P66