Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks.

Saved in:
Bibliographic Details
Title: Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks.
Authors: Cordeiro de Brito Jr, Marcos, Bianchini, Calebe P., Silva, Leandro A.
Source: Journal of Web Engineering; 2025, Vol. 24 Issue 6, p911-942, 32p
Subject Terms: JAVA programming language, COMPUTER architecture, PYTHON programming language, COMPUTER networks, OPEN source software
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. [ABSTRACT FROM AUTHOR]
Copyright of Journal of Web Engineering is the property of River Publishers and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Complementary Index
FullText Text:
  Availability: 0
CustomLinks:
  – Url: https://resolver.ebscohost.com/openurl?sid=EBSCO:edb&genre=article&issn=15409589&ISBN=&volume=24&issue=6&date=20250901&spage=911&pages=911-942&title=Journal of Web Engineering&atitle=Discovery%20of%20Modularity%20in%20Monolithic%20Java%20Project%20Codes%20Using%20Complex%20Networks.&aulast=Cordeiro%20de%20Brito%20Jr%2C%20Marcos&id=DOI:10.13052/jwe1540-9589.2463
    Name: Full Text Finder
    Category: fullText
    Text: Full Text Finder
    Icon: https://imageserver.ebscohost.com/branding/images/FTF.gif
    MouseOverText: Full Text Finder
  – Url: https://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=EBSCO&SrcAuth=EBSCO&DestApp=WOS&ServiceName=TransferToWoS&DestLinkType=GeneralSearchSummary&Func=Links&author=de%20Brito%20C
    Name: ISI
    Category: fullText
    Text: Nájsť tento článok vo Web of Science
    Icon: https://imagesrvr.epnet.com/ls/20docs.gif
    MouseOverText: Nájsť tento článok vo Web of Science
Header DbId: edb
DbLabel: Complementary Index
An: 188168024
RelevancyScore: 1041
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 1040.80407714844
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Cordeiro+de+Brito+Jr%2C+Marcos%22">Cordeiro de Brito Jr, Marcos</searchLink><br /><searchLink fieldCode="AR" term="%22Bianchini%2C+Calebe+P%2E%22">Bianchini, Calebe P.</searchLink><br /><searchLink fieldCode="AR" term="%22Silva%2C+Leandro+A%2E%22">Silva, Leandro A.</searchLink>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: Journal of Web Engineering; 2025, Vol. 24 Issue 6, p911-942, 32p
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22JAVA+programming+language%22">JAVA programming language</searchLink><br /><searchLink fieldCode="DE" term="%22COMPUTER+architecture%22">COMPUTER architecture</searchLink><br /><searchLink fieldCode="DE" term="%22PYTHON+programming+language%22">PYTHON programming language</searchLink><br /><searchLink fieldCode="DE" term="%22COMPUTER+networks%22">COMPUTER networks</searchLink><br /><searchLink fieldCode="DE" term="%22OPEN+source+software%22">OPEN source software</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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. [ABSTRACT FROM AUTHOR]
– Name: Abstract
  Label:
  Group: Ab
  Data: <i>Copyright of Journal of Web Engineering is the property of River Publishers and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://erproxy.cvtisr.sk/sfx/access?url=https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edb&AN=188168024
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.13052/jwe1540-9589.2463
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 32
        StartPage: 911
    Subjects:
      – SubjectFull: JAVA programming language
        Type: general
      – SubjectFull: COMPUTER architecture
        Type: general
      – SubjectFull: PYTHON programming language
        Type: general
      – SubjectFull: COMPUTER networks
        Type: general
      – SubjectFull: OPEN source software
        Type: general
    Titles:
      – TitleFull: Discovery of Modularity in Monolithic Java Project Codes Using Complex Networks.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Cordeiro de Brito Jr, Marcos
      – PersonEntity:
          Name:
            NameFull: Bianchini, Calebe P.
      – PersonEntity:
          Name:
            NameFull: Silva, Leandro A.
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 09
              Text: 2025
              Type: published
              Y: 2025
          Identifiers:
            – Type: issn-print
              Value: 15409589
          Numbering:
            – Type: volume
              Value: 24
            – Type: issue
              Value: 6
          Titles:
            – TitleFull: Journal of Web Engineering
              Type: main
ResultId 1