[发明专利]Java软件项目依赖冲突语义一致性的自动化检测方法有效

专利信息
申请号: 202011238918.1 申请日: 2020-11-09
公开(公告)号: CN112181858B 公开(公告)日: 2021-12-31
发明(设计)人: 王超;王莹;李丹程;于海;朱志良 申请(专利权)人: 东北大学
主分类号: G06F11/36 分类号: G06F11/36;G06F8/53;G06F8/70
代理公司: 沈阳东大知识产权代理有限公司 21109 代理人: 李在川
地址: 110819 辽宁*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: java 软件 项目 依赖 冲突 语义 一致性 自动化 检测 方法
【权利要求书】:

1.一种Java软件项目依赖冲突语义一致性的自动化检测方法,其特征在于,包括如下步骤:

步骤1:获取Maven项目POM文件和项目代码;

步骤2:获取项目完全依赖树,从中分析出依赖冲突并做筛选和过滤,过程如下;

步骤2.1:通过项目源代码中的pom.xml文件获取项目的完全依赖树;

步骤2.2:根据项目的完全依赖树,分析出所有由于Maven仲裁机制所屏蔽掉的第三方依赖,作为初始依赖冲突问题;

步骤2.3:对于检测出来的依赖冲突问题,筛选掉所有不参与项目正常运行的依赖包,以及自定义的过滤项;

步骤3:对于所有的依赖冲突,检测是否存在真实风险方法的情况,过程如下;

步骤3.1:在步骤2中可以得到项目的依赖冲突,检测其中是否包含完全限定名相同的方法;

步骤3.2:对于在两个冲突包中的完全限定名相同的方法,通过反编译技术,把二进制文件反编译成源文件;

步骤3.3:根据反编译出来的源文件,通过抽象语法树的对比,对比两个方法的方法体是否存在较为明显的差异,如果没有明显差异,则判断不是风险方法,否则判断属于风险方法;

步骤3.4:对于所有的风险方法,通过静态分析技术,构建当前项目的完全调用路径图,通过分析完全调用路径图,可以判断出当前风险方法是否被当前项目调用,如果没有被调用,则过滤;如果被调用则属于真实的风险方法;步骤4:对步骤3检测出的存在真实风险方法的项目构建相应的对象池和API池;

步骤5:对于检测出的真实风险方法,通过自动化测试用例生成工具结合步骤4构建的对象池和API池生成测试用例并进行验证;

步骤6:将分析结果生成相应的缺陷结果报告,报告给开发者,并及时修正和预测依赖冲突问题。

2.根据权利要求1所述的Java软件项目依赖冲突语义一致性的自动化检测方法,其特征在于,所述通过静态分析技术,构建当前项目的完全调用路径图的过程如下:

步骤3.4.1:通过静态分析技术,解析出当前项目中的所有依赖包内部方法之间的调用关系,并将调用关系保存;

步骤3.4.2:对于步骤3中获取的存在真实风险方法视为目标风险方法,把目标风险方法视为调用图的终点,把当前项目的入口方法视为调用图的起点;

步骤3.4.3:取出所有保存的调用关系,通过广度优先搜索的方式,把所有方法的调用关系组合成完整的调用路径图。

3.根据权利要求1所述的Java软件项目依赖冲突语义一致性的自动化检测方法,其特征在于,所述步骤4的过程如下:

步骤4.1:对于步骤3中检测出存在真实风险方法的项目,获取项目源代码中所有的对象构造方式和方法的声明方式;

步骤4.2:对当前项目所有代码文件进行扫描,获取当前项目所有的类,然后在项目中搜索所有在本项目中类被实例化的位置,然后在实例化的位置处,搜索获取实例一个类所需的所有构造参数,最终生成Object-Parameter对象参数的对应关系,形成项目的对象池;然后对所有API进行API生成池的构造,保存方式依旧为API加参数的方式;

步骤4.3:把初始化好的对象池和API池补充给自动化测试用例生成工具。

4.根据权利要求1所述的Java软件项目依赖冲突语义一致性的自动化检测方法,其特征在于,所述步骤5的过程如下:

步骤5.1:对于检测出的真实风险方法,通过自动化测试用例生成工具结合步骤4给出的对象池和API池,对目标风险方法进行测试用例生成;

步骤5.2:将生成出的测试用例分别在冲突的两个依赖包的环境下运行,如果运行结果不一致,则说明当前风险方法是一个真实的缺陷。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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