[发明专利]基于复杂网络分析的函数调用图关键节点识别和标识方法有效
申请号: | 201610313138.6 | 申请日: | 2016-05-12 |
公开(公告)号: | CN106020950B | 公开(公告)日: | 2019-08-16 |
发明(设计)人: | 李斌;田兆楠;贺也平 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54;G06F16/21 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 邱晓锋 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于复杂网络分析的函数调用图关键节点识别和标识方法。首先通过源码静态分析技术进行词法分析、语法分析和控制流分析,获取源码调用关系数据和函数长度数据,将全部数据分类存储在数据库中;然后根据获取的数据生成调用图,利用复杂网络分析方法进行调用图节点指标计算,包括交互度、接近中心性、节点介数和函数长度,最终利用多属性决策方法进行节点关键程度计算;然后结合用户的需求和数据库中保存的状态数据,利用获得的函数调用图节点的关键程度数据计算关键节点排序和相应灰度比例数据,并进行可视化展示。本发明可快速的在复杂调用关系图中识别和标识出关键节点,显著提高工作效率。 | ||
搜索关键词: | 基于 复杂 网络分析 函数 调用 关键 节点 识别 标识 方法 | ||
【主权项】:
1.一种基于复杂网络分析的函数调用图关键节点的识别和标识方法,包括以下步骤:1)通过源码静态分析技术进行词法分析、语法分析和控制流分析,获取源码调用关系数据,并通过括号匹配分析技术获取函数长度数据,将全部数据分类存储在数据库中;2)根据步骤1)获取的数据生成调用图,利用复杂网络分析方法进行调用图节点指标计算,所述指标包括交互度、接近中心性、节点介数和函数长度,最终利用多属性决策方法进行节点关键程度计算;所述交互度表征节点的局部交互程度,其综合考虑出度和入度,其中出度为该节点调用其他节点的次数,入度为该节点被调用的次数;所述接近中心性考虑节点间通信的独立性,即当前节点与其他节点通信的可能性对通信所需中间媒介的最少个数的依赖程度;所述节点介数为调用图中所有最短路径中经过该节点的路径的数目占最短路径总数的比例;所述交互度的计算公式为:其中,D表示交互度,X表示节点入度、Y表示节点出度,Xmin表示节点入度最小值、Ymin表示节点出度最小值,Xmax表示节点入度最大值,Ymax表示节点出度最大值;所述接近中心性的计算公式为:其中,CCi表示接近中心性,dij表示以节点i为起点j为终点的最短路径中所含边的数量,N表示调用图中总的节点个数,i表示被计算指标的当前节点,j表示除当前计算指标节点之外的其他节点;所述节点介数的计算公式为:其中,CB(v)表示节点介数,分子表示图中任意两节点的最短路径经过该节点的个数,分母表示图中任意两节点之间最短路径个数;v表示被计算介数指标的当前节点,v属于整个节点集合V,s、t表示整个节点集合V中其他任意两个节点;3)结合用户的需求和数据库中保存的状态数据,利用步骤2)获得的函数调用图节点的关键程度数据计算关键节点排序和相应灰度比例数据,并进行可视化展示。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610313138.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种软件组件资源消耗模拟方法
- 下一篇:应用程序双开启方法及装置