1.一种基于改进萤火虫算法优化软件缺陷预测的方法,其特征在于,所述基于改进萤火虫算法优化软件缺陷预测的方法包括:收集提取软件代码的特征数据,并利用数据处理公式对收集的数据进行预处理;
构建软件缺陷预测模型,并利用缺陷预测公式计算预测精度;
采用改进的萤火虫算法优化软件缺陷预测模型;将缺陷预测公式作为适应度函数,在训练数据集及测试数据集中分别获得最佳缺陷预测精度值;
利用优化的软件缺陷预测模型进行软件缺陷预测。
2.如权利要求1所述基于改进萤火虫算法优化软件缺陷预测的方法,其特征在于,所述数据处理公式如下:其中,x表示数据的长度,xmin、xmax表示所有数据长度中最大值和最小值。
3.如权利要求1所述基于改进萤火虫算法优化软件缺陷预测的方法,其特征在于,所述缺陷预测公式如下:其中,k表示模块编号,f1,f2,…,fk按预测缺陷数的递增顺序列出,ni表示模块i的实际缺陷数,n=n1+n2+…+nk表示缺陷总数。
4.如权利要求1所述基于改进萤火虫算法优化软件缺陷预测的方法,其特征在于,所述改进的萤火虫算法包括:(1)计算萤火虫种群的平均适应度值:
P=(Light(1)+Light(2)+…+Light(n))/n;
(2)随机选择两个萤火虫xi和xj,然后利用下式计算萤火虫的价值适应度与整个种群的平均值之间的差异Di;
Di=abs(Light(i)-P);
若Di小于Dj,则萤火虫xi是为基建者;若xj的适应度值比P差,则萤火虫为探索者,否则,它是一个勘探者;
(3)重复步骤(2)直到所有萤火虫都被分组;每个组中萤火虫根据该组给定的规则进行学习。
5.如权利要求4所述基于改进萤火虫算法优化软件缺陷预测的方法,其特征在于,步骤(3)中,所述每个组中萤火虫根据该组给定的规则进行学习包括:基建者和探索者根据下式进行学习:
xi(t+1)=xi(t)+β(xj(t)-xi(t))+α(t)∈;
勘探者根据下式进行学习:
其中,G为迭代最大数,t为当前迭代数,times表示为较好萤火虫在一定条件下自由移动的次数,μ表示为设定为固定值的参数。
6.如权利要求1所述基于改进萤火虫算法优化软件缺陷预测的方法,其特征在于,所述基于改进萤火虫算法优化软件缺陷预测的方法还包括:
1)初始化萤火虫种群,对软件数据进行预处理;设置萤火虫数量n以及最大迭代数,维度D设置数据预处理后的长度;
2)根据软件缺陷预测适应度函数,计算萤火虫种群的适应度值;并对所有萤火虫根据分组机制进行分组;
3)根据萤火虫扮演的角色进行相应的学习;保存最佳的萤火虫适应度值;
4)判断是否满足结束迭代条件,不满足的话将跳转至步骤2);输出保存的最佳适应度值。
7.一种软件缺陷预测的分类器,其特征在于,所述软件缺陷预测的分类器执行如下步骤:收集提取软件代码的特征数据,并利用数据处理公式对收集的数据进行预处理;
构建软件缺陷预测模型,并利用缺陷预测公式计算预测精度;
采用改进的萤火虫算法优化软件缺陷预测模型;将缺陷预测公式作为适应度函数,在训练数据集及测试数据集中分别获得最佳缺陷预测精度值;
利用优化的软件缺陷预测模型进行软件缺陷预测。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:收集提取软件代码的特征数据,并利用数据处理公式对收集的数据进行预处理;
构建软件缺陷预测模型,并利用缺陷预测公式计算预测精度;
采用改进的萤火虫算法优化软件缺陷预测模型;将缺陷预测公式作为适应度函数,在训练数据集及测试数据集中分别获得最佳缺陷预测精度值;
利用优化的软件缺陷预测模型进行软件缺陷预测。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~6任意一项所述方法。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现权利要求1~6任意一项所述的方法。