Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks
Guardado en:
| Publicado en: | Journal of Web Engineering vol. 24, no. 6 (2025), p. 911-943 |
|---|---|
| Autor principal: | |
| Otros Autores: | , |
| Publicado: |
River Publishers
|
| Materias: | |
| Acceso en línea: | Citation/Abstract Full Text Full Text - PDF |
| Etiquetas: |
Sin Etiquetas, Sea el primero en etiquetar este registro!
|
| Resumen: | 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 |
| Fuente: | Computer Science Database |