无用类检测方法及装置与流程

文档序号:12550566阅读:来源:国知局

技术特征:

1.一种无用类检测方法,其特征在于,该方法包括:

创建初始化的无用类集合以及有用类文件集合;

将所述无用类集合中的类名在初始化的有用类文件集合中进行迭代匹配,以移除所述无用类集合中的有用类的类名;

当所述无用类集合中的有用类的类名被移除后,将所述无用类集合作为无用类检测结果输出。

2.根据权利要求1所述的方法,其特征在于,所述创建初始化的无用类集合以及有用类文件集合包括:

识别目标目录中的类文件;

将识别出的所述类文件与预设的有用类样本进行匹配以检测所述类文件中的无用类和有用类;

基于检测出的所述有用类的类名创建初始化的有用类集合;

基于检测出的所述有用类的类文件创建所述初始化的有用类文件集合;

基于检测出的所述无用类的类名创建所述初始化的无用类集合。

3.根据权利要求2所述的方法,其特征在于,所述预设的有用类样本包括预设的有用类白名单列表、有用类目录列表、有用类类名特征列表和有用类文件特征列表中的一个或者多个;

所述识别目标目录中的类文件之前,所述方法还包括:

基于预设的代码清理工具清除所述目标目录中的无效代码。

4.根据权利要求2所述的方法,其特征在于,所述将所述无用类集合中的类名在初始化的有用类文件集合中进行迭代匹配,以移除所述无用类集合中的有用类的类名包括:

遍历所述无用类集合;

将所述无用类集合中的类名依次与所述有用类文件集合中的类文件进行匹配;

当在所述有用类文件集合中的类文件中匹配到所述无用类集合中的类名时,将所述类名作为有用类的类名移入所述有用类集合,以及将所述类名对应的类文件作为有用类的类文件移入所述有用类文件集合。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

当将所述类名作为有用类的类名移入所述有用类集合,以及将所述类名对应的类文件作为有用类的类文件移入所述有用类文件集合后,将预设的有用类标记设定为第一标记;所述第一标记用于标识所述有用类集合中新加入了有用类的类名;

当在所述有用类文件集合中的所有类文件中均未匹配到所述无用类集合中的类名时,将预设的有用类标记设定为第二标记;所述第二标记用于标识所述有用类集合中未新加入有用类的类名。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

读取所述预设的有用类标记;

判断读取到的所述有用标记是否为所述第一标记;

当判断出所述有用类标记为所述第一标记时,重新遍历所述无用类集合,将所述无用类集合中的类名依次与所述有用类文件集合中的类文件进行匹配,直到判断出所述有用类标记为所述第二标记时匹配结束。

7.一种无用类检测装置,其特征在于,该装置包括:

创建模块,用于创建初始化的无用类集合以及有用类文件集合;

匹配模块,用于将所述无用类集合中的类名在初始化的有用类文件集合中进行迭代匹配,以移除所述无用类集合中的有用类的类名;

输出模块,用于当所述无用类集合中的有用类的类名被移除后,将所述无用类集合作为无用类检测结果输出。

8.根据权利要求7所述的装置,其特征在于,所述创建模块具体用于:

识别目标目录中的类文件;

将识别出的所述类文件与预设的有用类样本进行匹配以检测所述类文件中的无用类和有用类;

基于检测出的所述有用类的类名创建初始化的有用类集合;

基于检测出的所述有用类的类文件创建所述初始化的有用类文件集合;

基于检测出的所述无用类的类名创建所述初始化的无用类集合。

9.根据权利要求8所述的装置,其特征在于,所述预设的有用类样本包括预设的有用类白名单列表、有用类目录列表、有用类类名特征列表和有用类文件特征列表中的一个或者多个;

所述创建模块进一步用于:

在识别目标目录中的类文件之前,基于预设的代码清理工具清除所述目标目录中的无效代码。

10.根据权利要求8所述的装置,其特征在于,所述匹配模块具体用于:

遍历所述无用类集合;

将所述无用类集合中的类名依次与所述有用类文件集合中的类文件进行匹配;

当在所述有用类文件集合中的类文件中匹配到所述无用类集合中的类名时,将所述类名作为有用类的类名移入所述有用类集合,以及将所述类名对应的类文件作为有用类的类文件移入所述有用类文件集合。

11.根据权利要求10所述的装置,其特征在于,所述匹配模块进一步用于:

当将所述类名作为有用类的类名移入所述有用类集合,以及将所述类名对应的类文件作为有用类的类文件移入所述有用类文件集合后,将预设的有用类标记设定为第一标记;所述第一标记用于标识所述有用类集合中新加入了有用类的类名;

当在所述有用类文件集合中的所有类文件中均未匹配到所述无用类集合中的类名时,将预设的有用类标记设定为第二标记;所述第二标记用于标识所述有用类集合中未新加入有用类的类名。

12.根据权利要求5所述的方法,其特征在于,所述匹配模块进一步用于:

读取所述预设的有用类标记;

判断读取到的所述有用标记是否为所述第一标记;

当判断出所述有用类标记为所述第一标记时,重新遍历所述无用类集合,将所述无用类集合中的类名依次与所述有用类文件集合中的类文件进行匹配,直到判断出所述有用类标记为所述第二标记时匹配结束。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1