论文部分内容阅读
在软件开发过程中,准确地预测有故障倾向的软件模块可以帮助测试人员以及开发人员高效地发现软件故障。对于大型系统,软件故障预测就更加重要,因为它能够帮助开发人员在开发过程中将精力和资源集中使用在容易出现故障的模块,从而更合理地分配资源。目前软件故障预测模型主要是通过机器学习算法来构建的,软件故障预测主要是根据软件质量属性以及软件的历史故障数据来对被测系统的软件模块进行故障预测。本文首先对软件质量属性进行了研究,包括方法级属性集合McCabe和Halstead,面向对象(OO)属性集合。本文提出的软件故障预测模型采用方法集属性与面向对象属性相结合的方法对软件进行度量。针对软件故障数据的不平衡性问题,本文提出了一种改进的随机森林算法,在对模型进行训练前首先对训练数据集进行平衡化处理,以减少训练数据对模型准确度的影响,模型生成后在保证预测准确率较高的情况下精简模型,提高预测效率。应用本文提出的算法对Eclipse中的数据进行处理,实验表明本文提出的改进算法性能高于其他现存的机器学习算法。