[发明专利]界面更新崩溃风险检测方法、装置、电子设备及存储介质在审
申请号: | 202110265818.6 | 申请日: | 2021-03-11 |
公开(公告)号: | CN112882943A | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 吴柳 | 申请(专利权)人: | 腾讯音乐娱乐科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王兆林 |
地址: | 518052 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 界面 更新 崩溃 风险 检测 方法 装置 电子设备 存储 介质 | ||
1.一种界面更新崩溃风险检测方法,其特征在于,包括:
获取待测项目代码,并对所述待测项目代码进行界面更新函数检测,得到目标界面更新函数;
生成所述待测项目代码对应的函数调用关系信息;
将各个所述目标界面更新函数作为第一端函数,利用所述函数调用关系信息构建多个函数链,并识别各个所述函数链对应的第二端函数;
若任一所述第二端函数为非主线程函数,则确定所述非主线程函数所属的目标函数链具有界面更新崩溃风险。
2.根据权利要求1所述的界面更新崩溃风险检测方法,其特征在于,所述将各个所述目标界面更新函数作为第一端函数,利用所述函数调用关系信息构建多个函数链,并识别各个所述函数链对应的第二端函数,包括:
利用所述函数调用关系信息确定各个所述目标界面更新函数对应的直接调用函数;
将所述直接调用函数确定为被调函数,并利用所述函数调用关系信息判断是否存在所述被调函数对应的上级函数;
若存在所述上级函数,则将所述上级函数确定为所述被调函数;
若不存在所述上级函数,则确定所述函数链构建完毕,并将所述被调函数确定为所述第二端函数。
3.根据权利要求2所述的界面更新崩溃风险检测方法,其特征在于,所述若不存在所述上级函数,则确定所述函数链构建完毕,包括:
若不存在所述上级函数,则利用所述函数调用关系信息判断所述被调函数是否存在对应的目标父类函数或目标接口函数;
若存在所述目标父类函数或所述目标接口函数,则将所述目标父类函数或所述目标接口函数确定为所述被调函数;
若不存在所述目标父类函数或所述目标接口函数,则确定所述函数链构建完毕。
4.根据权利要求1所述的界面更新崩溃风险检测方法,其特征在于,在对所述待测项目代码进行界面更新函数检测之前,还包括:
利用界面更新基础函数筛选各个函数,并将调用了所述界面更新基础函数的所述函数确定为界面更新函数;
利用所述界面更新函数对应的函数名生成界面更新函数检测数据;
相应的,所述对所述待测项目代码进行界面更新函数检测,得到目标界面更新函数,包括:
利用所述界面更新函数检测数据对所述待测项目代码中的各个待测函数进行函数名匹配;
将通过函数名匹配的待测函数确定为所述目标界面更新函数。
5.根据权利要求1所述的界面更新崩溃风险检测方法,其特征在于,所述生成所述待测项目代码对应的函数调用关系信息,包括:
获取检测插件和对应的检测插件信息;
将所述检测插件信息添加到所述待测项目代码中并编译,在编译过程中调用所述检测插件,得到所述函数调用关系信息。
6.根据权利要求1所述的界面更新崩溃风险检测方法,其特征在于,还包括:
利用所述目标函数链生成检测结果;
获取所述待测项目代码对应的执行人信息,并利用所述执行人信息反馈所述检测结果。
7.根据权利要求1至6任一项所述的界面更新崩溃风险检测方法,其特征在于,还包括:
获取无调用函数信息,并将所述待测项目代码中所述无调用函数信息对应的函数标记为无调用函数;
相应的,所述若任一所述第二端函数为非主线程函数,则确定所述非主线程函数所属的目标函数链具有界面更新崩溃风险,包括:
若任一所述第二端函数为非主线程函数,则判断所述非主线程函数是否为所述无调用函数;
若任一所述非主线程函数不为所述无调用函数,则确定所述目标函数链具有所述界面更新崩溃风险。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯音乐娱乐科技(深圳)有限公司,未经腾讯音乐娱乐科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110265818.6/1.html,转载请声明来源钻瓜专利网。