构建错误的归因方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39247644 阅读:8 留言:0更新日期:2023-10-30 11:59
本申请实施例提供了一种构建错误的归因方法、装置、电子设备及存储介质,涉及软件开发技术领域。该方法包括:在目标软件发生构建错误时,获取第一日志集合,第一日志集合为用于记录目标软件的构建过程的日志文本组成的集合;对第一日志集合与第一知识库中的日志文本进行匹配第二日志集合,第一知识库包括多个构建错误对应的日志文本;对第三日志集合与第一知识库中的日志文本进行匹配生成第四日志集合;第三日志集合包括用于记录成功构建版本的目标软件的构建过程的日志文本;对第二日志集合与第四日志集合求差集获取第五日志集合;根据第五日志集合确定造成目标软件构建错误的源代码。本申请实施例用于提升排查造成构建错误的源代码的效率。误的源代码的效率。误的源代码的效率。

【技术实现步骤摘要】
构建错误的归因方法、装置、电子设备及存储介质


[0001]本申请涉及软件开发
,具体涉及一种构建错误的归因方法、装置、电子设备及存储介质。

技术介绍

[0002]软件构建主要包括软件开发过程中的软件编码和软件测试,是软件开发过程中必不可少的活动。对软件进行构建过程中可能会因为源代码存在缺陷而导致出现构建错误,而排查造成构建错误的源代码的过程被称为构建错误归因。
[0003]随着车辆智能化程度的提高,车辆的软件系统越来越庞大复杂,相应地车辆的软件系统构建出现错误时排查造成构建错误的源代码也变得越来越费时费力。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种构建错误的归因方法、装置、电子设备及存储介质,用于提升排查造成构建错误的源代码的效率。
[0005]为了实现上述目的,本申请实施例提供技术方案如下:
[0006]第一方面,本申请实施例提供了一种构建错误的归因方法,包括:
[0007]在目标软件发生构建错误时,获取第一日志集合,所述第一日志集合为用于记录所述目标软件的构建过程的日志文本组成的集合;
[0008]对所述第一日志集合中的日志文本与第一知识库中的日志文本进行匹配,并将所述第一日志集合中与所述第一知识库中的日志文本成功匹配的日志文本组合为第二日志集合,所述第一知识库包括多个构建错误对应的日志文本;
[0009]对第三日志集合中的日志文本与所述第一知识库中的日志文本进行匹配,并将所述第三日志集合中与所述第一知识库中的日志文本成功匹配的日志文本组合为第四日志集合;所述第三日志集合为用于记录成功构建版本的所述目标软件的构建过程的日志文本组成的集合;
[0010]对所述第二日志集合与所述第四日志集合求差集获取第五日志集合;
[0011]根据所述第五日志集合确定造成所述目标软件构建错误的源代码。
[0012]作为本申请实施例一种可选的实施方式,所述对所述第一日志集合中的日志文本与第一知识库中的日志文本进行匹配,包括:
[0013]计算所述第一日志集合中的目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离;
[0014]若所述目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离的最小值小于或等于预设阈值,则确定所述目标日志文本与所述第一知识库中的日志文本成功匹配;
[0015]若所述目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离的最小值大于所述预设阈值,则确定所述目标日志文本与所述第一知识库中的日志文本匹配失
败。
[0016]作为本申请实施例一种可选的实施方式,在对所述第二日志集合与所述第四日志集合求差集获取所述第五日志集合之前,所述方法还包括:
[0017]对所述第二日志集合中的日志文本和第二知识库中的日志文本进行匹配,并将成功匹配的日志文本从所述第二日志集合中删除;
[0018]其中,所述第二知识库包括多个非构建错误对应的日志文本。
[0019]作为本申请实施例一种可选的实施方式,所述根据所述第五日志集合确定造成所述目标软件构建错误的源代码,包括:
[0020]获取第一源码集合和第二源码集合,所述第一源码集合为第五日志集合中各个日志文件对应的源代码组成的集合,所述第二源码集合为第六日志集合中各个日志文件对应的源代码组成的集合,所述第六日志集合为所述第一知识库中各个与所述第五日志集合日志文件匹配成功的日志文件组成的集合;
[0021]计算所述第一源码集合中的各个源代码与所述第二源码集合中的各个源代码的莱文斯坦距离;
[0022]根据所述第一源码集合中的各个源代码与所述第二源码集合中的各个源代码的莱文斯坦距离确定目标源代码;所述目标源码为所述第一源码集合中的各个源代码与所述第二源码集合中的各个源代码的莱文斯坦距离的最小值对应的所述第一源码集合中的源代码;
[0023]确定所述目标源代码为造成所述目标软件构建错误的源代码。
[0024]作为本申请实施例一种可选的实施方式,在根据所述第五日志集合确定造成所述目标软件构建错误的源代码之后,所述方法还包括:
[0025]输出造成所述目标软件构建错误的源代码;
[0026]接收用户输入的标注信息;
[0027]若所述标注信息指示构建错误的归因正确,则将造成所述目标软件构建错误的源代码对应的日志文件添加到所述第一知识库中;
[0028]若所述标注信息指示构建错误的归因错误,则将造成所述目标软件构建错误的源代码对应的日志文件添加到所述第二知识库中。
[0029]作为本申请实施例一种可选的实施方式,所述方法还包括:
[0030]若所述标注信息指示构建错误的归因正确,则向造成所述目标软件构建错误的源代码对应的终端设备发送通知消息;
[0031]所述通知消息用于指示对造成所述目标软件构建错误的源代码进行修改。
[0032]作为本申请实施例一种可选的实施方式,所述方法还包括:
[0033]若所述标注信息指示构建错误的归因错误,则基于所述目标软件的源代码的提交时间,使用二分法确定造成所述目标软件构建错误的源代码。
[0034]第二方面,本申请实施例提供了一种构建错误的归因装置,包括:
[0035]获取单元,用于在目标软件发生构建错误时,获取第一日志集合,所述第一日志集合为用于记录所述目标软件的构建过程的日志文本组成的集合;
[0036]匹配单元,用于对所述第一日志集合中的日志文本与第一知识库中的日志文本进行匹配,并将所述第一日志集合中与所述第一知识库中的日志文本成功匹配的日志文本组
合为第二日志集合,所述第一知识库包括多个构建错误对应的日志文本;
[0037]所述匹配单元,还用于对第三日志集合中的日志文本与所述第一知识库中的日志文本进行匹配,并将所述第三日志集合中与所述第一知识库中的日志文本成功匹配的日志文本组合为第四日志集合;所述第三日志集合为用于记录成功构建版本的所述目标软件的构建过程的日志文本组成的集合;
[0038]处理单元,用于对所述第二日志集合与所述第四日志集合求差集获取第五日志集合;
[0039]归因单元,用于根据所述第五日志集合确定造成所述目标软件构建错误的源代码。
[0040]作为本申请实施例一种可选的实施方式,所述匹配单元,具体用于计算所述第一日志集合中的目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离;若所述目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离的最小值小于或等于预设阈值,则确定所述目标日志文本与所述第一知识库中的日志文本成功匹配;若所述目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离的最小值大于所述预设阈值,则确定所述目标日志文本与所述第一知识库中的日志文本匹配失败。
[0041]作为本申请实施例一种可选的实施方式,所述匹配单元,还用于在对所述第二日志集合与所述第四日志集合求差集获取所述第五本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种构建错误的归因方法,其特征在于,包括:在目标软件发生构建错误时,获取第一日志集合,所述第一日志集合为用于记录所述目标软件的构建过程的日志文本组成的集合;对所述第一日志集合中的日志文本与第一知识库中的日志文本进行匹配,并将所述第一日志集合中与所述第一知识库中的日志文本成功匹配的日志文本组合为第二日志集合,所述第一知识库包括多个构建错误对应的日志文本;对第三日志集合中的日志文本与所述第一知识库中的日志文本进行匹配,并将所述第三日志集合中与所述第一知识库中的日志文本成功匹配的日志文本组合为第四日志集合;所述第三日志集合为用于记录成功构建版本的所述目标软件的构建过程的日志文本组成的集合;对所述第二日志集合与所述第四日志集合求差集获取第五日志集合;根据所述第五日志集合确定造成所述目标软件构建错误的源代码。2.根据权利要求1所述的方法,其特征在于,所述对所述第一日志集合中的日志文本与第一知识库中的日志文本进行匹配,包括:计算所述第一日志集合中的目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离;若所述目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离的最小值小于或等于预设阈值,则确定所述目标日志文本与所述第一知识库中的日志文本成功匹配;若所述目标日志文本与所述第一知识库中的各个日志文本的莱文斯坦距离的最小值大于所述预设阈值,则确定所述目标日志文本与所述第一知识库中的日志文本匹配失败。3.根据权利要求1所述的方法,其特征在于,在对所述第二日志集合与所述第四日志集合求差集获取所述第五日志集合之前,所述方法还包括:对所述第二日志集合中的日志文本和第二知识库中的日志文本进行匹配,并将成功匹配的日志文本从所述第二日志集合中删除;其中,所述第二知识库包括多个非构建错误对应的日志文本。4.根据权利要求1所述的方法,其特征在于,所述根据所述第五日志集合确定造成所述目标软件构建错误的源代码,包括:获取第一源码集合和第二源码集合,所述第一源码集合为第五日志集合中各个日志文件对应的源代码组成的集合,所述第二源码集合为第六日志集合中各个日志文件对应的源代码组成的集合,所述第六日志集合为所述第一知识库中各个与所述第五日志集合日志文件匹配成功的日志文件组成的集合;计算所述第一源码集合中的各个源代码与所述第二源码集合中的各个源代码的莱文斯坦距离;根据所述第一源码集合中的各个源代码与所述第二源码集合中的各个源代码的莱文斯坦距离确定目标源代码;所述目标源码为所述第一源码集合中的各个源代码与所述第二源码集合中的各个源代码的莱文斯坦距离的最小值对应的...

【专利技术属性】
技术研发人员:包昊军
申请(专利权)人:北京罗克维尔斯科技有限公司
类型:发明
国别省市:

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

1