Skip to main content
QUICK 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 Techniques参考文献 7被引用 3
一句话总结

本文将复杂网络分析应用于Hibernate 5.1.3的静态调用图,揭示其表现出小世界和无标度拓扑特性,且模块化程度高,表明存在强烈的社区结构。通过中心性度量识别出关键组件,表明网络理论度量可揭示超越传统软件度量的架构洞察。

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.

研究动机与目标

  • 探究复杂网络分析是否能揭示软件系统中的架构显著特性。
  • 使用网络理论度量评估Hibernate静态调用图的拓扑特性。
  • 通过中心性和模块化分析识别关键软件组件,以获得架构洞察。
  • 在软件架构背景下,比较传统软件度量与复杂网络度量。
  • 开发工具,以实现从基于Java的软件中可访问的静态调用图提取。

提出的方法

  • 使用自定义调用图提取器从Hibernate core.jar(版本5.1.3)中提取静态调用图。
  • 将调用图表示为复杂网络,其中软件元素作为节点,方法调用作为边。
  • 应用Erdős–Rényi随机网络模型,链接概率p ≈ 0.0001525,以检验小世界特性。
  • 计算Hibernate网络的平均聚类系数(C = 0.194)和平均最短路径(d = 19.664),并与随机网络(C ≈ 0,d ≈ 3.479)进行比较。
  • 使用Louvain算法进行模块化优化,以检测社区结构,获得M = 0.838。
  • 应用中心性度量(度中心性、接近中心性、特征向量中心性、PageRank)对关键软件组件进行排序。

实验结果

研究问题

  • RQ1大规模Java类库(如Hibernate)的静态调用图是否表现出小世界特性?
  • RQ2Hibernate调用图是否为无标度网络,表明其度分布符合幂律分布?
  • RQ3调用图在多大程度上表现出社区结构?形成了多少个社区?
  • RQ4根据复杂网络度量,哪些软件组件最为中心或具有影响力?
  • RQ5复杂网络度量能否揭示传统软件度量无法捕捉的架构洞察?

主要发现

  • Hibernate调用图表现出小世界特性,具有较高的聚类系数(C = 0.194)和相对较短的平均路径长度(d = 19.664),显著高于随机网络的d ≈ 3.479。
  • 该网络表现出无标度拓扑,度分布的幂律指数α ≈ 2.6,表明存在少数高度连接的组件和大量连接稀疏的组件。
  • 模块化分析揭示了强烈的社区结构,M = 0.838,接近理论最大值,共形成446个独立社区,其中最大的10个社区包含所有节点的47.45%。
  • 按度中心性排名前10的组件包括org.hibernate.type.BasicType、org.hibernate.dialect.Dialect和org.hibernate.boot.MetadataBuilderImpl,表明其具有高度连通性。
  • 如org.hibernate.type.BasicType和org.hibernate.dialect.Dialect等组件在多种中心性度量中排名靠前,表明其具有架构重要性。
  • 本研究证实,复杂网络分析可揭示模块化和无标度行为等结构特性,这些特性难以通过传统软件度量检测。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。