(Automated) software modularization using community detection

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

  • Klaus Marius Hansen
  • Konstantinos Manikas
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.
Original languageEnglish
Title of host publicationSoftware architecture : 9th European Conference, ECSA 2015, Dubrovnik/Cavtat, Croatia, September 7–11, 2015, Proceedings
EditorsDanny Weyns, Raffaela Mirandola, Ivica Crnkovic
Number of pages8
PublisherSpringer
Publication date2015
Pages95-102
Chapter8
ISBN (Print)978-3-319-23726-8
ISBN (Electronic)978-3-319-23727-5
DOIs
Publication statusPublished - 2015
EventEuropean Conference on Software Architecture Workshops 2015 - Dubrovnik/Cavtat, Croatia
Duration: 7 Sep 201511 Sep 2015
Conference number: 9

Conference

ConferenceEuropean Conference on Software Architecture Workshops 2015
Nummer9
LandCroatia
ByDubrovnik/Cavtat
Periode07/09/201511/09/2015
SeriesLecture notes in computer science
Volume9278
ISSN0302-9743

ID: 145152614