本说明书实施例涉及计算机,特别涉及代码处理方法以及代码修复测试方法。
背景技术:
1、在传统软件开发流程中,代码编写是整个流程中的核心部分之一。编写得到的代码中,可能会包括一些异常问题(bug),这些错误或者不正确的实现可以称为代码问题、代码错误或者代码缺陷。代码缺陷会导致程序不能按照预期的方式运行,因此,如何进行代码处理逐渐成为研究重点。
2、目前,通常由人工手动从编写的代码中识别出代码缺陷,并利用先验知识对识别出的代码缺陷进行修复。然而,人工手动进行代码缺陷识别以及代码缺陷修复需要耗费大量时间和人力资源,导致代码处理效率极低,因此,亟需一种高效的代码处理方案。
技术实现思路
1、有鉴于此,本说明书实施例提供了代码处理方法。本说明书一个或者多个实施例同时涉及一种代码修复测试方法,代码处理装置,一种代码修复测试装置,一种任务平台,一种代码处理系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序产品,以解决现有技术中存在的技术缺陷。
2、根据本说明书实施例的第一方面,提供了一种代码处理方法,包括:
3、获取目标项目的代码问题;
4、根据代码问题和目标项目的代码知识图谱,确定目标项目的问题代码,其中,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;
5、将代码问题和问题代码输入代码处理模型,获得初始修复代码;
6、利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。
7、根据本说明书实施例的第二方面,提供了一种代码修复测试方法,包括:
8、获取目标项目的代码问题和初始修复代码,其中,初始修复代码为代码处理模型基于代码问题和问题代码处理得到,问题代码基于代码问题和目标项目的代码知识图谱得到,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;
9、利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。
10、根据本说明书实施例的第三方面,提供了一种代码处理方法,应用于任务平台,包括:
11、接收客户端发送的目标项目的代码问题;
12、根据代码问题和目标项目的代码知识图谱,确定目标项目的问题代码,其中,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;
13、将代码问题和问题代码输入代码处理模型,获得初始修复代码;
14、利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。
15、根据本说明书实施例的第四方面,提供了一种任务平台,包括请求接口和响应单元;
16、请求接口,用于接收客户端发送的目标项目的代码问题;
17、响应单元,用于根据代码问题和目标项目的代码知识图谱,确定目标项目的问题代码,其中,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;将代码问题和问题代码输入代码处理模型,获得初始修复代码;利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。
18、根据本说明书实施例的第五方面,提供了一种代码处理系统,包括客户端和服务端;
19、客户端,用于向服务端发送目标项目的代码问题;
20、服务端,用于根据代码问题和目标项目的代码知识图谱,确定目标项目的问题代码,其中,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;将代码问题和问题代码输入代码处理模型,获得初始修复代码;利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题;向客户端发送代码问题的目标修复代码;
21、客户端,还用于接收服务端发送的代码问题的目标修复代码。
22、根据本说明书实施例的第六方面,提供了一种代码处理装置,包括:
23、第一获取模块,被配置为获取目标项目的代码问题;
24、第一确定模块,被配置为根据代码问题和目标项目的代码知识图谱,确定目标项目的问题代码,其中,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;
25、第一输入模块,被配置为将代码问题和问题代码输入代码处理模型,获得初始修复代码;
26、第一测试模块,被配置为利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。
27、根据本说明书实施例的第七方面,提供了一种代码修复测试装置,包括:
28、第二获取模块,被配置为获取目标项目的代码问题和初始修复代码,其中,初始修复代码为代码处理模型基于代码问题和问题代码处理得到,问题代码基于代码问题和目标项目的代码知识图谱得到,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;
29、第二测试模块,被配置为利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。
30、根据本说明书实施例的第八方面,提供了一种代码处理装置,应用于任务平台,包括:
31、接收模块,被配置为接收客户端发送的目标项目的代码问题;
32、第二确定模块,被配置为根据代码问题和目标项目的代码知识图谱,确定目标项目的问题代码,其中,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;
33、第二输入模块,被配置为将代码问题和问题代码输入代码处理模型,获得初始修复代码;
34、第三测试模块,被配置为利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。
35、根据本说明书实施例的第九方面,提供了一种计算设备,包括:
36、存储器和处理器;
37、所述存储器用于存储计算机程序/指令,所述处理器用于执行所述计算机程序/指令,该计算机程序/指令被处理器执行时实现上述第一方面或者第二方面或者第三方面所提供方法的步骤。
38、根据本说明书实施例的第十方面,提供了一种计算机可读存储介质,其存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现上述第一方面或者第二方面或者第三方面所提供方法的步骤。
39、根据本说明书实施例的第十一方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述第一方面或者第二方面或者第三方面所提供方法的步骤。
40、本说明书一个实施例提供的代码处理方法,包括:获取目标项目的代码问题;根据代码问题和目标项目的代码知识图谱,确定目标项目的问题代码,其中,代码知识图谱用于表征目标项目的代码上下文关系和代码引用关系;将代码问题和问题代码输入代码处理模型,获得初始修复代码;利用测试代码对初始修复代码进行测试,在测试通过的情况下,获得代码问题的目标修复代码,其中,测试代码基于代码问题得到,测试代码用于复现代码问题。通过代码知识图谱确定问题代码,从而可以更好地理解目标项目的代码的结构和依赖关系,提高问题代码的准确性,利用代码处理模型进行代码自动修复,实现了代码高效处理,并且,利用测试代码对初始修复代码进行测试,避免目标修复代码中出现代码问题,确保了目标修复代码的正确性,降低了代码维护成本,进一步提高了代码处理效率。