[发明专利]检测无用代码的方法、装置及计算机存储介质有效
申请号: | 201711400846.4 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108132790B | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 李焕雄 | 申请(专利权)人: | 广州酷狗计算机科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 郭晶 |
地址: | 510660 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 无用 代码 方法 装置 计算机 存储 介质 | ||
本发明公开了一种检测无用代码的方法、装置及计算机可读存储介质,属于信息处理技术领域。该方法包括:获取可执行文件中的多个段;通过对多个段进行正则分析以确定可执行文件中的调用类列表和无用类列表,以及通过对多个段进行正则分析以确定可执行文件中的调用函数列表,调用类列表包括被调用的类和被调用的类包括的函数;基于调用类列表和调用函数列表,确定可执行文件中的无用函数列表;基于无用类列表和无用函数列表确定可执行文件中的无用代码。由此可见,在本发明实施例中无需人工参与,就可以自动分析出可执行文件中的无用代码,相较于相关技术中人工查找无用代码,省时省力效率高,且可以避免检测发生遗漏的问题。
技术领域
本发明涉及信息处理技术领域,特别涉及一种检测无用代码的方法、装置及计算机可读存储介质。
背景技术
当前,各种应用(Application,APP)的可执行文件中往往存在大量的无用代码,例如,无用类、无用函数等。其中,无用类是指未被使用的类,而无用函数则是指未被调用的函数,这些存在于可执行文件中的无用代码不仅会占用系统空间,而且会给代码的编译造成负担,因此,需要从这些可执行文件中查找出无用代码,从而将其去除。
相关技术中,当查找可执行文件中的无用代码时,需要技术人员人工分析可执行文件的代码,从而从中查找出无用代码,耗时长且容易发生遗漏。
发明内容
为了解决相关技术中人工查找无用代码耗时长且容易发生遗漏的问题,本发明实施例提供了一种检测无用代码的方法、装置及计算机可读存储介质。所述技术方案如下:
第一方面,提供了一种检测无用代码的方法,所述方法包括:
获取可执行文件中的多个段;
通过对所述多个段进行正则分析以确定所述可执行文件中的调用类列表和无用类列表,以及通过对所述多个段进行正则分析以确定所述可执行文件中的调用函数列表,所述调用类列表包括被调用的类和所述被调用的类包括的函数;
基于所述调用类列表和所述调用函数列表,确定所述可执行文件中的无用函数列表;
基于所述无用类列表和所述无用函数列表确定所述可执行文件中的无用代码。
可选地,所述通过对所述多个段进行正则分析以确定所述可执行文件中的调用类列表和无用类列表,包括:
对所述多个段进行第一正则分析,得到第一类列表,以及对所述多个段进行第二正则分析,得到第二类列表;
其中,所述第一类列表包括多条类记录,每条类记录包括类、所述类的父类和所述类中包括的函数,所述第二类列表包括所述可执行文件中被调用过的多个类;
基于所述第一类列表和所述第二类列表确定所述可执行文件中的所述调用类列表和所述无用类列表。
可选地,所述基于所述第一类列表和所述第二类列表确定所述可执行文件中的调用类列表和无用类列表,包括:
通过预设规则过滤所述第一类列表中包括的第三方库的类的类记录,得到第三类列表;
从所述第三类列表中提取父类被调用的类记录,并基于提取的类记录生成第四类列表;
从所述第四类列表中查找包括的类存在于所述第二类列表中的类记录;
基于从所述第四类列表中查找到的类记录生成所述调用类列表;
基于所述第三类列表中除提取的类记录之外的剩余类记录和所述第四类列表中除查找到的类记录之外的剩余类记录生成所述无用类列表。
可选地,所述通过对所述多个段进行正则分析以确定所述可执行文件中的调用函数列表,包括:
获取所述多个段中被调用的多个区域;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州酷狗计算机科技有限公司,未经广州酷狗计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711400846.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息转换方法和装置
- 下一篇:智能设备的定制化方法、系统、智能设备及服务器