一种多项目软件质量修复方法与系统技术方案

技术编号:31020779 阅读:54 留言:0更新日期:2021-11-30 03:09
本发明专利技术公开了一种多项目软件质量修复方法与系统,方法的步骤如下:获取各项目的已修复bug并提取、对比分析bug修复前代码内容与bug修复后代码内容,得到错误类型数据并提取已修复bug中代码错误类型bug和修复方式数据;提取代码错误类型bug与修复方式数据中的特征词,提取修复方式数据中的修复代码内容并处理为独立的变量数据;根据特征词获取bug源代码,并提取待修复项目,依据特征词获取待修复项目的项目源代码;对bug源代码与项目源代码进行比对;若匹配度超过95%则确定为同类待修复缺陷,获取变量数据生成补丁包并对待修复项目进行修复并生成修复结果数据;若匹配度未超过95%则不作为同类缺陷修复。95%则不作为同类缺陷修复。95%则不作为同类缺陷修复。

【技术实现步骤摘要】
一种多项目软件质量修复方法与系统


[0001]本专利技术涉及多项目软件质量修复方法与系统领域,具体涉及一种多项目软件质量修复方法与系统。

技术介绍

[0002]现阶段,随着互联网技术的普及,软件种类与软件业态日益向多元化、规模化转变,版本迭代愈发普遍,效率优化已成常态,但是,在软件升级换代的同时,由此衍生出的功能故障也变得更加多变与复杂,软件版本难以适配、维护成本不断提高等问题的涌现更是严重污染了软件的开发环境;近年来,自动程序修复发展迅速,其利用对给定缺陷的自动甄别功能,极大减少了人为修复过程中的时间、物力损耗;一般来说,自动修复的对象是软件存在的固有bug,以对展示缺陷的软件系统进行增量修改的方式达到修复功能实现;然而,多项目软件多存在发现能力缺陷不均等、问题修复与维系成本边际递增的特征,通常在问题出现时无法精准预测并实现升级;同时,在常规版本迭代的优化中,无法做到精准推送,在修复项目的选择等问题上模糊不清,尤其是对于一些在开发中或已结束开发的项目将更具风险性;因此需要利用各版本间存在重复代码的规律性,通过筛选多版本跨项目中相同特征的同类缺陷进行特征向量和代码匹配,组织补丁包自动预修复,极大提高了多版本项目人工检测效率和修复质量。

技术实现思路

