发明名称 一种基于改进随机森林算法的软件故障预测系统及其方法
摘要 本发明公开了一种基于改进随机森林算法的软件故障预测系统及其方法,所述系统包括数据处理层、预测模型构建层和故障预测层,其故障预测过程是:首先计算用来得到训练模型的软件项目属性集合从而得到软件故障预测模型的训练数据集,对训练数据集进行平衡化处理;然后根据改进的随机森林算法构建预测模型;其次根据准确率以及查全率的性能限制来筛选模型;最后根据待测软件项目的属性集合信息及训练好的预测模型来对该软件项目进行预测并对预测结果和预测模型进行显示。本发明具有预测准确率高、性能稳定和执行效率高的优点,可评估最终的软件产品是否达到了规定的质量或者满足用户期望,且可指导开发人员制定软件测试和形式化验证资源的分配策略。
申请公布号 CN103257921B 申请公布日期 2015.07.22
申请号 CN201310130862.1 申请日期 2013.04.16
申请人 西安电子科技大学 发明人 段振华;严蕾;田聪;张南;王小兵;罗玲
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京科亿知识产权代理事务所(普通合伙) 11350 代理人 汤东凤
主权项 一种基于改进随机森林的软件故障预测系统,其特征在于,所述系统由以下组成:数据处理层,包括数据采集和数据预处理,其中,所述数据采集利用模块的历史故障数据和模块属性数据得出原始训练数据集,所述数据预处理将获得的原始训练数据集进行平衡化处理,得到平衡化后的训练数据集;其中,平衡化训练数据集,对训练数据集进行了平衡化处理,即将多数类Smaj随机分割成规模相等的子集:Smaj1,Smaj2,…,Smajk,由于随机分割的多数类子集Smaji必须与少数类Smin中的实例个数相同,因此多数类子集的个数k依赖于少数类Smin的大小,将Smin与Smaji结合则成为一个平衡的训练数据子集,由此原始的训练数据集转化为k个平衡训练数据子集;预测模型构建层,将通过所述数据处理层预处理得到的平衡化后的训练数据集进行随机采样,并利用采样后得到的训练数据子集构建预测模型并优化;其中,构建改进随机森林模型,所述随机森林模型中的决策树个数是由训练数据集中平衡训练数据子集的数量k所决定,将上一个步骤中所得到的平衡训练数据集作为预测模型的训练数据集,根据随机森林算法构建预测模型,其中随机森林中每棵决策树的训练数据集都是平衡化后的训练数据子集,采取C4.5算法来构建森林中的每棵决策树;保存符合要求的随机森林模型,完成上一步骤的决策树构建后,根据准确率以及查全率对训练出来的模型进行性能评估并保存作为软件故障预测模型使用;故障预测层,计算被测系统质量属性集合的向量数据,利用优化 后的预测模型对被测系统进行预测并输出预测结果。
地址 710071 陕西省西安市太白南路2号西安电子科技大学