[发明专利]基于静态分析的源码多版本函数调用关系差异性标识方法有效

专利信息
申请号: 201410252637.X 申请日: 2014-06-09
公开(公告)号: CN104035772B 公开(公告)日: 2017-11-14
发明(设计)人: 李斌;刘雪花;武延军 申请(专利权)人: 中国科学院软件研究所
主分类号: G06F9/44 分类号: G06F9/44;G06F17/30
代理公司: 北京君尚知识产权代理事务所(普通合伙)11200 代理人: 冯艺东
地址: 100190 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于静态分析的源码多版本函数调用关系差异性标识方法。首先通过源码静态分析技术获取源码中定义的函数列表和函数之间的静态调用关系等信息;然后将选取的两个版本源码进行Diff,结合静态分析获取的函数定义列表和调用关系标识出变化的差异部分,将变化的部分进行细致的状态分析,分别标识出函数定义和调用的修改状态、新增状态和删除状态并入库;最后结合用户的需求和数据库中保存的状态数据进行单个版本的调用关系展示和多版本函数调用关系差异视图的展示。本发明可以完成单个版本的内部调用关系分析和展示以及多个版本之间的调用关系差异性分析和展示,为开源软件的分析、开发、升级和维护提供了高效的辅助方法。
搜索关键词: 基于 静态 分析 源码 版本 函数 调用 关系 差异性 标识 方法
【主权项】:
一种基于静态分析的源码多版本函数调用关系差异性标识方法,包括以下步骤:1)通过源码静态分析技术进行词法分析、语法分析和控制流分析,获取源码中定义的函数列表和函数之间的静态调用关系,并存储在数据库中;2)通过比较选取的不同版本的源码获取其Diff文件,再结合函数定义列表和调用关系标识出变化的差异部分,从而将Diff文件的文本差异信息转化为函数之间的差异信息,并将变化的部分进行细致的状态分析,分别标识出函数定义和调用的修改状态、新增状态和删除状态,并存储在数据库中;该步骤进行版本比较的具体方法包括:2a)选择两个待比较版本;2b)如果已经存在源码相应的静态分析数据,进入2d),否则进入2c);2c)同1d)和1e)进行源码静态分析和数据入库,进入2b);2d)如果存在待比较版本的差异数据,进入2f),否则进入2e);2e)获取两版本函数差异信息并入库,进入2d);首先提取两个版本diff文件,分别检索两版本函数定义列表并逐一处理diff信息块,然后根据diff信息块提供的两个版本的变化的行号范围,获取两个版本中变化的函数列表,然后逐一处理函数列表中的函数,根据修改状态、新增状态和删除状态三种变化状态进行差异标识并入库;2f)进行两个版本的差异标识和展示;3)结合用户的需求和数据库中保存的状态数据进行单个版本的调用关系展示和多版本函数调用关系差异视图的展示;所述函数调用关系差异视图表现出两个版本不同层次的函数调用关系的变化,包括模块级别的差异信息、文件级别的差异信息和函数级别的差异信息;在图中用节点表示模块/文件或者函数,用带有权值的有向线条表示两个节点之间存在的调用关系,调用方向与箭头方式一致,权值代表调用次数;所述函数调用关系差异视图中,将节点和线条设置为不同的颜色,以表示出更加丰富的信息;生成所述函数调用关系差异视图的具体步骤包括:3a)统计两版本顶层模块间差异数据:通过循环统计子模块/子文件/函数的函数调用关系差异数据,累加去重得到顶层模块调用关系差异数据;3b)生成两版本顶层模块调用关系差异视图:根据统计数据,合并两个版本的顶层模块调用关系,并设置对应的节点和线条颜色属性,生成顶层差异视图;3c)如果选择了待比较的模块/文件/函数,进入3e),否则进入3d);3d)用户选择待比较范围,进入3c);3e)生成两版本相应节点内部调用关系差异视图;如果用户选择的待比较对象为目录或者文件,则利用3a)中统计的数模块和调用关系差异数据,设置对应的节点和线条颜色属性,生成差异视图并展示;如果用户选择的比较范围为函数,则合并两个版本指定的函数和调用关系,并设置对应的节点和线条颜色属性,生成差异视图并展示。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410252637.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top