应用程序的Bug定位方法、装置、设备以及存储介质制造方法及图纸

技术编号:39003290 阅读:7 留言:0更新日期:2023-10-07 10:34
本公开的实施例提供了一种应用程序的Bug定位方法、装置、设备以及存储介质,应用于软件更新技术领域。该方法包括对获取的原始应用程序文件和更新应用程序文件进行反编译处理,再对比完全反编译后的原始应用程序文件和更新应用程序文件得到第一差异文件信息,当第一差异文件信息为资源和配置类信息时,根据第一差异文件信息中差异权限对应的权限保护等级和使用频率确定重要性,并按照重要性从大到小显示第一差异文件信息中的差异权限,确定一个或多个差异权限对应的程序模块为迭代逻辑中与Bug相关性的部分。以此方式,可以根据差异文件信息中差异权限的重要性更加快捷地找到第三方应用迭代逻辑中与Bug高相关性的部分。方应用迭代逻辑中与Bug高相关性的部分。方应用迭代逻辑中与Bug高相关性的部分。

【技术实现步骤摘要】
应用程序的Bug定位方法、装置、设备以及存储介质


[0001]本公开涉及计算机软件
,尤其涉及软件更新
,具体涉及一种应用程序的Bug定位方法、装置、设备以及存储介质。

技术介绍

[0002]设备厂商的开发人员在集成第三方应用时经常会遇到第三方应用的应用程序文件(Android application package,APK)在版本迭代中出现Bug的情况,此时通常需要设备厂商开发人员先行定位分析问题的出现原因。但由于设备厂商通常不能获取第三方应用的源代码,这给定位问题增加了难度,即在无源代码的情况下,当第三方应用出现Bug时,系统开发人员较难定位第三方应用的哪些改动导致了该Bug,从而导致无法更加快捷地找到第三方应用迭代逻辑中与Bug高相关性的部分。

技术实现思路

