基于机器学习的软件故障预测

来源 :西南交通大学 | 被引量 : 0次 | 上传用户:newio
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
用于软件测试的资源通常是有限的,但是软件测试往往需要消耗大量费时昂贵的软件模块。此外,由于软件开发过程中测试往往并不充分,导致传统的软件测试手段并不足以保证软件的质量。因此,早期软件产业发展阶段中的软件故障自动预测技术在当前仍然存在。现今软件故障预测主要用于设定与优化软件测试的优先级,以充分利用有限的测试资源并尽可能地提升软件质量。在这方面,机器学习方法得到了较为广泛的应用。然而,将机器学习方法应用于精确的软件故障预测对数据质量有较高的要求。遗憾的是,真实的数据集却质量欠佳。在软件故障预测中,人们可以借助已标注的实例来构建一个模型以预测迄今尚未发现的新实例的类别。如果用于训练预测模型的数据集受到污染,则会给训练阶段和最终得到的模型都带来不利影响。一个可预期的结果是最终得到的模型精度必然不高。因此,提升数据集质量的一个有效策略是对带有缺陷数据的数据集进行清洗,主要是通过侦测数据集中可能存在的问题并消除这些问题来实现的。通过对现有软件故障预测领域相关文献的综述我们发现,分类在此领域中的大多数场合有着不可替代的重要作用。在一些特殊的场合,一些辅助的策略在应对数据质量挑战中也不可或缺。一些无足轻重的软件指标、类别不平衡问题、分类噪声、无用实例及异常数据等的存在降低了分类精度,给软件故障预测带来越来越多的挑战,这进一步导致推理能力差和资源管理效率低下。因此,如何确定数据质量和重要软件度量以实现软件故障预测迄今仍是一个开放性问题。本文的目的在于研究新的组合式方法以应对软件故障预测面临的这些挑战,并提升软件故障预测的性能。本文首先提出了一个新的基于组合学习的框架。该方法独立地检验软件度量,包括采用多特征选择技术以解决特征冗余和不相关问题,并通过合成少数类过采样技术实现数据均衡以解决类别不均衡问题。因此,本文开发了一个新的框架,该框架以面向对象度量(OOM)和静态代码度量(SCM)的组合形式来有效地应对这些挑战。在实验中,本文使用了朴素贝叶斯、神经网络、支持向量机、随机森林、K最近邻、决策表、决策树及随机树等多种不同的机器学习方法,并采用接收者操作特征(ROC)曲线来对软件度量的性能进行评价。实验结果表明,在不采用合适的特征选择技术的情况下,软件故障预测的性能可能会受到影响。为了降低这种影响,并获得准确、无偏的预测结果,必须先实现数据均衡。通过这些操作,我们所提出的框架将获得更高的预测性能。当使用静态代码度量时,将随机森林与信息增益特征选择结合起来,得到了最高的ROC结果,这是目前最优的组合策略。此外,当使用面向对象度量时,将随机森林与基于相关性的特征选择结合起来,也得到了最高的ROC结果,也被证明是目前最优的组合策略。其次,本文提出了一个更为全面的框架,称为一种基于三阶段集成学习的软件故障预测框架。此框架先解决由于类噪声的影响而带来的大多数软件故障预测挑战,再进一步集成其他方法以解决导致软件故障预测性能偏弱的特征特征和数据偏态问题。在第一阶段,借助最高的信息增益来选取高阶特征,主要是通过计算实现特征分裂所需要的平均信息熵与期望信息熵的差值来实现的。在第二阶段,针对存在故障倾向的实例,使用线性插值操作,通过对存在故障倾向的实例进行K最近邻聚类以产生一个新的存在故障倾向的实例类,从而实现对软件故障类别分布的处理。在第三阶段,通过对所得到的故障分类器的预测结果进行数据融合,实现了对故障数据的噪声滤除,主要是通过迭代使用噪声过滤对噪声进行侦测实现的。在基于数据融合的噪声滤除中,使用了C4.5、3最近邻、Logistic回归等多种机器学习方法,并进行了大规模的综合性实验以对所提出的框架进行验证。通过13种通用的集成学习算法来对该框架各个阶段的性能进行评价。再通过单因素方差分析和Tukey HSD检验对各个阶段的性能进行较为全面而深入且统计意义上较为合理的对比分析,实验结果验证了所提出方法的卓越性能。特别地,移除噪声数据后,在分布良好数据的重要特征上使用集成学习算法(ELA)可达到较高性能的故障预测结果。此外,分别使用均方根误差(RMSE)和耗时训练(ETT)两种不同的评价指标,在大多数情况下,移除噪声数据可以大大降低故障预测的误差,同时降低了计算开销。最后,本文提出了一个新的混合数据约简方法用来提升软件故障预测的性能。该方法解决了由异常数据、冗余实例及冗余特征等带来的三类主要的软件故障预测挑战。通常情况下,软件故障数据集带有噪声数据及冗余数据等无效实例,这对软件故障分类的性能产生了负面影响。于是,通过对数据集中的邻域进行采样处理,并进行概率分布估计,实现了对软件故障数据实例的选取。进而,一个给定的采样数据归属一个特定类的概率取决于该采样数据归属于K最近邻算法所产生类别的平均概率。对异常数据的判别而言,先计算该异常数据的所有特征与对应的数据分布均值之间的距离,再综合考虑每个特征中的每个数据实例,最终实现对异常数据的判别。如果所选取的数据实例中其一个或多个特征偏离均值过远,该数据实例即被视为异常数据并将从数据集中移除。对重要特征的选取而言,需要全面考虑所有的特征-类别相关性及特征-特征相关性的综合影响。为实现重要特征的选取,需要将基于相关性的特征选择与最佳优先搜索与进化搜索二者结合起来。最终得到了混合数据约简方法。将所提出的数据约简算法与套袋算法、随机森林、决策树、朴素贝叶斯、决策表等机器学习算法进行对比,并给出了较为全面而深入且统计意义上较为合理的分析结果。实验结果表明,通过剔除异常数据,并对重要特征进行分析,进而选择有用的实例,所提出的数据约简算法可以得到优异的软件故障预测结果。因此,通过有效应对软件故障预测面临的上述挑战,所提出的方法可提升软件故障预测的性能,并为软件质量保障提供了可行的方法。
其他文献
根据纯电动大客车电动助力转向(EPS)系统工作的具体要求,开发了适合纯电动大客车EPS系统使用的循环球式电动助力转向器,建立了纯电动大客车循环球式EPS系统动力学模型及整车
法院对第三人撤销之诉的审理,应当按照一审普通诉讼程序的思路进行,只不过在某些关键问题的处理上有别于一般诉讼案件。关于起诉期间,须明确对确定于新法生效前法律文书起诉
指出生物技术用于含油废水深度处理的必然趋势,介绍了目前常用的含油废水深度处理中的生物方法,并对其存在的问题进行了评述。
住房保障是国家一项重大的民生工程,旨在解决城镇中低收入家庭的住房困难问题。而目前我国住房保障的现状是随着城市化进程的发展,保障性住房的供给量仍不能满足中低收入家庭的
随着市场经济的飞速发展,市场竞争越来越激烈,客户价值、客户关系的重要性逐渐被更多企业所接受。企业想要持续发展,必须清楚地认识到市场和客户的需求,通过实施客户关系管理解决企业经营中客户与企业的关系,提高现有客户的满意度和忠诚度,同时拓展新的客户群体,为客户提供更加优质的产品和服务,才能在竞争中处于不败之地,从而实现企业的利润最大化。本文基于客户价值、客户满意度、客户忠诚度、客户细分等客户关系管理相关
编码人84KD的精子蛋白cDNA克隆BSD-84,及编码人20KD的睾丸蛋白cDNA克隆BED-20已经分别从人的睾丸lambda gt11 cDNA表达文库中筛选出来。为了确定这两个基因在染色体的位置,一个
目的从患者对护理服务的各种体验及需求中升华出影响患者满意度结局的过程元素,为进一步深化优质护理服务提供参考。方法采用目的抽样法,选取武汉市某三级甲等综合性医院中的
<正>8月10日,河南省国土资源系统巡视整改暨扫黑除恶电视电话会议在郑州召开。会议强调,要提高政治站位,不折不扣解决工作中存在的突出问题,确保中央和省委、省政府重大决策
针对我国日益严重的环境问题,我们党和政府越来越重视生态文明建设。建设生态文明的核心在于要正确处理好人与自然的关系。这就要求我们全面深刻地理解马克思主义实践观,认识
提出了一种基于TMS320C6748的数字信号发生器的设计原理和方法,介绍了所设计的信号发生器的系统结构,关键部分硬件的电路结构,接口技术的选择和配置。针对DSP硬件特性,编写了