Skip to main content
QUICK REVIEW

[Paper Review] Complex Networks Analysis for Software Architecture: an Hibernate Call Graph Study

Daniel Henrique Mourão Falci, Orlando Gomes|arXiv (Cornell University)|Jun 29, 2017
Complex Network Analysis Techniques7 references3 citations
TL;DR

This paper applies complex network analysis to the static call graph of Hibernate 5.1.3, revealing it exhibits small-world and scale-free topologies with high modularity, indicating strong community structure. The study identifies key components via centrality measures, demonstrating that network theory metrics uncover architectural insights beyond traditional software metrics.

ABSTRACT

Recent advancements in complex network analysis are encouraging and may provide useful insights when applied in software engineering domain, revealing properties and structures that cannot be captured by traditional metrics. In this paper, we analyzed the topological properties of Hibernate library, a well-known Java-based software through the extraction of its static call graph. The results reveal a complex network with small-world and scale-free characteristics while displaying a strong propensity on forming communities.

Motivation & Objective

  • To investigate whether complex network analysis can reveal architecturally significant properties in software systems.
  • To evaluate the topological characteristics of Hibernate’s static call graph using network theory metrics.
  • To identify key software components through centrality and modularity analysis for architectural insight.
  • To compare traditional software metrics with complex network measures in the context of software architecture.
  • To develop tools for accessible static call graph extraction from Java-based software.

Proposed method

  • Extracted the static call graph from Hibernate core.jar (version 5.1.3) using a custom call graph extractor.
  • Represented the call graph as a complex network with software elements as nodes and method calls as edges.
  • Applied the Erdős–Rényi random network model with link probability p ≈ 0.0001525 to test for small-world properties.
  • Calculated average clustering coefficient (C = 0.194) and average shortest path (d = 19.664) for the Hibernate network and compared them to random networks (C ≈ 0, d ≈ 3.479).
  • Used the Louvain algorithm for modularity optimization to detect communities, achieving M = 0.838.
  • Applied centrality measures (degree, betweenness, eigenvector, PageRank) to rank top software components.

Experimental results

Research questions

  • RQ1Does the static call graph of a large-scale Java library like Hibernate exhibit small-world characteristics?
  • RQ2Is the Hibernate call graph scale-free, indicating power-law degree distribution?
  • RQ3To what extent does the call graph display community structure, and how many communities are formed?
  • RQ4Which software components are most central or influential according to complex network measures?
  • RQ5Can complex network metrics reveal architectural insights not captured by traditional software metrics?

Key findings

  • The Hibernate call graph exhibits small-world characteristics, with a high clustering coefficient (C = 0.194) and a relatively short average path length (d = 19.664), significantly higher than the random network’s d ≈ 3.479.
  • The network displays a scale-free topology, with a degree distribution power-law exponent α ≈ 2.6, indicating a few highly connected components and many sparsely connected ones.
  • Modularity analysis revealed strong community structure with M = 0.838, close to the theoretical maximum, and 446 distinct communities, with the 10 largest containing 47.45% of all nodes.
  • The top 10 components by degree centrality include org.hibernate.type.BasicType, org.hibernate.dialect.Dialect, and org.hibernate.boot.MetadataBuilderImpl, indicating high connectivity.
  • Components such as org.hibernate.type.BasicType and org.hibernate.dialect.Dialect ranked highly across multiple centrality measures, suggesting architectural importance.
  • The study confirms that complex network analysis can uncover structural properties—such as modularity and scale-free behavior—that are not easily detectable via traditional software metrics.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.