(Automated) Software Modularization Using Community Detection

被引:2
|
作者
Hansen, Klaus Marius [1 ]
Manikas, Konstantinos [1 ]
机构
[1] Univ Copenhagen, Dept Comp Sci DIKU, Copenhagen, Denmark
来源
关键词
Software architecture; Module structure; Software modularity;
D O I
10.1007/978-3-319-23727-5_8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The modularity of a software system is known to have an effect on, among other, development effort, change impact, and technical debt. Modularizing a specific system and evaluating this modularization is, however, challenging. In this paper, we apply community detection methods to the graph of class dependencies in software systems to find optimal modularizations through communities. We evaluate this approach through a study of 111 Java systems contained in the Qualitas Corpus. We found that using the modularity function of Newman with an Erdos-Renyi null-model and using the community detection algorithm of Reichardt and Bornholdt improved community quality for all systems, that coupling decreased for 99 of the systems, and that coherence increased for 102 of the systems. Furthermore, the modularity function correlates with existing metrics for coupling and coherence.
引用
收藏
页码:95 / 102
页数:8
相关论文
共 50 条
  • [1] Improving Software Modularization via Automated Analysis of Latent Topics and Dependencies
    Bavota, Gabriele
    Gethers, Malcom
    Oliveto, Rocco
    Poshyvanyk, Denys
    De Lucia, Andrea
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2014, 23 (01)
  • [2] Software Modularization Using Combination of Multiple Clustering
    Naseem, Rashid
    Deris, Mustafa Bin Mat
    Maqbool, Onaiza
    [J]. 17TH IEEE INTERNATIONAL MULTI TOPIC CONFERENCE 2014, 2014, : 277 - 281
  • [3] 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
  • [4] On the automatic modularization of software systems using the Bunch tool
    Mitchell, BS
    Mancoridis, S
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (03) : 193 - 208
  • [5] Using structural and semantic measures to improve software modularization
    Bavota, Gabriele
    De Lucia, Andrea
    Marcus, Andrian
    Oliveto, Rocco
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2013, 18 (05) : 901 - 932
  • [6] Software Modularization in Global Software Development
    Wickramaarachchi, Dilani
    Lai, Richard
    [J]. 2014 INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING (ICODSE), 2014,
  • [7] Software Modularization Operators
    Rama, Girish Maskeri
    Patel, Naineet
    [J]. 2010 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2010,
  • [8] Using structural and semantic measures to improve software modularization
    Gabriele Bavota
    Andrea De Lucia
    Andrian Marcus
    Rocco Oliveto
    [J]. Empirical Software Engineering, 2013, 18 : 901 - 932
  • [9] Cooperative clustering for software modularization
    Naseem, Rashid
    Maqbool, Onaiza
    Muhammad, Siraj
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (08) : 2045 - 2062
  • [10] 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