The invention discloses a software module change impact determination method based on complex network dynamic simulation, which belongs to the field of software complex network. The method comprises: firstly, the source code of the target software is scanned statically, and the software attribute method network is constructed; secondly, the granularity of the software module is identified according to actual needs, and the software is complex. The network model simulates the influence propagation after the change occurs in the software module, and obtains the quantization value and the influence range of each node. Finally, the attenuation coefficient of each node in each change propagation generation is summed up as the quantization value of the influence degree of each node, and the quantization value is worth to the software network. The visualization of the impact of change. The method integrates the propagation characteristics of change and node characteristics for dynamic simulation. By utilizing the attenuation process of change influence, the whole measurement and analysis process can be realized in the background, and is established in a fully automated process to ensure the maximum reduction of labor and time costs.
【技术实现步骤摘要】
一种基于复杂网络动态仿真的软件模块变更影响确定方法
本专利技术属于软件复杂网络领域,是一种基于软件网络动态仿真的软件模块变更影响确定方法。
技术介绍
随着信息技术的不断发展,计算机软件已经广泛应用于人类生活的方方面面,为人类社会经济的发展和科研的进步做出了巨大的贡献,软件的重要性急剧上升。与此同时,由于人们对软件功能需求的增多和软件应用环境的日益复杂,软件系统的规模和复杂性不断增长。变更可以是因为用户提出新的需求,软件使用过程中发现的错误,或是因为软件所使用的环境发生变化。对软件进行变更时,肯定会对软件的其他模块造成一些潜在影响,从而带来软件的不一致性。软件修改影响分析,就是用来识别软件修改对软件其他部分带来的潜在影响的。而复杂网络的出现,为软件模块变更的影响确定提供了新的方法。复杂网络是一种用于描述复杂系统的模型,通过将软件系统中的包、类、函数等元素以及元素之间的关系抽象为节点和边,整个软件可以抽象为一种具有特定拓扑结构的网络形态。这样的软件拓扑结构网络有助于程序开发人员对于软件整体框架有一个直观全面的理解,有利于对整个软件项目的开发、测试等工作。同时,这种软件网络在软件的演化规律、软件结构的复杂性和稳定性等方面取得了很好的研究效果。目前已有研究人员在软件网络中研究节点的波及效应,并进行了波及度的研究。对变更传播建立模型是探索影响传播规律的重要手段。目前的研究认为(参考文件:孙小兵,李斌,陈颖,李必信,文万志.软件修改影响分析研究与进展[J].电子学报,2014,42(12):2467-2476.),软件的缺陷、变更等的传播,因为软件结构是一种复杂网络, ...
【技术保护点】
1.一种基于复杂网络的软件模块变更影响确定方法,对待分析的目标软件,以软件系统中类的属性和方法为网络节点,构建软件属性方法网络,再根据需要识别的软件模块粒度,对属性方法网络进行组织和抽象构造相应粒度的软件复杂网络模型;其特征在于,在软件复杂网络模型基础上,对变更发生在确定软件模块后的影响传播进行动态仿真,得到各节点受影响程度量化值和变更影响范围;所述的方法采用软件变更影响传播仿真模型来进行动态仿真;仿真参数从变更传播特性和节点特性两方面来度量;变更传播特性的仿真参数包括:正向衰减率k正、逆向衰减率k逆、影响被标记的最小阈值s_min和变更传播的代数time;节点特性的仿真参数包括介数、度和紧密度活性;仿真过程中采用广度优先的遍历方式寻找受到影响波及的下一代节点,对于传播路径上的节点i,当节点i的衰减系数βi小于等于最小阈值s_min时,停止对节点i的影响波及计算;其中,衰减系数βi与变更传播的代数time呈指数正相关,表示为βi∝(k正/逆)(time);最后,将节点i在每个变更传播代的衰减系数求和,作为节点i受影响程度量化值。
【技术特征摘要】
1.一种基于复杂网络的软件模块变更影响确定方法,对待分析的目标软件,以软件系统中类的属性和方法为网络节点,构建软件属性方法网络,再根据需要识别的软件模块粒度,对属性方法网络进行组织和抽象构造相应粒度的软件复杂网络模型;其特征在于,在软件复杂网络模型基础上,对变更发生在确定软件模块后的影响传播进行动态仿真,得到各节点受影响程度量化值和变更影响范围;所述的方法采用软件变更影响传播仿真模型来进行动态仿真;仿真参数从变更传播特性和节点特性两方面来度量;变更传播特性的仿真参数包括:正向衰减率k正、逆向衰减率k逆、影响被标记的最小阈值s_min和变更传播的代数time;节点特性的仿真参数包括介数、度和紧密度活性;仿真过程中采用广度优先的遍历方式寻找受到影响波及的下一代节点,对于传播路径上的节点i,当节点i的衰减系数βi小于等于最小阈值s_min时,停止对节点i的影响波及计算;其中,衰减系数βi与变更传播的代数time呈指数正相关,表示为βi∝(k正/逆)(time);最后,将节点i在每个变更传播代的衰减系数求和,作为节点i受影响程度量化值。2.根据权利要求1所述的方法,其特征在于,所述的正向衰减率k正是计算变更模块在其正向相连模块上传播其影响的基础变量,正向衰减过程的出发点是变更发生的模块;设置k正是一个介于0和1之间的数,且大于等于影响被标记的最小阈值s_min;所述的逆向衰减率是计算变更模块在其逆向相连模块上传播其影响的基础变量,逆向衰减过程的出发点是变更发生的模块;设置k逆是一个介于0和1之间的数,且大于等于影响被标记的最小阈值s_min。3.根据权利要求1所述的方法,其特征在于,所述的节点特性的仿真参数中,节点i的介数bci的计算公式为:其中,guv为从节点u到节点v的最短路径的数目,niuv为从节点u到节点v的最短路径中经过节点i的最短路径的数目;进一步得到节点i的相对介数betw为:其中,表示软件复杂网络中所有节点的介数平均值,n为软件复杂网络中的节点数量。4.根据权利要求1所述的方法,其特征在于,所述的节点特性的仿真参数中,节点i的度di定义为与节点i连接的其他节点的数目;进一步得到节点i的相对度dge为:其中,表示软件复杂网...
【专利技术属性】
技术研发人员:艾骏,邹卓良,苏文翥,杨益文,郭皓然,王飞,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。