On the automatic modularization of software systems using the Bunch tool

被引:283
|
作者
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
相关论文
共 50 条
  • [21] Modularization of Software as a Service Products: A Case Study of the Configuration Management Tool Puppet
    Hintsch, Johannes
    Goerling, Carsten
    Turowski, Klaus
    [J]. 2015 INTERNATIONAL CONFERENCE ON ENTERPRISE SYSTEMS (ES), 2015, : 184 - 191
  • [22] Design of automatic testing tool for railway signalling systems software safety assessment
    Hwang, J. -G.
    Jo, H. -J.
    Kim, H. -S.
    [J]. RISK ANALYSIS VI: SIMULATION AND HAZARD MITIGATION, 2008, : 513 - +
  • [23] Cooperative clustering for software modularization
    Naseem, Rashid
    Maqbool, Onaiza
    Muhammad, Siraj
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (08) : 2045 - 2062
  • [24] Increasing Adaptability of Automation Control Software for Automated Material Flow Systems via Software Modularization
    Prieler, Julia
    Aicher, Thomas
    Vogel-Heuser, Birgit
    [J]. IECON 2017 - 43RD ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY, 2017, : 3951 - 3956
  • [25] A Fast Clustering Algorithm for Modularization of Large-Scale Software Systems
    Teymourian, Navid
    Izadkhah, Habib
    Isazadeh, Ayaz
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (04) : 1451 - 1462
  • [26] Software Botryology automatic clustering of software systems
    Tzerpos, V
    Holt, RC
    [J]. NINTH INTERNATIONAL WORKSHOP ON DATABASE AND EXPERT SYSTEMS APPLICATIONS, PROCEEDINGS, 1998, : 811 - 818
  • [27] AutoFlow: An Automatic Debugging Tool for AspectJ Software
    Zhang, Sai
    Gu, Zhongxian
    Lin, Yu
    Zhao, Jianjun
    [J]. 2008 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2008, : 470 - 471
  • [28] A software tool for automatic identification of dynamic models
    Gianni, Bruno C.
    Hatem, Joao B. A.
    Normey-Rico, Julio E.
    Flesch, Rodolfo C. C.
    Plucenio, Augustinho
    [J]. MATERIALS RESEARCH AND APPLICATIONS, PTS 1-3, 2014, 875-877 : 2254 - +
  • [29] MODULARIZATION OF PDE SOFTWARE FOR VECTOR COMPUTERS
    SCHONAUER, W
    SCHNEPF, E
    RAITH, K
    [J]. ZEITSCHRIFT FUR ANGEWANDTE MATHEMATIK UND MECHANIK, 1984, 64 (05): : T309 - T312
  • [30] Modularization Technique to Support Software Variability in Cyber-Physical Production Systems
    Sharma, Shubham
    Fadhlillah, Hafiyyan Sayyid
    Fernandez, Antonio M. Gutierrez
    Rabiser, Rick
    Zoitl, Alois
    [J]. 17TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS, VAMOS 2023, 2023, : 71 - 76