Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks

Salvato in:
Dettagli Bibliografici
Pubblicato in:Journal of Web Engineering vol. 24, no. 6 (2025), p. 911-943
Autore principale: Marcos Cordeiro de Brito Jr
Altri autori: Bianchini, Calebe P, Silva, Leandro A
Pubblicazione:
River Publishers
Soggetti:
Accesso online:Citation/Abstract
Full Text
Full Text - PDF
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
Descrizione
Abstract:Monolithic architecture is a software design which brings significant difficulties to system developers when it comes to maintenance or expanding the scope of a project. On the other hand, a modular project consists of several similar entities, or modules, which are the object of similar functions or processes that, applied repeatedly, have well-defined classes and smaller modules to work, bringing benefits such as reduced project development time and increased productivity for the system developers. This work proposes the use of complex networks through the NetworkX library in Python, using modularity detection algorithms for the static analysis of Java code. The goal is to discover modules by analyzing dependencies between classes, indicating the best way to identify code clusters to be treated as modules automatically. The outcomes of applying the Greedy Modularity, Louvain, K-Clique, and Girvan Newman algorithms to two open-source projects will be presented. A comparative analysis of these results will be illustrated using generated graphs and a distribution map, emphasizing the number of communities identified by each algorithm.
ISSN:1540-9589
1544-5976
DOI:10.13052/jwe1540-9589.2463
Fonte:Computer Science Database