应用程序的代码检测方法及装置制造方法及图纸

技术编号:22218548 阅读:18 留言:0更新日期:2019-09-30 01:06
本申请公开了一种应用程序的代码检测方法及装置,涉及互联网技术领域。该方法可以将获取到的第一应用程序的第一代码的属性信息输入代码检测模型,并根据该代码检测模型的输出结果,直接确定该第一代码存在程序错误的概率。由于可以直接通过代码检测模型来确定代码存在程序错误的概率,无需人工检测,因此有效提高了代码检测的效率。

Code Detection Method and Device of Application Program

【技术实现步骤摘要】
应用程序的代码检测方法及装置
本专利技术涉及互联网
,特别涉及一种应用程序的代码检测方法及装置。
技术介绍
在应用程序的开发过程中,为了保证应用程序能够正常运行,需要对应用程序的代码进行检测,以便及时发现和修复代码中的程序错误(bug)。相关技术中,通常是由测试人员对代码进行检测,从而识别代码中的bug。但是,该人工检测的方法效率较低。
技术实现思路
本申请提供了一种应用程序的代码检测方法及装置,可以解决相关技术中人工检测的方法效率较低的问题。所述技术方案如下:一方面,提供了一种应用程序的代码检测方法,所述方法包括:获取第一应用程序的第一代码的属性信息;将所述第一代码的属性信息输入代码检测模型,所述代码检测模型基于已确定是否存在程序错误的第一样本代码的属性信息训练得到;根据所述代码检测模型的输出结果,确定所述第一代码存在程序错误的概率。可选的,所述第一代码的属性信息包括下述信息中的一种或多种:所述第一代码所属项目的标识,所述第一代码所属文件的标识,所述第一代码的提交者的信息。可选的,所述第一代码为对第一应用程序的第二代码进行修改得到的代码;所述第一代码的属性信息还包括:所述第一代码相对于所述第二代码的修改部分的修改信息。可选的,在所述获取第一应用程序的第一代码的属性信息之前,所述方法还包括:获取多个样本数据,每个所述样本数据包括所述第一样本代码的属性信息以及所述第一样本代码的检测标签,所述第一样本代码的检测标签用于指示所述第一样本代码存在程序错误的概率;基于所述多个样本数据进行模型训练,得到所述代码检测模型。可选的,所述第一样本代码为对第二应用程序的第二样本代码进行修改得到的代码;在所述获取多个样本数据之前,所述方法还包括:获取采用所述第二样本代码的第二应用程序的第一运行数据;获取采用所述第一样本代码的第二应用程序的第二运行数据;根据所述第一运行数据和所述第二运行数据,确定所述第一样本代码存在程序错误的概率。可选的,所述第一运行数据和所述第二运行数据中的每个运行数据均包括:业务指标,异常数量,服务成功率以及服务失败率中的一种或多种;所述第一样本代码存在程序错误的概率,与所述第二运行数据和所述第一运行数据中业务指标的差值负相关,与所述第二运行数据和所述第一运行数据中异常数量的差值正相关,与所述第二运行数据和所述第一运行数据中服务成功率的差值负相关,与所述第二运行数据和所述第一运行数据中服务失败率的差值正相关。可选的,所述第一样本代码是对第二应用程序的第二样本代码进行修改得到的代码;在所述获取多个样本数据之前,所述方法还包括:获取所述第一样本代码的第二应用程序运行过程中针对所述第一样本代码的操作数据;根据所述操作数据,确定所述第一样本代码存在程序错误的概率。可选的,在所述确定所述第一代码存在程序错误的概率之后,所述方法还包括:获取所述第一代码的检测标签,所述第一代码的检测标签用于指示所述第一代码实际存在程序错误的概率;基于所述第一代码的属性信息以及所述第一代码的检测标签对所述代码检测模型进行训练,以更新所述代码检测模型。另一方面,提供了一种应用程序的代码检测装置,所述装置包括:第一获取模块,用于获取第一应用程序的第一代码的属性信息;输入模块,用于将所述第一代码的属性信息输入代码检测模型,所述代码检测模型基于已确定是否存在程序错误的第一样本代码的属性信息训练得到;第一确定模块,用于根据所述代码检测模型的输出结果,确定所述第一代码存在程序错误的概率。又一方面,提供了一种应用程序的代码检测装置,所述装置包括:处理器和存储器,所述存储器用于存储由处理器执行的指令,所述处理器通过执行所述存储器中存储的指令以实现上述方面所述的应用程序的代码检测方法。再一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的应用程序的代码检测方法。本申请提供的技术方案带来的有益效果至少包括:本申请提供了一种应用程序的代码检测方法及装置,该方法可以将获取到的第一应用程序的第一代码的属性信息输入代码检测模型,并根据该代码检测模型的输出结果,直接确定该第一代码存在程序错误的概率。由于可以直接通过代码检测模型来确定代码存在程序错误的概率,无需人工检测,因此有效提高了代码检测的效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的基于应用程序的代码检测方法所涉及的一种实施环境的结构示意图;图2是本专利技术实施例提供的一种应用程序的代码检测方法的流程图;图3是本专利技术实施例提供的另一种应用程序的代码检测方法的流程图;图4是本专利技术实施例提供的一种生成代码检测模型的示意图;图5是本专利技术实施例提供的一种确定第一样本代码存在程序错误的概率的方法流程图;图6是本专利技术实施例提供的另一种确定第一样本代码存在程序错误的概率的方法流程图;图7是本专利技术实施例提供的一种应用程序的代码检测装置的结构示意图;图8是本专利技术实施例提供的另一种应用程序的代码检测装置的结构示意图;图9是本专利技术实施例提供的又一种应用程序的代码检测装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。相关技术中,为了保证应用程序中的代码在发布或变更时的稳定性,可以在代码发布或变更时,对代码存在程序错误的概率进行预测,以便及时发现稳定性较差(高风险)的代码,并对这些稳定性较差的代码设置更加严格的代码审查流程,例如,可以由更多的测试人员对其进行检测,从而避免将稳定性较差的代码应用在应用程序中,提高了应用程序的稳定性。相关技术中,通常是测试人员对代码进行检测的,该人工检测的方法效率较低,准确性较差。图1是本专利技术实施例提供的基于应用程序的代码检测方法所涉及的一种实施环境的结构示意图。该实施环境可以包括终端01以及代码检测服务器02。其中,该终端01可以为计算机。该代码检测服务器02可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。参考图1可以看出,终端01与代码检测服务器02之间,可以通过有线或无线网络建立连接。编程人员可以通过终端01将待检测的代码,发送至代码检测服务器02。该代码检测服务器02中存储有代码检测模型,可以通过该代码检测模型对该待检测的代码的属性信息进行检测,并可以将检测结果发送至终端01。编程人员即可通过该检测结果确定自身提交的代码中存在程序错误的概率。由于该代码检测服务器可以通过代码检测模型自动完成对提交的应用程序中的代码的检测,无需人工检测,有效提高了代码检测的效率。图2是本专利技术实施例提供的一种应用程序的代码检测方法的流程图。该方法可以解决相关技术中人工检测的方法效率较低,准确性较差的问题,该方法可以应用于代码检测服务器中。参考图2可以看出,该方法可以包括:步骤101、获取第一应用程序的第一代码的属性信息。该第一应用程序可以为待检本文档来自技高网...

