目前一些研究利用复杂网络理论揭示了软件网络的特性,为人们从系统的角度了解软件的结构提供了方法.但这些研究的一些结论却与软件的实际表现有着较大的差异.分析了软件网络结点的特性,揭示了产生上述差距的部分原因;并提出一种加权软件网络模型,以更准确地描述软件网络结点间的依赖关系;在这个加权软件网络模型的基础上,分析了软件的实际依赖关系及几个统计特性;分析了各统计特性与软件网络结点影响的关系;进一步提出了软件网络关键结点的概念;同时,在分析各种结点影响的基础上,提出了4 个合理的假设;最后,通过对两款软件的实验来验证这4 个假设的有效性.
The complex network theory has been used to reveal some typical features of software networks. It provides a new way for us to understand the software structure from the system view. However, there exist some gaps between the theoretical results and the practical performance of software systems. This paper aims to reveal some essential causes for the above difference by analyzing the characteristics of software network nodes. This paper proposes a novel weighted network model to much more accurately describe the dependencies among the software network nodes. Based on this model, this paper analyzes the actual dependencies of the software network nodes and several statistical characteristics. Also, this paper further analyzes the relationships between these statistical characteristics and the nodes impact. Furthermore, this paper introduces the concept of the key node and four fundamental hypotheses. Finally, this paper verifies the effectiveness of the above four hypotheses by designing the experiments on two software systems. This study provides a guide to research in defects propagation, software reliability and software integration testing.