[发明专利]基于机器学习的软件缺陷与复杂度关联关系分析方法在审
申请号: | 202010234064.3 | 申请日: | 2020-03-30 |
公开(公告)号: | CN111338972A | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 吴超;柯文俊;张在进;高晨;杨雨婷;王坤龙 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 机器 学习 软件 缺陷 复杂度 关联 关系 分析 方法 | ||
1.一种基于机器学习的软件缺陷与复杂度关联关系分析方法,其特征在于,包括以下步骤:
步骤一:面向领域的软件缺陷分类和软件复杂度度量元定义;
步骤二:基于步骤一进行基于单因素方差检验的软件缺陷影响因素分析;
步骤三:基于步骤二进行基于机器学习的软件缺陷与软件复杂度度量元之间关系的分析;
步骤四:基于步骤三进行基于AOV网络的软件复杂度度量元间涌现特征分析。
2.如权利要求1所述的方法,其特征在于,步骤1中,面向领域的软件缺陷分类时,依据不同领域软件运行时出现的软件缺陷情况,区分软件缺陷问题。
3.如权利要求2所述的方法,其特征在于,将软件缺陷问题分为:问题总数、文档问题数、代码问题数、修改程序数、其他修改数、代码关键问题数、代码重要问题数、代码一般问题数、代码建议问题数、编程准则问题数、容错防错问题数、接口通讯问题数、异步并发问题数、时序时限问题数、计算算法问题数、初始启动问题数、内存管理问题数、其他问题数。
4.如权利要求3所述的方法,其特征在于,步骤1中,软件复杂度度量元定义时,软件复杂度度量根据软件所在的领域、软件开发使用的编程语言不同,选择能反映软件复杂属性的度量元,并对软件的复杂程度进行评价。
5.如权利要求1所述的方法,其特征在于,步骤1中,若软件为装备软件,定义软件复杂度度量元包括:代码行数、注释行数、功能点个数、圈复杂度。
6.如权利要求4所述的方法,其特征在于,步骤二具体为:
观测变量方差的分解:将观测变量的总离差平方和分解为组间离差平方和以及组内离差平方和两部分,分别表示为SST=SSA+SSE,其中:
(1)SST:观测变量的总离差平方和,衡量所有的观测值cij对于总均值的偏离程度,反映了抽样随机误差的大小;
(2)SSA:为组间离差平方和,衡量的是组均值对于总均值的偏离程度;
(3)SSE:为组内离差平方和,反映所有的观测值cij对组均值的偏离程度,反映系统误差;
将软件缺陷数目D作为观测变量,一个软件缺陷影响因素C作为当前的控制变量,观察C对D的影响,将C根据数据分布进行分组,分为a组,每组b个数据,表示为:
cij表示:第i组中第j个度量元的值;
根据以上定义,SST、SSA、SSE表示为:
总方差SST:
组内方差SSE:
组间方差SSA:
公式变量含义如下:
cij表示第i组第j个观测变量的观测值i=1,2,3......a,j=1,2,3......b;表示总均值,表示第i组观测值的均值;
进一步得到组间均方差和组内均方差:
组间均方差
组内均方差
在方差相等的假定下,要检验N个总体的均方差是否相等,首先给定原假设和备择假设,N=a*b;
原假设 H0:均值方差相等
备择假设 H1:均值方差不完全相等
构造F分布进行方差检验:
该统计量服从分子自由度为a-1,分母自由度为(a*b)-a的F分布,给定显著性水平a,如果根据样本计算出F统计量的值小于临界值F(a-1,a*b-a),则说明原假设H0不成立,总体的均值不完全相等,差异并非仅仅由随机因素引起,而是由其他因素决定,由此认为当前的控制变量对观测变量产生了影响;
基于以上过程,进一步确定软件研制阶段、软件类型、软件代码复杂度这些因素对软件缺陷的影响,且确定其中软件代码复杂度对缺陷的影响比较大,以便下一步分析软件缺陷与软件复杂度度量元之间的关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010234064.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:自动吹氩接头
- 下一篇:一种节能型冷热冲击试验箱