发明名称 一种软件复杂网络的三维坐标模型构建方法
摘要 本发明提供了一种软件复杂网络的三维坐标模型构建方法,应用于软件复杂网络领域。本发明首先确定目标结构化软件,并获取其完整的软件源代码,再对目标软件源代码进行静态扫描,分析软件中的函数以及函数之间的调用关系,然后以函数作为网络节点,函数调用关系作为网络边,构建函数调用网络,在函数调用网络中加入函数调用顺序信息,根据函数调用顺序信息以及函数调用拓扑结构,为每个函数节点生成一组唯一的三维坐标并写入网络节点中,得到结构化软件基于函数调用顺序的函数调用坐标网络,然后使用这些三维坐标来指导网络可视化工作。本发明得到的网络节点呈现极强的有序性,能够在复杂网络的模型下提供软件运行相关的逻辑信息。
申请公布号 CN106502669A 申请公布日期 2017.03.15
申请号 CN201610915503.0 申请日期 2016.10.20
申请人 北京航空航天大学 发明人 艾骏;张少雄;王菲;苏文翥;杨雨微;王佳明;杨益文
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 祗志洁
主权项 一种软件复杂网络的三维坐标模型构建方法,实现步骤如下:步骤1:确定目标结构化软件,并获取完整的软件源代码;步骤2:对目标软件源代码进行静态扫描,分析软件中的函数以及函数之间的调用关系;步骤3:以函数作为网络节点,函数调用关系作为网络边,构建目标结构化软件的函数调用网络;其特征在于,步骤4:在步骤3得到的函数调用网络中,加入函数调用顺序信息,函数调用顺序以函数调用语句在代码中行号顺序为准;步骤5:根据函数调用顺序以及函数调用拓扑结构,为每个函数节点生成一组唯一的三维坐标,得到目标结构化软件基于函数调用顺序的函数调用坐标网络;所述的函数坐标网络表示为D<sub>COORD</sub>,定义如下:D<sub>COORD</sub>={V,E}V={v<sub>i</sub>=(name,file,coord=(ρ<sub>i</sub>,θ<sub>i</sub>,z<sub>i</sub>),val=(α<sub>i</sub>,β<sub>i</sub>))|i∈[1,n]}E={e<sub>i</sub>=(v<sub>s</sub>o<sub>urce</sub>,v<sub>target</sub>,codeline)|v<sub>s</sub>o<sub>urce</sub>,v<sub>target</sub>∈V;v<sub>s</sub>o<sub>urce</sub>≠v<sub>target</sub>}其中,n表示目标结构化软件中的函数个数;V为节点集合,该集合中的每一个元素v<sub>i</sub>对应软件中的一个函数,节点v<sub>i</sub>包含属性有:函数名name、函数所在文件file、三维坐标coord、影响力角度区间val;ρ<sub>i</sub>,θ<sub>i</sub>,z<sub>i</sub>为节点v<sub>i</sub>三维坐标的三个值,α<sub>i</sub>,β<sub>i</sub>为节点v<sub>i</sub>影响力角度区间的最小值和最大值;E为边集合,该集合中的每一个元素对应软件中的一对函数调用关系,边e<sub>i</sub>的属性包括:调用起始节点v<sub>source</sub>、调用终止v<sub>target</sub>、该边对应的函数调用语句首次出现在代码中的行号codeline。
地址 100191 北京市海淀区学院路37号