基于函数调用关系分析软件网络特征

来源 :燕山大学 | 被引量 : 0次 | 上传用户:sally20095
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
互联网的飞速发展在方便社会的同时,也带来了一系列的网络隐患。针对软件系统稳定性和安全性的问题,本文基于软件网络系统节点之间的调用关系、调用顺序以及内在的调用次数,引入复杂网络理论知识,从网络拓扑结构的角度,对软件系统的节点、路径、社团组织等结构特征进行了研究和分析。首先,为了更清晰地展示软件执行过程中的相关信息,根据函数间的调用关系,提出一种构建软件网络模型的新方法。基于在动态软件执行过程中设定不同测试用例,多次执行软件系统,追踪执行过程中函数调用的相关信息。通过对多次执行结果进行合并,最终实现软件网络模型的构建。其次,在软件系统动态执行过程中,基于函数之间的调用关系、调用顺序与调用次数,分析直接相邻的邻居节点和可达节点的影响力,在算法CIWN(calInitialWeightOfNode)和算法CFWN(calFinalWeightOfNode)分别计算节点的初始权值NIW(Node Initial Weight)和最终权值NFW(Node Final Weight),也就是直接邻居的影响力和在某一范围内所有可达节点的影响力。并通过算法MTKN(MinTopKNodes)对节点的权值进行排序,挖掘网络中的关键节点。展示了关键节点在软件各版本中的分布情况,从而了解软件演化过程中关键节点的特点。再次,针对软件各部件之间的调用关系,提出一种挖掘算法IIEP(idenImporExePath),挖掘网络中的关键路径。算法考虑了每条路径总节点中关键节点所占百分比,分析软件不同版本中的重要路径,用以指导将来的软件维护和预测。最后,引入社团理论,依据软件网络中的关键节点,提出算法COC(createOriginalCommunity)初始化软件网络中的社团结构。基于节点间不同的依赖程度,给出算法ETC(expandTheCommunity)扩展初始社团,将其他节点划分到不同的社团结构中,获取最优的划分。考虑软件“高内聚,低耦合”的特性,采用标准模块度Q来评估软件网络中社团结构。本文通过对三款软件进行实验,分析软件的网络结构,挖掘软件系统的潜在性质,验证所提方法的有效性和正确性。
其他文献
人脸识别技术在身份验证、监控系统等领域引起了人们的广泛关注,成为近年来比较热门的研究课题。然而,由于人脸本身的复杂性(如表情变化、眼镜或头发遮挡、姿态等)以及成像实时
直接体绘制是体数据可视化中应用最广泛的方法之一,它能够从体数据集中抽取内在的本质信息,并借助交互式的图形图像技术展现出来,提供了一种洞察体数据内部结构的最佳途径。
网络隐蔽信道(Covert Channels)的发展来源来生活,是指允许违反系统安全策略的方式传送信息的通信信道。对安全策略产生了重大的威胁,在操作系统、安全数据库以及安全网络中
粒子群优化算法(Particle Swarm Optimization, PSO)是由Kennedy博士和Eberhart博士在1995年提出的算法,该算法是一种新颖的仿生优化算法,由于粒子群优化算法的基本原理简单
随着光电、计算机等技术的飞速发展,以及图形学等理论研究的不断深入,三维人体动画技术在关键帧技术、运动学、动力学等传统方法的基础上,演进产生了效果更加逼真的运动捕获
互联网的出现给人们带来了极大的便利,随着网络的高速发展,互联网已经逐渐开始取代传统的电视和电话业务,成为了主要的交流沟通工具和信息获取渠道。近年来,伴随着网络技术的
时间是信息空间中很重要的一个维度。大部分的网页中均包含时态信息,许多Web查询也包含时态查询信息。这些时态信息在Web信息检索和网页聚类中具有很重要的作用。将时态信息
数据挖掘技术能发现数据之间的潜在关系,从而提供决策支持,因此是数据库研究中极具应用前景的领域。关联规则是数据挖掘的重要工具之一,序列模式挖掘是对关联规则的进一步推广。
随着SOA的发展应用,网络上有越来越多的跨平台甚至跨语言的服务,当用户提出服务请求后,如何根据请求快速自动发现分布在Web上的相关服务,这就是研究的动机所在。   现有的服务
随着网络普及与发展,数字产品的共享变得越来越容易和频繁,多媒体作品的版权保护问题已经迫在眉睫,数字水印技术作为数字产品版权保护的主要手段,对其进行研究的必要性也越来