[0003]本公开提供了一种应用程序的Bug定位方法、装置、设备以及存储介质。
[0004]根据本公开的第一方面,提供了一种应用程序的Bug定位方法。该方法包括:
[0005]获取原始应用程序文件和更新应用程序文件;
[0006]对所述原始应用程序文件和所述更新应用程序文件进行反编译处理;
[0007]对完全反编译后的所述原始应用程序文件和所述更新应用程序文件进行对比,得到第一差异文件信息;
[0008]当所述第一差异文件信息为资源和配置类信息时,根据所述第一差异文件信息中差异权限对应的权限保护等级和使用频率确定重要性,并按照重要性从大到小显示所述第一差异文件信息中的差异权限,确定一个或多个差异权限对应的程序模块为迭代逻辑中与Bug相关性的部分。
[0009]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述第一差异文件信息中差异权限对应的权限保护等级和使用频率确定重要性包括:
[0010]对根据权限保护等级和使用频率排序得到的差异权限序列进行线性拟合,确定所述第一差异文件信息中差异权限的重要性。
[0011]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述按照重要性从大到小显示所述第一差异文件信息中的差异权限之前,所述方法还包括:
[0012]获取所述原始应用程序文件和所述更新应用程序文件对应的权限信息,所述权限信息包括权限保护等级和使用频率。
[0013]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0014]当所述第一差异文件信息为代码类信息时,显示所述第一差异文件信息中的差异类和差异函数,确定差异类和差异函数对应的程序模块为迭代逻辑中与Bug相关性的部分。
[0015]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述对所
述原始文件信息和所述更新文件信息进行反编译处理之后,所述方法还包括:
[0016]对无法完全反编译后的所述原始应用程序文件和所述更新应用程序文件进行对比,得到第二差异文件信息;
[0017]当所述第二差异文件信息为代码类信息时,生成并显示所述第二差异文件信息中的差异函数的调用指向图,确定调用指向图对应的程序模块为迭代逻辑中与Bug相关性的部分。
[0018]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述生成所述差异文件信息中的差异函数的调用指向图包括:
[0019]基于smali语法,生成所述差异文件信息中的差异函数的调用指向图。
[0020]根据本公开的第二方面,提供了一种应用程序的Bug定位装置。该装置包括:
[0021]获取模块,用于获取原始应用程序文件和更新应用程序文件;
[0022]处理模块,用于对所述原始应用程序文件和所述更新应用程序文件进行反编译处理;
[0023]对比模块,用于对完全反编译后的所述原始应用程序文件和所述更新应用程序文件进行对比,得到第一差异文件信息;
[0024]显示模块,用于当所述第一差异文件信息为资源和配置类信息时,根据所述第一差异文件信息中差异权限对应的权限保护等级和使用频率确定重要性,并按照重要性从大到小显示所述第一差异文件信息中的差异权限,确定一个或多个差异权限对应的程序模块为迭代逻辑中与Bug相关性的部分。
[0025]根据本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0026]根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
[0027]本申请实施例提供的一种应用程序的Bug定位方法、装置、设备以及存储介质,能够通过对获取的原始应用程序文件和更新应用程序文件进行反编译处理,再对比完全反编译后的原始应用程序文件和更新应用程序文件,得到第一差异文件信息,当第一差异文件信息为资源和配置类信息时,根据第一差异文件信息中差异权限对应的权限保护等级和使用频率确定重要性,并按照重要性从大到小显示第一差异文件信息中的差异权限,确定一个或多个差异权限对应的程序模块为迭代逻辑中与Bug相关性的部分;基于此,可以通过对比迭代前后应用程序文件得到差异文件信息,再根据差异文件信息中差异权限的重要性更加快捷地找到第三方应用迭代逻辑中与Bug高相关性的部分,从而辅助系统开发人员定位第三方应用的哪些改动导致了该Bug,解决Bug定位分析问题。
[0028]应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
[0029]结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。附图用于更好地理解本方案,不构成对本公开的限定在附图中,相同或相
似的附图标记表示相同或相似的元素,其中:
[0030]图1示出了根据本公开的实施例的应用程序的Bug定位方法的流程图;
[0031]图2示出了根据本公开的实施例的调用指向图的示意图;
[0032]图3示出了根据本公开的实施例的应用程序的Bug定位装置的方框图;
[0033]图4示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
[0034]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
[0035]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的Bug定位方法,其特征在于,包括:获取原始应用程序文件和更新应用程序文件;对所述原始应用程序文件和所述更新应用程序文件进行反编译处理;对完全反编译后的所述原始应用程序文件和所述更新应用程序文件进行对比,得到第一差异文件信息;当所述第一差异文件信息为资源和配置类信息时,根据所述第一差异文件信息中差异权限对应的权限保护等级和使用频率确定重要性,并按照重要性从大到小显示所述第一差异文件信息中的差异权限,确定一个或多个差异权限对应的程序模块为迭代逻辑中与Bug相关性的部分。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一差异文件信息中差异权限对应的权限保护等级和使用频率确定重要性包括:对根据权限保护等级和使用频率排序得到的差异权限序列进行线性拟合,确定所述第一差异文件信息中差异权限的重要性。3.根据权利要求1所述的方法,其特征在于,在所述按照重要性从大到小显示所述第一差异文件信息中的差异权限之前,所述方法还包括:获取所述原始应用程序文件和所述更新应用程序文件对应的权限信息,所述权限信息包括权限保护等级和使用频率。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第一差异文件信息为代码类信息时,显示所述第一差异文件信息中的差异类和差异函数,确定差异类和差异函数对应的程序模块为迭代逻辑中与Bug相关性的部分。5.根据权利要求1所述的方法,其特征在于,在所述对所述原始文件信息和所述更新文件信息进行反编译处理之后,所述方法还包括:对无法完全反编译后的所述原始应用程序文件和所述更新应用程序文件进行对比,得到...

【专利技术属性】
技术研发人员:谈慧媛
申请(专利权)人:天津智融创新科技发展有限公司北京分公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1