复杂软件系统的社区结构:分析与应用
Community structure of complex software systems: Analysis and applications
摘要:
由于在快速发展的复杂网络领域的显着发现,最近的研究在软件工程也集中在表示软件系统与网络。以前的工作已经观察到,这些网络遵循无标度分布,并揭示了小世界现象,而我们在这里探索另一种常见于不同复杂网络的性质,即社区结构。我们采用类依赖网络,其中节点代表软件类和边缘代表它们之间的依赖关系,并表明这些网络揭示了一个显着的社区结构,其特征在于在其他复杂网络中观察到的类似属性。然而,尽管不同的现象是直观的和预期的,但识别的社区并不完全对应于软件包。我们实证证实了我们的观察,从Java和各种第三方库构建的几个网络,并提出不同的应用程序社区发现软件工程。
英文摘要:
Due to notable discoveries in the fast evolving field of complex networks, recent research in software engineering has also focused on representing software systems with networks. Previous work has observed that these networks follow scale-free degree distributions and reveal small-world phenomena, while we here explore another property commonly found in different complex networks, i.e. community structure. We adopt class dependency networks, where nodes represent software classes and edges represent dependencies among them, and show that these networks reveal a significant community structure, characterized by similar properties as observed in other complex networks. However, although intuitive and anticipated by different phenomena, identified communities do not exactly correspond to software packages. We empirically confirm our observations on several networks constructed from Java and various third party libraries, and propose different applications of community detection to software engineering.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。