[发明专利]缺陷驱动的第三方库版本升级推荐方法有效

专利信息
申请号: 202010077123.0 申请日: 2020-01-23
公开(公告)号: CN111240719B 公开(公告)日: 2021-08-20
发明(设计)人: 陈碧欢;彭鑫;赵文耘 申请(专利权)人: 复旦大学
主分类号: G06F8/65 分类号: G06F8/65;G06F8/71;G06F8/41
代理公司: 上海正旦专利代理有限公司 31200 代理人: 陆飞;陆尤
地址: 200433 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 缺陷 驱动 第三 版本 升级 推荐 方法
【权利要求书】:

1. 一种缺陷驱动的第三方库版本升级推荐方法,其特征在于,具体步骤如下:

(1)第三方库依赖分析

软件项目通常通过自动化构建工具来声明和管理软件项目所依赖的第三方库版本;通过解析软件项目的依赖配置文件来抽取软件项目所依赖的第三方库版本;

(2)第三方库风险分析

软件项目的代码调用第三方库API,有些第三方库API包含各类已知缺陷,影响到软件项目的功能和质量;通过API调用分析识别软件项目所调用的第三方库API并分析这些第三方库API是否含有各类缺陷,从而度量第三方库风险;具体为通过静态分析工具Soot获得第三方库API列表;通过Java Parser遍历软件项目源代码的抽象语法树并获得软件项目所调用的第三方库API;通过静态分析工具Soot获得所调用第三方库API的调用图并判断调用图上是否包含受缺陷影响的第三方库API;分析总结影响软件项目的第三方库缺陷个数、软件项目所调用的带缺陷第三方库API的个数和调用次数;

(3)第三方库升级代价分析

第三方库不同版本之间往往包含不兼容的第三方库API,影响到第三方库的升级代价;通过API调用和差异分析推荐不含有缺陷的第三方库升级版本,并分析升级版本中被删除和修改的第三方库API,从而度量第三方库升级代价;具体为通过静态分析工具Soot获得第三方库新版本中软件项目所调用的第三方库API的调用图,并分析所调用第三方库API是否不受缺陷影响,从而确定第三方库升级版本;通过基于哈希值的差异对比分析确定软件项目所调用的第三方库API在第三方库升级版本中被删除和修改的API个数和调用次数。

2.根据权利要求1所述的缺陷驱动的第三方库版本升级推荐方法,其特征在于,步骤(2)中所述的第三方库风险分析,具体包括以下子步骤:

1)从第三方库版本知识库加载软件项目所依赖的第三方库版本二进制包,通过静态分析二进制包获得第三方库API列表;

2)通过软件项目源代码和第三方库版本二进制包建立软件项目源代码的抽象语法树并做类型绑定,遍历抽象语法树中的方法调用并确定所调用方法是否是第三方库API,即判断所调用方法是否在第三方库API列表中;

3)通过静态分析二进制包建立所调用第三方库API的调用图,第三方库缺陷知识库保存了第三方库版本中的缺陷、以及受缺陷影响的第三方库API,通过第三方库缺陷知识库分析所调用第三方库API是否受缺陷影响,即判断调用图上是否包含受缺陷影响的第三方库API;

4)总结以上分析结果获得第三方库的风险度量,包括影响软件项目的第三方库缺陷个数、软件项目所调用的带缺陷第三方库API的个数和调用次数。

3.根据权利要求1所述的缺陷驱动的第三方库版本升级推荐方法,其特征在于,步骤(3)中所述的第三方库升级代价分析,具体包括以下子步骤:

1)在第三方库版本知识库中找到所有第三方库新版本的二进制包,并通过静态分析二进制包建立所调用第三方库API的调用图,同时通过第三方库缺陷知识库分析所调用第三方库API是否不受缺陷影响,如果不受影响,则作为第三方库升级版本;

2)通过差异对比分析确定软件项目所调用的第三方库API在第三方库升级版本中被删除和修改的API个数和调用次数,作为升级代价的度量。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/pat/books/202010077123.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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