System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 代码修复方法、装置、设备及介质制造方法及图纸_技高网

代码修复方法、装置、设备及介质制造方法及图纸

技术编号:40389803 阅读:5 留言:0更新日期:2024-02-20 22:22
本申请公开了一种代码修复方法、装置、设备及介质,涉及计算机技术领域。该方法包括:获取第一程序的异常信息;对异常信息进行源码追溯,在第一程序对应的代码文件中确定异常信息对应的第一源代码和异常代码位置;基于异常信息、第一源代码和异常代码位置确定修复提示文本;通过代码修复模型对修复提示文本进行语义分析,基于语义分析结果对第一源代码进行修复,得到第二源代码;基于第二源代码对第一程序对应的代码文件进行更新。结合源码追溯和代码修复模型实现了从确定异常源代码到修复源代码的自动化流程,提高了对程序代码的修复效率。

【技术实现步骤摘要】

本申请实施例涉及计算机,特别涉及一种代码修复方法、装置、设备及介质


技术介绍

1、在软件开发领域,软件项目开发通常被划分为多个阶段,其中,项目后期维护是较为关键的阶段。开发人员需要在项目后期维护阶段持续监测项目运行状态以保证项目的正常运行。

2、相关技术中,项目运行出现问题导致项目崩溃(即项目无法运行)的时候,需要先找到对应项目的开发人员,开发人员会根据项目具体的线上运行表象来推断原因,然后根据推断的原因对项目源代码进行分析和源码修复,最后根据修复好的源码重新上线项目。

3、然而,相关技术中开发人员手动修复源码的过程非常耗时,项目代码的修复效率较低。


技术实现思路

1、本申请实施例提供了一种代码修复方法、装置、设备及介质,能够提高代码的修复效率,所述技术方案如下:

2、一方面,提供了一种代码修复方法,所述方法包括:

3、获取第一程序的异常信息,所述异常信息用于指示所述第一程序在运行过程中出现的错误事件的事件信息;

4、对所述异常信息进行源码追溯,在所述第一程序对应的代码文件中确定所述异常信息对应的第一源代码和异常代码位置,所述第一源代码是指出现所述错误事件的代码文件,所述异常代码位置是指所述第一源代码中出现所述错误事件的代码片段的位置;

5、基于所述异常信息、所述第一源代码和所述异常代码位置确定修复提示文本,所述修复提示文本用于引导代码修复模型对所述第一源代码进行修复,所述代码修复模型是预先训练得到的包括代码修复功能的模型;

6、通过所述代码修复模型对所述修复提示文本进行语义分析,基于语义分析结果对所述第一源代码进行修复,得到第二源代码;

7、基于所述第二源代码对所述第一程序对应的代码文件进行更新。

8、另一方面,提供了一种代码修复装置,所述装置包括:

9、获取模块,用于获取第一程序的异常信息,所述异常信息用于指示所述第一程序在运行过程中出现的错误事件的事件信息;

10、确定模块,用于对所述异常信息进行源码追溯,在所述第一程序对应的代码文件中确定所述异常信息对应的第一源代码和异常代码位置,所述第一源代码是指出现所述错误事件的代码文件,所述异常代码位置是指所述第一源代码中出现所述错误事件的代码片段的位置;

11、所述确定模块,还用于基于所述异常信息、所述第一源代码和所述异常代码位置确定修复提示文本,所述修复提示文本用于引导代码修复模型对所述第一源代码进行修复,所述代码修复模型是预先训练得到的包括代码修复功能的模型;

12、修复模块,用于通过所述代码修复模型对所述修复提示文本进行语义分析,基于语义分析结果对所述第一源代码进行修复,得到第二源代码;

13、更新模块,用于基于所述第二源代码对所述第一程序对应的代码文件进行更新。

14、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一所述代码修复方法。

15、另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一所述的代码修复方法。

16、另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一所述的代码修复方法。

17、本申请实施例提供的技术方案带来的有益效果至少包括:

18、在第一程序运行产生错误时,能够获取第一程序的异常信息并对其进行源码追溯,确定出现异常的源代码和源代码中异常代码位置,并根据异常信息、异常源代码和异常代码位置确定修复提示文本,从而具有代码修复功能的代码修复模型能够基于该修复提示文本对异常源代码进行修复。一方面,结合源码追溯和代码修复模型实现了从确定异常源代码到修复源代码的自动化流程,提高了对程序代码的修复效率;另一方面,缩短了从发现程序异常到解决程序异常的时间,加快了对异常程序的修复流程,避免通过人工修复异常程序导致的长时间系统故障,提高了系统的稳定性。

本文档来自技高网...

【技术保护点】

1.一种代码修复方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述异常信息中包括所述错误事件的错误类型和所述错误事件的错误描述;

3.根据权利要求2所述的方法,其特征在于,所述预设提示文本拼接规则包括修复提示词,所述修复提示词包括以下提示词中的至少一种:

4.根据权利要求1所述的方法,其特征在于,所述通过所述代码修复模型对所述修复提示文本进行语义分析,基于语义分析结果对所述第一源代码进行修复,得到第二源代码,包括:

5.根据权利要求4所述的方法,其特征在于,所述对所述上下文特征表示进行解码处理,得到所述第二源代码,包括:

6.根据权利要求1至5任一所述的方法,其特征在于,所述获取第一程序的异常信息,包括:

7.根据权利要求6所述的方法,其特征在于,所述获取所述第一程序的第一错误栈,包括:

8.根据权利要求7所述的方法,其特征在于,所述基于所述m个错误栈分别对应的错误事件的错误类型,对所述第一程序进行崩溃趋势分析,得到趋势分析结果,包括:

9.根据权利要求7所述的方法,其特征在于,所述方法还包括:

10.根据权利要求1至5任一所述的方法,其特征在于,所述基于所述第二源代码对所述第一程序对应的代码文件进行更新之后,还包括:

11.一种代码修复装置,其特征在于,所述装置包括:

12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一所述的代码修复方法。

13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至10任一所述的代码修复方法。

...

【技术特征摘要】

1.一种代码修复方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述异常信息中包括所述错误事件的错误类型和所述错误事件的错误描述;

3.根据权利要求2所述的方法,其特征在于,所述预设提示文本拼接规则包括修复提示词,所述修复提示词包括以下提示词中的至少一种:

4.根据权利要求1所述的方法,其特征在于,所述通过所述代码修复模型对所述修复提示文本进行语义分析,基于语义分析结果对所述第一源代码进行修复,得到第二源代码,包括:

5.根据权利要求4所述的方法,其特征在于,所述对所述上下文特征表示进行解码处理,得到所述第二源代码,包括:

6.根据权利要求1至5任一所述的方法,其特征在于,所述获取第一程序的异常信息,包括:

7.根据权利要求6所述的方法,其特征在于,所述获取所述第一程序的第一错误栈,包括:

【专利技术属性】
技术研发人员:艾瑞坤
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1