Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks

Guardado en:
Detalles Bibliográficos
Publicado en:Journal of Web Engineering vol. 24, no. 6 (2025), p. 911-943
Autor principal: Marcos Cordeiro de Brito Jr
Otros Autores: Bianchini, Calebe P, Silva, Leandro A
Publicado:
River Publishers
Materias:
Acceso en línea:Citation/Abstract
Full Text
Full Text - PDF
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!

MARC

LEADER 00000nab a2200000uu 4500
001 3264507611
003 UK-CbPIL
022 |a 1540-9589 
022 |a 1544-5976 
024 7 |a 10.13052/jwe1540-9589.2463  |2 doi 
035 |a 3264507611 
045 2 |b d20250820  |b d20250930 
100 1 |a Marcos Cordeiro de Brito Jr 
245 1 |a Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks 
260 |b River Publishers  |c 2025 
513 |a Journal Article 
520 3 |a 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. 
653 |a Modularity 
653 |a Java 
653 |a Software development 
653 |a Static code analysis 
653 |a Graphs 
653 |a Decomposition 
653 |a Responsibilities 
653 |a Algorithms 
653 |a Modules 
653 |a Similarity measures 
653 |a Libraries 
653 |a Python 
653 |a Project development 
653 |a Semantics 
653 |a Systems developers 
700 1 |a Bianchini, Calebe P 
700 1 |a Silva, Leandro A 
773 0 |t Journal of Web Engineering  |g vol. 24, no. 6 (2025), p. 911-943 
786 0 |d ProQuest  |t Computer Science Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3264507611/abstract/embedded/6A8EOT78XXH2IG52?source=fedsrch 
856 4 0 |3 Full Text  |u https://www.proquest.com/docview/3264507611/fulltext/embedded/6A8EOT78XXH2IG52?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/3264507611/fulltextPDF/embedded/6A8EOT78XXH2IG52?source=fedsrch