System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种辅助快速定位软件问题的方法技术_技高网

一种辅助快速定位软件问题的方法技术

技术编号:42835307 阅读:1 留言:0更新日期:2024-09-24 21:08
本发明专利技术公开了一种辅助快速定位软件问题的方法。该方法通过构建代码结构树分析代码依赖关系,跟踪代码修改提交记录,获取软件问题信息后过滤出可能相关的提交记录,然后利用自动化测试用例逐步回滚不同版本验证问题出现情况,当定位出引发问题的提交记录后,进一步快速定位问题函数,并在代码修复后再次用自动化用例验证问题消失,最后根据验证结果自动关闭软件问题。这种技术方案能够实现自动高效地定位和修复软件问题,大幅缩短问题的发现到解决周期,减少大量人工工作,提升软件质量控制效率。该方法具有自动化程度高、定位准确率高等优点,可显著改善软件开发及测试流程,提高软件产品质量和用户满意度。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体涉及一种辅助快速定位软件问题的方法


技术介绍

1、软件出现bug时,定位问题需要消耗大量时间,很难快速定位到出现问题的文件和具体代码位置。依赖人工经验分析日志定位问题,效率低下,无法满足快速定位的需求。无法自动识别与问题相关的代码,需要人工逐步调试分析。无法快速定位问题所在的具体代码行或函数,定位粒度不足。无法进行自动化验证问题的修复,需要人工确认验证结果。无法形成闭环的定位-修复-验证流程,检验效果存疑。定位准确度依赖个人经验,结果可复现性较差。问题解决周期长,无法满足用户的服务响应要求。代码调试分析多依赖人工,自动化程度低。无法实现批量软件问题的自动处理,效率仍然偏低。软件版本间问题关联性分析困难,问题关联难以发现。


技术实现思路

1、有鉴于此,本专利技术提供了一种辅助快速定位软件问题的方法,包括:

2、步骤1,构建软件代码的结构树,所述结构树包括模块节点、文件名节点、类节点、函数节点,存储代码之间的依赖关系;

3、步骤2,跟踪软件代码修改提交记录,标记修改提交记录与对应的代码结构树节点的关联关系,并且,对于每个代码修改提交记录,计算其与软件问题的相关性评分;

4、步骤3,获取软件问题列表,软件问题包括出现时间、问题描述、所在模块的信息;根据软件问题的模块信息,在代码结构树中定位相关区域;

5、步骤4,过滤出该区域在软件问题出现时间段内的代码修改提交记录,逐步回滚修改记录中的代码提交,使用自动化脚本验证软件问题的出现;对于每个软件问题,计算其问题描述向量与历史问题案例库中各案例的描述向量之间的相似度得分,从而加速新问题的分析定位;

6、步骤5,当软件问题消失时,记录对应的代码修改提交记录,确定问题相关代码;在问题相关代码内,继续快速定位具体问题函数;修复问题代码后,使用自动化脚本重新验证软件问题的消失;根据验证结果,自动关闭软件问题单。

7、特别地,所述代码结构树通过解析代码中的引用关系自动构建,对于需要编译的代码,通过编译获取代码中模块的引用关系。

8、特别地,所述代码修改提交记录包括提交时间、提交人、修改内容和修改文件;并且,对于每个代码修改提交记录,计算其与软件问题的相关性评分cs(p,c),公式如下:

9、

10、其中,p=(p1,p2,...,pn)为代表软件问题可能涉及区域的加权向量;

11、c=(c1,c2,...,cn)为代表该代码修改提交记录对应修改区域的加权向量;

12、wp和wc分别为p和c向量的权重系数;np和nc分别为p和c每个分量的权重;过滤出cs(p,c)值最高的代码修改提交记录,优先用于验证和定位软件问题。

13、特别地,所述软件问题信息还包括首次出现时间、严重程度、优先级、所在函数;并且,对于每个软件问题,计算其问题描述向量与历史问题案例库中各案例的描述向量并计算两者之间的相似度得分公式如下:。

14、

