Skip to main content
QUICK REVIEW

[论文解读] A Generative Model of Software Dependency Graphs to Better Understand Software Evolution

Vincenzo Musco, Martin Monperrus|arXiv (Cornell University)|Oct 29, 2014
Complex Network Analysis Techniques参考文献 37被引用 7
一句话总结

本文提出GD-GNC,一种用于生成合成软件依赖图的生成模型,通过结合优先连接与节点复制机制,模仿真实Java软件系统的结构。实验表明,GD-GNC生成的图在度分布、谱特性及结构度量方面与真实软件系统高度一致,表明软件演化是由复用现有类并重构为可重用组件所驱动。

ABSTRACT

Software systems are composed of many interacting elements. A natural way to abstract over software systems is to model them as graphs. In this paper we consider software dependency graphs of object-oriented software and we study one topological property: the degree distribution. Based on the analysis of ten software systems written in Java, we show that there exists completely different systems that have the same degree distribution. Then, we propose a generative model of software dependency graphs which synthesizes graphs whose degree distribution is close to the empirical ones observed in real software systems. This model gives us novel insights on the potential fundamental rules of software evolution.

研究动机与目标

  • 识别多样化Java应用程序中软件依赖图的共同结构模式。
  • 开发一种能复现真实软件依赖图经验结构特性的生成模型。
  • 通过多种图度量和统计检验,将模型与真实世界数据进行验证。
  • 通过合成图生成揭示软件开发中的潜在演化规则。
  • 为未来关于软件演化的研究(包括版本系列与图基元)提供基础。

提出的方法

  • 提出GD-GNC,一种基于优先连接与节点复制的生成模型,灵感源自GNC(边驱动优先连接)模型。
  • 使用累积度分布(CDF)比较合成图与真实图,重点关注入度与出度分布。
  • 采用统计检验评估合成图与真实软件依赖图之间的拟合优度。
  • 评估包括直径、传递性、模块度、平均最短路径长度及谱特性在内的图度量。
  • 通过多种结构与拓扑度量,将GD-GNC与Baxter & Frean模型及其他生成模型进行比较。
  • 在50个真实Java软件系统上验证模型,共包含23,178个节点与108,404条边。

实验结果

研究问题

  • RQ1RQ1:在多样化Java应用程序的软件依赖图中,是否存在共通的度分布结构模式?
  • RQ2RQ2:GD-GNC在复现真实软件依赖图结构特性方面,相较于现有生成模型表现如何?
  • RQ3RQ3:生成模型的行为揭示了软件开发中的哪些潜在演化规则?
  • RQ4RQ4:生成模型能否在度分布之外的多个度量上生成与真实图高度匹配的合成图?

主要发现

  • 在50个Java软件系统中普遍存在一种非对称度分布模式,入度与出度分布特征显著不同。
  • GD-GNC生成的合成图在度分布上与真实软件依赖图高度匹配,经统计检验确认。
  • 在直径、传递性与模块度等多项度量上,该模型在拟合实证数据方面优于Baxter & Frean模型。
  • GD-GNC生成图的谱特性与平均最短路径长度在统计上与真实软件图无显著差异。
  • 该模型表明,软件演化由复用现有类并重构为可重用组件所驱动。
  • 生成模型为软件核心演化机制可通过简单、基于规则的过程实现提供了有力证据。

更好的研究,从现在开始

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

无需绑定信用卡

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