基于复杂网络的软件演化分析技术研究

来源 :燕山大学 | 被引量 : 0次 | 上传用户:hubeibei1919
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
演化是软件生命周期的重要部分。挖掘软件仓库的代码信息可以提供更多软件演化的信息。随着软件系统越来越复杂,软件系统的结构特征越来越复杂,并且为了满足新的应用需求,软件系统也在不断的更新迭代。软件的演化分析也渐渐引起人们的关注,出现了许多用于演化分析的技术和工具,本文提出了软件网络社团匹配和演化异常点检测的方法,来更好地挖掘软件演化过程中的重要元素信息,得到程序演化过程中细化的变更信息,进一步指导软件系统的迭代开发。首先,提出一种基于软件动态执行轨迹的软件网络模型构建方法。通过在软件执行过程中设定不同测试用例,多次执行软件程序,获取执行过程中函数调用的相关信息。对多次执行结果进行合并,最终实现软件网络模型的构建。其次,利用算法(MinTopKNodes,MTKN)挖掘软件网络中的关键节点。在软件系统动态执行过程中,基于函数之间的调用关系、调用顺序与调用次数,分析直接相邻的邻居节点和可达节点的影响力,通过计算节点最终权值确定关键节点。再次,提出一种基于关键节点的软件网络模糊社团划分算法(Function Belongingness Matrix Generation,FBM-Gen)。在关键节点的基础上,引入社团理论,并提出函数隶属矩阵的概念进行量化。以软件网络中的关键节点为社团中心,通过模糊社团划分算法来获取软件程序的函数隶属矩阵,为社团匹配打下基础。最后,提出一种基于社团匹配的异常点检测算法(Software Evolutionary Community Outliers Detection,SECO-Detection)。通过公式推导得出软件两个迭代版本的匹配计算方法。算法结果用来对比分析软件演化过程中社团的演化情况,并能同时找出软件演化过程中与本社团其他节点有较大差异的异常节点。对本课题提出的算法用Java语言在Windows平台下进行实现。通过真实数据集与合成数据集来验证算法的高效性、准确性和运行稳定性。
其他文献
无线网络的普及和电气设备的不断小型化极大的促进了无线体域网(Wireless Local Area Network,WBAN)的发展。WBAN的使用极大的改善了病人的生活质量,给现有医疗保健系统带来
分级孔炭(HPC)是一种具有微、介、大孔相互交联的炭材料,是一种极具潜力的超级电容器和锂离子电池电极材料。HPC的传统制备方法有外加模板法或化学活化法,但往往存在步骤复杂、
随着视频、IP、网络业务的爆炸式增长,人们对传输速率与带宽的需求也日益增大。大量增加光传输/接入设备能极大满足当前需求,这也导致光网络变得越来越复杂,随之而来的光网络
近年来,新兴经济体经济迅速增长,普遍面临着信贷激增的问题。当信贷超过经济基本面的正常需求时便会对东道国的银行体系产生冲击,危及宏观经济稳定性。而在金融自由化和资本
LTE-A(Long Term Evolution Advanced,增强的长期演进)作为真正的4G标准技术,标志着移动通信技术已经发展到了一个全新的历史阶段,旨在于满足日益剧增的社会需求,并进一步推动
目的分析食管癌的流行趋势,探讨食管癌发病的相关因素,为进一步预防食管癌的发病及流行提供依据。方法收集国际癌症研究中心的统计资料,并检索万方数据知识服务平台、中国知
无人水面艇(unmanned surface vessel,简称USV),是一种无人操作的水面舰艇,主要用于执行危险以及不适于有人船只执行的任务。目前各国都竞相研制无人艇。我国也紧随美国、日
会议
随着移动通信系统的不断发展,手持智能终端设备迅速普及,用户对移动宽带的需求不断增加,未来无线蜂窝网络必须具备高速率、大容量、高服务质量的特点。鉴于此,D2D(Device to
有机发光二极管(OLED)在光学显示领域备受广泛的关注。目前应用于OLED发光材料的主要是Ir3+、Pt2+、Ru2+和Os2+等金属配合物,然而这些金属价格昂贵、储量少,在一定程度上制约了
Ad Hoc网络又称为多跳网或自组织网,是一种无中心的、多跳的自组织无线网络。其特点是网络中的每个节点都在无规则移动,网络拓扑也经常变化。网络中的每个节点都具有转发数据