【技术实现步骤摘要】
一种基于代码指标的软件可靠性评估方法
[0001]本专利技术涉及软件质量评估
,具体为一种基于代码指标的软件可靠性评估方法。
技术介绍
[0002]软件可靠性是指软件在规定时间内未发生故障的概率。软件可靠性研究的主要目标是构建模型以观察软件在过去一段时间内正常运行的状况以及预测未来某段时间内不发生故障的概率。通过可靠性预测,可以帮助项目团队提前预知软件在未来某段时间内是否容易产生故障,以估计维护工作量,应对软件失效的风险。
[0003]目前,主流的软件可靠性评估模型是软件可靠性增量模型,该模型从软件失效的角度进行可靠性建模,采用以微分方程(组)为主的数学手段建立软件测试过程中的若干个随机参量间的定量函数模型。使用已记录的软件故障数据,拟合出随时间变化的累积故障数量变化趋势,并使用特定公式将递增故障数量归一化为可靠性概率值,进而得出特定项目的可靠性计算公式。给定模型输入——时间节点及时间间隔,就可计算出过去或未来某一时间段的可靠性。
[0004]该方法涉及函数拟合过程,在项目运行一段时间且具有一定规模累积 ...
【技术保护点】
【技术特征摘要】
1.一种基于代码指标的软件可靠性评估方法,其特征在于,包括以下步骤:S1:获取项目故障问题单和项目Commit记录,挖掘项目故障问题单与Commit两者之间的跟踪关系,确定项目故障问题单触发类型,根据触发原因分为代码触发型与非代码触发型,并提取所有触发类型为代码触发型的项目故障问题单;S2:基于软件可靠性增量模型,使用回归分析得到软件可靠性随项目版本演进的变化趋势及变化函数,从而为项目各版本量化出对应的可靠性数值;S3:获取项目各版本源代码,使用代码指标扫描工具计算项目各版本对应的代码指标;S4:对项目各版本对应的代码指标进行可靠性分析,并选择模型特征集;S5:将可靠性数值等分为四类作为目标特征,将模型特征集分为训练集和测试集,并通过训练集和测试集训练四分类模型,构建基于项目各版本对应的代码指标的软件可靠性评估模型;S6:在软件可靠性评估模型中输入待评估项目版本对应的代码指标,软件可靠性评估模型输出该待评估项目版本代码的可靠性标签,在代码完成阶段预测可靠性,协助代码质量评估及优化。2.根据权利要求1所述的一种基于代码指标的软件可靠性评估方法,其特征在于,所述S1包含以下步骤:S1
‑
1:选取项目故障问题单和Commit数据,挖掘两者间的跟踪关系,将项目故障问题单触发因素分为代码触发型与非代码触发型,以提取实验所需代码触发问题单;若Commit数据存在字段标注其所属问题单号,则使用该字段与故障问题单单号字段关联,在Commit中涉及或解决的问题单即为代码触发型问题单;若Commit数据不存在字段方式标注所属问题单号,而是在故障描述中提及,则使用Commit描述文本信息,基于规则匹配搜寻故障描述中提及的问题单号,并以该单号与问题单单号字段关联,间接挖掘代码触发的问题单,标记为非代码触发型问题单;S1
‑
2:使用直接和间接方法为所有问题单进行标注标签,标签分别为代码触发和非代码触发,提取代码触发的问题单作为软件可靠性增量模型的数据输入。3.根据权利要求1所述的一种基于代码指标的软件可靠性评估方法,其特征在于,所述S2包含以下步骤:S2
‑
1:使用步骤S1所提取的代码触发型的项目故障问题单,使用软件可靠性增量模型,拟合该项目可靠性数值随版本变化函数;S2
‑
2:根据所得该项目可靠性数值随版本变化函数,计算该项目各版本可靠性数值并汇总统计。4.根据权利要求1所述的一种基于代码指标的软件可靠性评估方法,其特征在于,所述S3包含以下步骤:S3
‑
1:获取项目各版本源代码;S3
‑
2:使用插件/代码扫描工具扫描项目各版本对应的代码指标,并进行汇总统计。5.根据权利要求1所述的一种基于代码指标的软件可靠性评估方法,其特征在于,所述S4包含以下步骤:S4
‑
1:使用步骤S2,S3汇总该项目各版本可靠性数值及该项目各版本对应的代码指标,分析影响该项目可靠性大小的代码指标;
在进行代码指标与可靠性的关系分析中,使用了三种特征选择方案,分别为皮尔森相关系数、卡方检...
【专利技术属性】
技术研发人员:张贺,张居正,董黎明,周鑫,荣国平,邵栋,
申请(专利权)人:江苏瀚天智能科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。