【技术保护点】
1.一种应用程序的代码检测方法,其特征在于,所述方法包括:获取第一应用程序的第一代码的属性信息;将所述第一代码的属性信息输入代码检测模型,所述代码检测模型基于已确定是否存在程序错误的第一样本代码的属性信息训练得到;根据所述代码检测模型的输出结果,确定所述第一代码存在程序错误的概率。

【技术特征摘要】
1.一种应用程序的代码检测方法,其特征在于,所述方法包括:获取第一应用程序的第一代码的属性信息;将所述第一代码的属性信息输入代码检测模型,所述代码检测模型基于已确定是否存在程序错误的第一样本代码的属性信息训练得到;根据所述代码检测模型的输出结果,确定所述第一代码存在程序错误的概率。2.根据权利要求1所述的方法,其特征在于,所述第一代码的属性信息包括下述信息中的一种或多种:所述第一代码所属项目的标识,所述第一代码所属文件的标识,所述第一代码的提交者的信息。3.根据权利要求2所述的方法,其特征在于,所述第一代码为对第一应用程序的第二代码进行修改得到的代码;所述第一代码的属性信息还包括:所述第一代码相对于所述第二代码的修改部分的修改信息。4.根据权利要求1至3任一所述的方法,其特征在于,在所述获取第一应用程序的第一代码的属性信息之前,所述方法还包括:获取多个样本数据,每个所述样本数据包括所述第一样本代码的属性信息以及所述第一样本代码的检测标签,所述第一样本代码的检测标签用于指示所述第一样本代码存在程序错误的概率;基于所述多个样本数据进行模型训练,得到所述代码检测模型。5.根据权利要求4所述的方法,其特征在于,所述第一样本代码为对第二应用程序的第二样本代码进行修改得到的代码;在所述获取多个样本数据之前,所述方法还包括:获取采用所述第二样本代码的第二应用程序的第一运行数据;获取采用所述第一样本代码的第二应用程序的第二运行数据;根据所述第一运行数据和所述第二运行数据,确定所述第一样本代码存在程序错误的概率。6.根据权利要求5所述的方法,其特征在于,所述第一运行数据和所述第二运行数据中的每个运行数据均包括:业务指标,异常数量,服务成功率以及服务失败...

【专利技术属性】
技术研发人员:江磊沈鹏飞潘磊梁帅方春龙
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京,11

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

1