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.
CITATION STYLE
Klaus Marius Hansen, K. M. (2015). Software Architecture (ECSA 2015). Software Architecture (Vol. 9278, pp. 95–102). Retrieved from http://link.springer.com/10.1007/978-3-319-23727-5
Mendeley helps you to discover research relevant for your work.