(Automated) software modularization using community detection
Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Standard
(Automated) software modularization using community detection. / Hansen, Klaus Marius; Manikas, Konstantinos.
Software architecture: 9th European Conference, ECSA 2015, Dubrovnik/Cavtat, Croatia, September 7–11, 2015, Proceedings. ed. / Danny Weyns; Raffaela Mirandola; Ivica Crnkovic. Springer, 2015. p. 95-102 (Lecture notes in computer science, Vol. 9278).Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Harvard
APA
Vancouver
Author
Bibtex
}
RIS
TY - GEN
T1 - (Automated) software modularization using community detection
AU - Hansen, Klaus Marius
AU - Manikas, Konstantinos
N1 - Conference code: 9
PY - 2015
Y1 - 2015
N2 - 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 Erdős-Rényi 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.
AB - 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 Erdős-Rényi 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.
U2 - 10.1007/978-3-319-23727-5_8
DO - 10.1007/978-3-319-23727-5_8
M3 - Article in proceedings
SN - 978-3-319-23726-8
T3 - Lecture notes in computer science
SP - 95
EP - 102
BT - Software architecture
A2 - Weyns, Danny
A2 - Mirandola, Raffaela
A2 - Crnkovic, Ivica
PB - Springer
Y2 - 7 September 2015 through 11 September 2015
ER -
ID: 145152614