摘要
随着人们对软件功能需求的不断增加,软件系统的结构和规模越来越复杂。如何对复杂软件系统的拓扑结构及其质量进行有效分析和评估是软件工程中亟待解决的难题。采用复杂网络理论对软件系统进行建模和求解,将软件源代码中的函数作为节点,函数之间的调用关系看作有向边,函数调用次数作为边的权重,提出了一种软件动态执行加权网络模型的构建方法。通过对TAR、GEDIT、EMACS这3个开源软件系统的建模及网络特征分析,发现软件系统动态执行的加权拓扑网络满足小世界效应和无标度特性,即符合复杂网络特性。基于此结论,进一步利用CML(耦合映像格子)网络故障传播模型对软件系统的级联效应进行了模拟,通过实验发现了影响软件级联故障的主要因子,这些因子为软件质量保证等研究提供了重要支持。
As the functional requirements of software keep growing, the structure and scale of software systems become more and more complicated. In order to analyze the topology and quality of complex software systems, the theory of complex networks was introduced to model and solve software engineering problems. This paper regarded functions in the source code of the software as nodes, function-calls in the source code of the software as directed edges, and the number of function-calls as the weight of edges, then presented a method of constructing the weighted software dynamic execution routes topological network. The results on the statistical analysis of the networks obtained from three soft- ware programs,TAR,GEDIT and EMACS show that the weighted network of the software execution process fits in with the small-world effect and the scale-free property of complex networks. Based on that, we further took advantage of the CML (Coupled Map Lattice) model in complex networks to simulate and analyze the cascading effect for software systems and discovered the main factors that influence the cascading failures in software systems, which will give an im- portant support for the research of software quality assurance.
出处
《计算机科学》
CSCD
北大核心
2014年第8期109-114,共6页
Computer Science
基金
国家自然科学基金(61272174)资助
关键词
复杂网络
软件执行路径
加权拓扑网络
CML模型
级联故障
Complex networks, Software execution route, Weighted topological network, CML model, Cascading failure