本公开涉及人工智能领域,具体涉及代码更新领域,更具体地涉及一种代码更新方法、装置、设备、介质和程序产品。
背景技术:
1、在代码管理平台上运行代码时,在出现运行错误的情况下,得到报错日志。报错日志中记录用于表征代码错误类型、错误原因等信息。可以通过分析报错日志,得到代码的分析结果。
2、但是,由于管理平台及通用的分析工具的分析粒度较粗,无法获得精细粒度的分析结果,进而不利于对代码的修改、优化。
技术实现思路
1、鉴于上述问题,本公开提供了一种代码更新方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
2、根据本公开的第一个方面,提供了一种代码更新方法,包括:在第一运行结果表征待分析代码错误的情况下,对上述运行结果进行分析,得到第一解析结果,其中,上述第一运行结果是运行上述待分析代码得到的结果;基于上述第一解析结果,从多个基准子代码中确定目标基准子代码;在第二运行结果表征第一更新代码错误的情况下,对上述第二运行结果进行分析,得到第二解析结果,其中,上述第一更新代码是利用目标基准子代码更新上述待分析代码得到的,上述第二运行结果是运行上述第一更新代码得到的结果;以及基于上述运行结果和上述第二解析结果,更新上述第一更新代码,得到第二更新代码。
3、根据本公开的实施例,上述第一解析结果包括上述待分析代码的错误语句定位结果;上述基于上述第一解析结果,从多个基准子代码中确定目标基准子代码,包括:基于上述第一解析结果中的错误语句定位结果,从上述待分析代码中确定待更新子代码;确定上述待更新子代码的代码逻辑;以及基于上述代码逻辑,从历史语料库中确定与上述更新子代码相匹配的上述目标基准子代码,其中,上述历史语料库包括上述多个基准子代码。
4、根据本公开的实施例,上述方法还包括:利用上述目标基准子代码,更新上述待分析代码,得到上述第一更新代码;基于上述第一更新代码和预设代码模板,得到运行代码;以及运行上述运行代码,得到上述第二运行结果。
5、根据本公开的实施例,上述方法还包括:在上述第一运行结果表征上述待分析代码正确的情况下,基于上述第一运行结果,确定上述待分析代码的运行性能结果;以及在上述运行性能结果满足预设性能条件的情况下,基于上述待分析代码和上述运行性能结果,对上述待分析代码进行优化,得到目标优化代码。
6、根据本公开的实施例,上述基于上述第二运行结果和上述第二解析结果,更新上述第一更新代码,得到第二更新代码,包括:将纠错提示语句、上述第二运行结果、第二解析结果和上述第一更新代码输入至优化模型的纠错模块中,得到代码错误分析结果,其中,上述优化模型还包括优化模块;以及将第一优化提示语句、上述代码错误分析结果和上述第一更新代码,输入至上述优化模块中,得到上述第二更新代码。
7、根据本公开的实施例,上述基于上述待分析代码和上述运行性能结果,对上述待分析代码进行优化,得到目标优化代码,包括:将第二优化提示语句、上述待分析代码和上述运行性能结果输入至优化模型的优化模块中,得到上述目标优化代码。
8、根据本公开的实施例,上述运行结果包括运行日志;上述对上述运行结果进行分析,得到第一解析结果,包括:在确定上述运行结果包括运行日志的情况下,将上述运行日志输入至解析工具中,得到上述第一解析结果。
9、本公开的第二方面提供了一种代码更新装置,包括:代码运行模块,用于运行上述代码及输出运行结果;代码分析模块,用于在第一运行结果表征待分析代码错误的情况下,对上述第一运行结果进行分析,得到第一解析结果,以及在第二运行结果表征第一更新代码错误的情况下,对上述第二运行结果进行分析,得到第二解析结果;以及代码更新模块,用于基于上述第一解析结果确定目标基准子代码,并基于上述目标基准子代码更新第一更新代码;以及基于上述第二运行结果和上述第二解析结果更新上述第一更新代码,得到第二更新代码。
10、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。
11、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
12、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
13、通过本发明的实施例提供的一种代码更新方法,在待分析代码在运行时发生错误后,基于第一解析结果,从多个基准子代码中确定目标基准子代码,将目标基准子代码替换掉待分析代码中存在错误的部分,得到第一更新代码,再通过运行第一更新代码,确定第一更新代码是否正常运行,若第一更新代码运行正常,则可以快速完成对待分析代码的修正,提高了代码修正的速度。若第一更新代码仍然存在错误,则基于第一更新代码运行的第二运行结果和第二解析结果对第一更新代码进行不断更新,直到得到可以正常运行的第二更新代码,细化了对代码分析的颗粒度,提升了代码修正的准确程度。
1.一种代码更新方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一解析结果包括所述待分析代码的错误语句定位结果;
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述第二运行结果和所述第二解析结果,更新所述第一更新代码,得到第二更新代码,包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述基于所述待分析代码和所述运行性能结果,对所述待分析代码进行优化,得到目标优化代码,包括:
7.根据权利要求1所述的方法,其特征在于,所述运行结果包括运行日志;
8.一种代码更新装置,其特征在于,所述装置包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
