[发明专利]一种Java代码检测方法及装置有效
申请号: | 201611192742.4 | 申请日: | 2016-12-21 |
公开(公告)号: | CN106874184B | 公开(公告)日: | 2020-07-14 |
发明(设计)人: | 杨磊磊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 代码 检测 方法 装置 | ||
1.一种Java代码检测方法,其特征在于,所述方法包括:
接收待检测的源代码;
分析源代码的函数调用关系,得出所述源代码的所有子结构代码;
获取所述源代码以及每一个子结构代码调用的jar包集合;
获取所获取的各个jar包集合中jar包的名称以及版本号;
判断是否存在相同名称、不同版本号的jar包;
在存在相同名称、不同版本号的jar包的情况下,将其加入到冲突jar包集合;
输出所述冲突jar包集合以及Java代码存在混淆后功能不一致的检测结果。
2.根据权利要求1所述的方法,其特征在于,所述获取所述源代码以及每一个子结构代码调用的jar包集合,具体包括:
读取所述源代码的配置文件中记录的所述源代码调用的jar包;
读取所述子结构代码的配置文件中记录的所述子结构代码调用的jar包;
将所述源代码调用的jar包以及所述每一个子结构代码调用的jar包,存入对应的jar包集合。
3.根据权利要求2所述的方法,其特征在于,所述读取所述源代码的配置文件中记录的所述源代码调用的jar包,具体包括:
读取所述源代码的配置文件中记录的所述源代码调用的jar包的名称以及版本号;
所述读取所述子结构代码的配置文件中记录的所述子结构代码调用的jar包,具体包括:
读取所述子结构代码的配置文件中记录的所述子结构代码调用的jar包的名称以及版本号。
4.根据权利要求2或3所述的方法,其特征在于,所述配置文件包括pom文件或者build.gradle文件。
5.一种Java代码检测装置,其特征在于,所述装置包括:
接收单元,接收待检测的源代码;
分析单元,分析源代码的函数调用关系,得出所述源代码的所有子结构代码;
获取单元,获取所述源代码以及每一个子结构代码调用的jar包集合;
判断单元,获取所获取的各个jar包集合中jar包的名称以及版本号,判断是否存在相同名称、不同版本号的jar包;
输出单元,在存在相同名称、不同版本号的jar包的情况下,将其加入到冲突jar包集合,输出所述冲突jar包集合以及Java代码存在混淆后功能不一致的检测结果。
6.根据权利要求5所述的装置,其特征在于,所述获取单元,具体包括:
第一读取子单元,读取所述源代码的配置文件中记录的所述源代码调用的jar包;
第二读取子单元,读取所述子结构代码的配置文件中记录的所述子结构代码调用的jar包;
存储子单元,将所述源代码调用的jar包以及所述每一个子结构代码调用的jar包,存入对应的jar包集合。
7.根据权利要求6所述的装置,其特征在于,所述第一读取子单元,具体包括:
读取所述源代码的配置文件中记录的所述源代码调用的jar包的名称以及版本号;
所述第二读取子单元,具体包括:
读取所述子结构代码的配置文件中记录的所述子结构代码调用的jar包的名称以及版本号。
8.根据权利要求6或7所述的装置,其特征在于,所述配置文件包括pom文件或者build.gradle文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611192742.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种纺织印染脱水退捻开幅设备
- 下一篇:一种纱质纺织印染品开幅设备