[0003]本专利技术要解决的技术问题是多项目软件多存在发现能力缺陷不均等、问题修复与维系成本边际递增的特征,通常在问题出现时无法精准预测并实现升级;同时,在常规版本迭代的优化中,无法做到精准推送,在修复项目的选择等问题上模糊不清,尤其是对于一些在开发中或已结束开发的项目将更具风险性,本专利技术提供一种多项目软件质量修复方法,本专利技术还提供一种多项目软件质量修复系统,本技术方案通过分析确认bug错误类型和修复模式进行对应的修复,有效减少了修复的时间和成本,提高了修复效率;通过筛选bug软件版本匹配待修复项目,组织补丁包自动预修复,能够解决同类缺陷的软件问题,扩展同版本不同项目缺陷自动修复的范围;具有同类缺陷多项目软件质量预测和主动修复方法,算法简单,时间复杂度低,用以解决现有技术导致的缺陷。
[0004]为解决上述技术问题本专利技术提供以下的技术方案:
[0005]第一方面,一种多项目软件质量修复方法,其中,包含以下步骤:
[0006]步骤A1:获取各项目的已修复bug;
[0007]步骤A2:根据已修复bug提取并对比分析bug修复前代码内容与bug修复后代码内容,得到已修复bug数据中bug的错误类型数据和修复方式数据;
[0008]步骤A3:根据错误类型数据提取已修复bug中代码错误类型bug;
[0009]步骤A4:提取代码错误类型bug与修复方式数据中的特征词,提取修复方式数据中的修复代码内容并处理为独立的变量数据;
[0010]步骤A5:根据特征词获取bug源代码,并提取待修复项目,依据特征词获取待修复项目的项目源代码;
[0011]步骤A6:对bug源代码与项目源代码进行比对;
[0012]若匹配度超过95%则确定为同类待修复缺陷,获取变量数据生成补丁包并对待修复项目进行修复并生成修复结果数据;
[0013]若匹配度未超过95%则不作为同类缺陷修复。
[0014]上述的一种多项目软件质量修复方法,其中,步骤A1中从bug管理工具中获取各项目的已修复bug;
[0015]步骤A2中所述错误类型数据包含参数错误类型、方法名变量代码错误类型、环境错误类型、定制代码错误类型、包版本不匹配错误类型;
[0016]所述修复方式数据包含代码修复、修改环境问题、定制代码专项修复,版本包修改一致;
[0017]步骤A4中所述特征词包含版本号、方法名、变量名、参数名;
[0018]所述变量数据包含候选代码的方法名、变量名、参数名、错误类型;
[0019]步骤A5中根据特征词中的版本号提取项目信息数据中的待修复项目,并获取待修复项目中的项目源代码。
[0020]上述的一种多项目软件质量修复方法,其中,还包含对补丁包修复结果的验证,具体包含以下步骤:
[0021]步骤B1:获取补丁包与修复结果数据;
[0022]步骤B2:采用测试用例对补丁包与修复结果数据进行测试;
[0023]若测试成功,则修复成功,存储所述补丁包;
[0024]若测试失败,则修复失败,则需研发介入单独修复。
[0025]第二方面,一种多项目软件质量修复系统,其中,包含缺陷统计模块、数据计算模块、信息提取模块、代码生成模块、代码比对模块;
[0026]所述缺陷统计模块用于从bug管理工具中获取所有项目的已修复bug;
[0027]所述数据计算模块用于提取已修复bug中bug修复前代码内容与bug修复后代码内容并进行分析得到已修复bug数据中bug的错误类型数据和修复方式数据;
[0028]所述信息提取模块用于提取错误类型数据与所述修复方式数据中的特征词,还用于根据错误类型数据提取已修复bug中代码错误类型bug,还用于提取修复方式数据中的修复代码内容并处理为独立的变量数据,还用于根据特征词获取bug源代码,还用于提取待修复项目并依据特征词获取待修复项目的项目源代码;
[0029]所述代码生成模块用于将所述变量数据处理生成为补丁包;
[0030]所述代码比对模块用于对bug源代码与项目源代码进行比对,若匹配度超过95%则确定为同类待修复缺陷,使用补丁包对待修复项目进行修复并生成修复结果数据;若匹配度未超过95%则不作为同类缺陷修复。
[0031]上述的一种多项目软件质量修复系统,其中,所述错误类型数据包含参数错误类型、方法名变量代码错误类型、环境错误类型、定制代码错误类型、包版本不匹配错误类型;
[0032]所述修复方式数据包含代码修复、修改环境问题、定制代码专项修复,版本包修改一致;
[0033]所述特征词包含版本号、方法名、变量名、参数名;
[0034]所述变量数据包含候选代码的方法名、变量名、参数名、错误类型。
[0035]上述的一种多项目软件质量修复系统,其中,还包含测试用例模块,所述测试用例模块用于获取所述补丁包与修复结果数据进行测试验证。
[0036]第三方面,一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的方法的步骤。
[0037]依据上述本专利技术一种多项目软件质量修复方法与系统提供的技术方案具有以下技术效果:
[0038]本技术方案通过分析确认bug错误类型和修复模式进行对应的修复,有效减少了修复的时间和成本,提高了修复效率;通过筛选bug软件版本匹配待修复项目,组织补丁包自动预修复,能够解决同类缺陷的软件问题,扩展同版本不同项目缺陷自动修复的范围;具有同类缺陷多项目软件质量预测和主动修复方法,算法简单,时间复杂度低。
附图说明
[0039]图1为本专利技术一种多项目软本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多项目软件质量修复方法,其特征在于,包含以下步骤:步骤A1:获取各项目的已修复bug;步骤A2:根据已修复bug提取并对比分析bug修复前代码内容与bug修复后代码内容,得到已修复bug数据中bug的错误类型数据和修复方式数据;步骤A3:根据错误类型数据提取已修复bug中代码错误类型bug;步骤A4:提取代码错误类型bug与修复方式数据中的特征词,提取修复方式数据中的修复代码内容并处理为独立的变量数据;步骤A5:根据特征词获取bug源代码,并提取待修复项目,依据特征词获取待修复项目的项目源代码;步骤A6:对bug源代码与项目源代码进行比对;若匹配度超过95%则确定为同类待修复缺陷,获取变量数据生成补丁包并对待修复项目进行修复并生成修复结果数据;若匹配度未超过95%则不作为同类缺陷修复。2.如权利要求1所述的一种多项目软件质量修复方法,其特征在于,步骤A1中从bug管理工具中获取各项目的已修复bug;步骤A2中所述错误类型数据包含参数错误类型、方法名变量代码错误类型、环境错误类型、定制代码错误类型、包版本不匹配错误类型;所述修复方式数据包含代码修复、修改环境问题、定制代码专项修复,版本包修改一致;步骤A4中所述特征词包含版本号、方法名、变量名、参数名;所述变量数据包含候选代码的方法名、变量名、参数名、错误类型;步骤A5中根据特征词中的版本号提取项目信息数据中的待修复项目,并获取待修复项目中的项目源代码。3.如权利要求1或2所述的一种多项目软件质量修复方法,其特征在于,还包含对补丁包修复结果的验证,具体包含以下步骤:步骤B1:获取补丁包与修复结果数据;步骤B2:采用测试用例对补丁包与修复结果数据进行测试;若测试成功,则修复成功,存储所述补丁包;若测试失败,则修复失败,则需研发介入单独修复。4.一种多项目软件质量修复系...

【专利技术属性】
技术研发人员:李璐谢赟葛兵陈大伟
申请(专利权)人:上海德拓信息技术股份有限公司
类型:发明
国别省市:

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

1