【技术实现步骤摘要】
应用程序崩溃根原因识别方法、装置及电子设备
[0001]本申请涉及网络技术与安全领域,特别涉及一种应用程序崩溃根原因识别方法、应用程序崩溃根原因识别装置、计算机存储介质及电子设备。
技术介绍
[0002]识别应用程序崩溃的根原因是开发应用程序中的重要一环,同时识别应用程序崩溃的根原因也是一项耗时的工作,相对底层软件故障修改,软件开发过程中开发人员花费了更多的时间用于发现程序崩溃的根本原因。
[0003]针对这个问题,业界已经提出了各种依赖于反向执行和反向污染分析等技术的方法。这些技术要么仅限于某些故障类型,要么为分析人员提供修复说明,但没有上下文信息或对潜在故障的解释,只能发现程序崩溃的地方。通常,崩溃的根原因并不位于程序崩溃的地方,它可能在位于程序的执行流程中更早的地方,开发人员需要从崩溃位置向后分析路径以找到根本原因,这需要付出巨大的努力。
[0004]需要说明的是,上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解。
技术实现思路
[0005]本申请的目的在于提供一种应用程序崩溃根原因识别方法、应用程序崩溃根原因识别装置、计算机存储介质及电子设备,进而至少在一定程度上实现自动分析并识别应用程序崩溃根原因,还可以为分析人员提供有关表征崩溃用例的错误行为的上下文信息。
[0006]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0007]根据本申请的第一方面,提供一种应用程序崩溃根原因识别方法,包括:
[0008] ...
【技术保护点】
【技术特征摘要】
1.一种应用程序崩溃根原因识别方法,其特征在于,包括:获取引起应用程序崩溃的崩溃用例,基于所述崩溃用例生成多个正测试用例和多个负测试用例;构建与所述应用程序对应的控制流图,并构建与所述控制流图中监控点处的变量对应的断言;输入各所述正测试用例和各所述负测试用例,以获取所述变量与各所述测试用例对应的数据,根据所述数据计算所述断言中的参数值,并根据所述参数值对所述监控点进行筛选,以获取待选监控点;计算与所述待选监控点对应的执行等级,根据所述执行等级对所述待选监控点进行筛选,以获取指示所述应用程序崩溃根原因的目标监控点。2.根据权利要求1所述的方法,其特征在于,所述构建与所述应用程序对应的控制流图,并构建与所述控制流图中监控点处的变量对应的断言,包括:根据所述控制流图中各控制流边的走向设置节点,并对所述节点编号;在所述控制流边的起点位置设置所述监控点,对所述监控点编号,并根据所述监控点处的变量构建所述断言。3.根据权利要求1或2所述的方法,其特征在于,所述断言包括与所述监控点对应的编号、布尔表达式和评价分数,所述评价分数用于指示所述断言区分崩溃与非崩溃的能力。4.根据权利要求1所述的方法,其特征在于,所述构建与所述控制流图中监控点处的变量对应的断言,包括:当所述变量为数字型变量时,生成与所述数字型变量对应的第一布尔表达式;当所述变量为字符串型变量时,生成与字符串长度对应的第二布尔表达式和与字符串包含的特殊字符个数对应的第三布尔表达式。5.根据权利要求4中所述的方法,其特征在于,所述第一布尔表达式为:R∈[C[1]min,C[1]max]∪[C[2]min,C[2]max]∪
…
∪[C[N]min,C[N]max];所述第二布尔表达式为:L∈[C[1]min,C[1]max]∪[C[2]min,C[2]max]∪
…
∪[C[N]min,C[N]max];所述第三布尔表达式为:LS∈[C[1]min,C[1]max]∪[C[2]min,C[2]max]∪
…
∪[C[N]min,C[N]max];其中,C[i]min为常数序列C[i]中的最小值,C[i]max为常数序列C[i]中的最大值,i=1,2
……
N,N为正整数。6.根据权利要求1所述的方法,其特征在于,所述监控点的数量为多个;所述参数值包括布尔表达式和评价分数;所述根据所述数据计算所述断言中的参数值,包括:遍历各所述监控点处的变量,将每一个所述变量作为目标变量,获取所述目标变量与各所述测试用例对应的目标数据,对所述目标数据进行处理,以获取与所述目标变量对应的断言所包含的布尔表达式中的常数序列;将所述常数序列置入所述布尔表达式,并根据置入所述常数序列的所述布尔表达式计算与所述目标变量对应的断言的预测准确性;
根据所述预测准确性计算所述评价分数。7.根据权利要求6所述的方法,其特征在于,所述对所述目标数据进行处理,以获取与所述目标变量对应的断言所包含的布尔表达式中的常数序列,包括:从所述目标数据中获取与所述正测试用例对应的待处理数据;对所述待处理数据进行聚类,以生成一个或多个子数据集,并根据所述子数据集中的最大值和最小值确定所述常数序列。8.根据权利要求6所述的方法,其特征在于,所述根据置入所述常数序列的所述布尔表达式计算与所述目标变量对应的断言的预测准确性,包括:根据公式(1)计算所述预测准确性:其中,Q为预测准确性,C
f
为错误预测崩溃的数量,C
t
为正确预测崩溃的数量,N
f
为错误预测非崩溃的数量,N
t
为正确预测非崩溃的数量。9.根据权利要求6所述的方法,其特征在于,所述根据所述预测准确性确...
【专利技术属性】
技术研发人员:沈雷,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。