Linux内核函数调用关系的复杂网络分析

2012-07-12 02:06:02丁德武
池州学院学报 2012年6期
关键词:分析

丁德武

(池州学院 数学与计算机科学系,安徽 池州 247000)

近年来,研究人员发现现实世界中的大多数复杂系统都可以用网络来描述,即:使用节点来表示系统中的元素,使用连线来表示它们之间的关系[1]。在过去的十数年间,众多的复杂网络模型吸引了研究人员浓厚的兴趣,也引领了诸如数学、物理学、生物学和社会学等多个学科领域的快速发展[1-2]。但是,计算机科学特别是软件工程领域的复杂网络研究还处于初期阶段,当前的研究内容主要包括:对软件系统的内部拓扑结构进行实证分析;对软件系统的复杂性进行度量和评估;学习软件系统的形成和演化过程;等等[3-4]。

图1 一个简单的函数调用图

一般地,可以用节点表示大型软件系统中的函数,用连线表示函数之间的调用关系(图1)[5]。这种函数调用图可以用来反映软件系统中函数之间的调用关系,在程序理解、程序分析、软件测试与维护等众多软件工程领域都有着广泛的应用[5],是该领域的一种重要复杂网络模型[3-4]。本文从复杂网络的角度,使用函数调用图分析了Linux内核的源代码结构,完成了对其内部重要拓扑结构特征的实证分析,同时也使用几种主流的中心化分析方法考察了其中的关键函数。

1 Linux内核函数调用图

我们首先获取了一个Linux内核源码,随后以节点表示函数,节点间的连线表示函数之间的调用关系,构造了Linux内核的函数调用图,该模型包含了12390个节点和 33553条连线[6]。随后,我们依据复杂网络的蝴蝶结结构特征,将Linux内核的函数调用图分解成如下4个部分:巨强连通体,底物子集,产物子集和孤立子集。……

登录APP查看全文

猜你喜欢
分析
禽大肠杆菌病的分析、诊断和防治
隐蔽失效适航要求符合性验证分析
电力系统不平衡分析
电子制作(2018年18期)2018-11-14 01:48:24
电力系统及其自动化发展趋势分析
经济危机下的均衡与非均衡分析
对计划生育必要性以及其贯彻实施的分析
现代农业(2016年5期)2016-02-28 18:42:46
GB/T 7714-2015 与GB/T 7714-2005对比分析
出版与印刷(2016年3期)2016-02-02 01:20:11
网购中不良现象分析与应对
中西医结合治疗抑郁症100例分析
伪造有价证券罪立法比较分析