European Conference on Software Architecture

Software Architecture pp 95-102

(Automated) Software Modularization Using Community Detection

Conference paper

DOI: 10.1007/978-3-319-23727-5_8

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9278)
Cite this paper as:
Hansen K.M., Manikas K. (2015) (Automated) Software Modularization Using Community Detection. In: Weyns D., Mirandola R., Crnkovic I. (eds) Software Architecture. Lecture Notes in Computer Science, vol 9278. Springer, Cham

Abstract

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.

Keywords

Software architecture Module structure Software modularity 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Department of Computer Science (DIKU)University of CopenhagenCopenhagenDenmark

Personalised recommendations