论文部分内容阅读
软件可靠性是衡量软件产品的一个重要指标,对于软件可靠性的研究是评估软件性能、控制软件开发过程、提高软件产品质量的基础,软件可靠性模型在这个过程中起着至关重要的作用。软件可靠性模型主要用于软件可靠性的评估与预测,在实际中如何选择软件可靠性模型是软件可靠性领域研究人员关心的问题之一。当前常用的软件可靠性模型有概率类模型(如Jelinski-Moranda模型、Goel-Okumoto模型等)、Bayesian网络模型,以及基于人工神经网络模型等。但是,概率类模型常常存在假设条件难以满足的弊端,Bayesian网络模型存在先验知识获取困难的问题;基于人工神经网络模型对建模数据要求较高,且存在学习不足,过拟合以及容易陷入局部极小点等问题,模型本身也过于复杂,训练时间较长。
支持向量机(SupportVectorMachine,SVM)是一种以有限样本统计学习理论为基础发展起来的新的通用学习方法,有效地解决了小样本、高维数、非线性等问题。但是,作为一种新的学习方法,SVM也存在一些有待完善的地方,其参数选取便是亟待完善的问题之一。由于没有理论上的指导,通过反复实验人工选取参数的方法,往往以人为经验作为指导,并且需要付出较高的时间代价。粒子群优化算法PSO(ParticleSwarmOptimization)作为一种全局优化算法,采用实数编码,没有选择、交叉与变异等操作,算法结构简单,容易实现且优化性能良好,运行速度较快等其它全局优化算法无法相比的优势。因此,本文在分析现有模型的局限性的基础上,借鉴粒子群(PSO)优化算法对多参数寻优优化的优良特性,将PSO运用于SVR的多参数寻优优化过程中,利用分层聚类算法对初始数据进行归一化处理,剔除异常数据点,构建了一种基于PSO-SVR的软件可靠性预测方法。实验结果表明:基于SVR-PSO方法的预测模型精度更高,更适应实际软件应用环境。