15、其中,u=(u1,u2,...,un)为待定位问题的关键词向量;v=(v1,v2,...,vn)为历史问题案例的关键词向量;wi为每个词i的权重;fi,j为词i在案例j中的词频;l为归一化参数;根据得分从高到低排序,从历史案例库中找出与新问题最为相关的案例,借鉴其分析思路和解决方案,从而加速新问题的分析定位。

16、特别地,所述自动化脚本包含用于复现软件问题的步骤。

17、特别地,所述自动化脚本通过模拟用户操作自动运行软件功能。

18、特别地,所述逐步回滚修改记录、验证问题出现的步骤,递归执行直到确定问题相关代码。

19、特别地,根据正则匹配出问题相关代码。

20、特别地,还包括对自动关闭的软件问题进行重新验证,以确保问题的消失。

21、有益效果:

22、通过本专利技术的技术方案构建代码结构树与修改记录的跟踪关联,实现了对软件问题相关代码的自动识别与定位。

23、通过本专利技术的技术方案采用自动化测试脚本,实现了对问题出现与消失的自动验证,避免人工确认的复杂度。

24、通过本专利技术的技术方案采用逐步回滚定位法,可以有效缩小问题相关代码范围,提高了定位效率。

25、通过本专利技术的技术方案实现快速定位到具体问题函数,大幅减少了人工分析根因的工作量。

26、通过本专利技术的技术方案实现从软件问题定位到自动验证的全自动闭环流程,整个过程自动化程度高。

27、通过本专利技术的技术方案可以显著减少代码定位和测试的人工参与,提升软件缺陷管理效率。

28、通过本专利技术的技术方案实现问题修复验证后的自动关闭,确保每个软件问题单得到响应和解决。

29、通过本专利技术的技术方案结合代码结构与静动态分析技术,实现了对软件问题的深入定位与分析。

30、通过本专利技术的技术方案极大缩短从问题发生到修复的周期,有效提升了软件质量和用户满意度。

本文档来自技高网...

【技术保护点】

1.一种辅助快速定位软件问题的方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述代码结构树通过解析代码中的引用关系自动构建,对于需要编译的代码,通过编译获取代码中模块的引用关系。

3.如权利要求1所述的方法,其特征在于,所述代码修改提交记录包括提交时间、提交人、修改内容和修改文件;并且,对于每个代码修改提交记录,计算其与软件问题的相关性评分CS(P,C),公式如下:

4.如权利要求1所述的方法,其特征在于,所述软件问题信息还包括首次出现时间、严重程度、优先级、所在函数;并且,对于每个软件问题,计算其问题描述向量与历史问题案例库中各案例的描述向量并计算两者之间的相似度得分公式如下:。

5.如权利要求1所述的方法,其特征在于,所述自动化脚本包含用于复现软件问题的步骤。

6.如权利要求5所述的方法,其特征在于,所述自动化脚本通过模拟用户操作自动运行软件功能。

7.如权利要求1所述的方法,其特征在于,所述逐步回滚修改记录、验证问题出现的步骤,递归执行直到确定问题相关代码。

8.如权利要求1所述的方法,其特征在于,根据正则匹配出问题相关代码。

9.如权利要求1所述的方法,其特征在于,还包括对自动关闭的软件问题进行重新验证,以确保问题的消失。

...

【技术特征摘要】

1.一种辅助快速定位软件问题的方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述代码结构树通过解析代码中的引用关系自动构建,对于需要编译的代码,通过编译获取代码中模块的引用关系。

3.如权利要求1所述的方法,其特征在于,所述代码修改提交记录包括提交时间、提交人、修改内容和修改文件;并且,对于每个代码修改提交记录,计算其与软件问题的相关性评分cs(p,c),公式如下:

4.如权利要求1所述的方法,其特征在于,所述软件问题信息还包括首次出现时间、严重程度、优先级、所在函数;并且,对于每个软件问题,计算其问题描述向量与历史问题...

【专利技术属性】
技术研发人员:王新蕊王晓军陈萧冰田新宇姚思奇汪旭段然杨永贺张永乐崔建忠邵博丰张振东刘朝名王战峰
申请(专利权)人:中国兵器装备集团兵器装备研究所
类型:发明
国别省市:

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

1