Content area

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.

Details

1009240
Business indexing term
Title
Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks
Publication title
Volume
24
Issue
6
Pages
911–942
Number of pages
33
Publication year
2025
Publication date
2025
Section
Articles
Publisher
River Publishers
Place of publication
Milan
Country of publication
Denmark
ISSN
15409589
e-ISSN
15445976
Source type
Scholarly Journal
Language of publication
English
Document type
Journal Article
Publication history
 
 
Online publication date
2025-09-25
Milestone dates
2025-09-25 (Issued); 2024-07-12 (Submitted); 2025-10-03 (Modified); 2025-09-25 (Created)
Publication history
 
 
   First posting date
25 Sep 2025
ProQuest document ID
3264507611
Document URL
https://www.proquest.com/scholarly-journals/discovery-modularity-monolithic-java-project/docview/3264507611/se-2?accountid=208611
Copyright
© 2025. This work is published under https://creativecommons.org/licenses/by-nc/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Last updated
2025-10-24
Database
ProQuest One Academic