[发明专利]一种软件复杂网络的三维坐标模型构建方法有效
申请号: | 201610915503.0 | 申请日: | 2016-10-20 |
公开(公告)号: | CN106502669B | 公开(公告)日: | 2019-05-03 |
发明(设计)人: | 艾骏;张少雄;王菲;苏文翥;杨雨微;王佳明;杨益文 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 祗志洁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种软件复杂网络的三维坐标模型构建方法,应用于软件复杂网络领域。本发明首先确定目标结构化软件,并获取其完整的软件源代码,再对目标软件源代码进行静态扫描,分析软件中的函数以及函数之间的调用关系,然后以函数作为网络节点,函数调用关系作为网络边,构建函数调用网络,在函数调用网络中加入函数调用顺序信息,根据函数调用顺序信息以及函数调用拓扑结构,为每个函数节点生成一组唯一的三维坐标并写入网络节点中,得到结构化软件基于函数调用顺序的函数调用坐标网络,然后使用这些三维坐标来指导网络可视化工作。本发明得到的网络节点呈现极强的有序性,能够在复杂网络的模型下提供软件运行相关的逻辑信息。 | ||
搜索关键词: | 一种 软件 复杂 网络 三维 坐标 模型 构建 方法 | ||
【主权项】:
1.一种软件复杂网络的三维坐标模型构建方法,实现步骤如下:步骤1:确定目标结构化软件,并获取完整的软件源代码;步骤2:对目标软件源代码进行静态扫描,分析软件中的函数以及函数之间的调用关系;步骤3:以函数作为网络节点,函数调用关系作为网络边,构建目标结构化软件的函数调用网络;其特征在于,步骤4:在步骤3得到的函数调用网络中,加入函数调用顺序信息,函数调用顺序以函数调用语句在代码中行号顺序为准;步骤5:根据函数调用顺序以及函数调用拓扑结构,为每个函数节点生成一组唯一的三维坐标,得到目标结构化软件基于函数调用顺序的函数调用坐标网络;所述的函数调用坐标网络表示为DCOORD,定义如下:DCOORD={V,E}V={vi=(name,file,coord=(ρi,θi,zi),val=(αi,βi))|i∈[1,n]}E={ei=(vsource,vtarget,codeline)|vsource,vtarget∈V;vsource≠vtarget}其中,n表示目标结构化软件中的函数个数;V为节点集合,该集合中的每一个元素vi对应软件中的一个函数,节点vi包含属性有:函数名name、函数所在文件file、三维坐标coord、影响力角度区间val;ρi,θi,zi为节点vi三维坐标的三个值,αi,βi为节点vi影响力角度区间的最小值和最大值;E为边集合,该集合中的每一个元素对应软件中的一对函数调用关系,边ei的属性包括:调用起始节点vsource、调用终止vtarget、该边对应的函数调用语句首次出现在代码中的行号codeline;具体方法是:首先,对网络进行分层,层数等同于所有节点中入度为零的节点数量n_entrance;入度为零的节点是指没有直接被其他函数调用过的函数;分层的子网络Dl定义如下:El={(vsource,vtarget,codeline)|vsource,vtarget∈Vl}其中,C表示取补集,节点vmaxRF的定义为:记集合Vl的根节点root(Vl)=vmaxRF;RF(vi)表示节点vi的波及度;然后,对每层的子网络Dl进行深度优先遍历,得到Dl的深度优先遍历树Dl'为:令coord(root(Vl))=(0,0,l),val(root(Vl))=(0,2π),则对且RF(vk)>0,一定存在V*满足:其中,vk1,vk2,...,vkm表示树Dl'中节点vk的子节点,codeline(vki)为节点vk到vki的边的属性值codeline;节点vk的子节点vki的影响力角度区间(αki,βki)为:其中,为中间参数,(αk,βk)为节点vk的影响力角度区间,RF(vk)为节点vk的波及度;最后,得到节点vki的坐标coord=(ρki,θki,zki)为:zki=l表示节点root(Vl)到节点vki的连接边数量。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610915503.0/,转载请声明来源钻瓜专利网。