基于机器学习的软件缺陷预测技术研究

被引量 : 42次 | 上传用户:Jsan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件缺陷预测是软件工程中的一个非常重要的研究课题,它基于软件历史数据中的模块缺陷记录(包括了软件模块的静态代码特征)来对新的软件模块进行缺陷预测,还能提供决策支持来指导软件项目的规划和过程管理。本文从机器学习的角度分析了软件缺陷预测的特点。同时分析了当前已有的预测方法在应用过程中存在的三个主要问题:(1)因为数据集是来自不同的项目或不同的领域,他们具有不同的数据分布。因此,基于传统方法建立的预测模型具有较弱的适应能力。(2)通过代码审查来手工标记有缺陷的模块是既费资金又费时间的活动,因此,数据集中的正样本数据是有限的。当前的方法是基于监督学习算法建立的预测模型,是仅基于有标记的数据的学习过程。这些方法不能满足要求,因为数量有限的标记数据不具备建立合适的预测模型的足够信息。(3)软件缺陷数据通常是类不平衡的,正样例数远远高于负样例数。该类不平衡问题已经很大程度上地影响了缺陷预测模型的性能。本文研究了软件缺陷预测中的最先进的方法技术,包括这些方法的动机,进展,特点和劣势。在此基础上提出了创新的实用技术,并为解决软件缺陷预测中上述的三个问题提供了有效方法。本文在以下几个方面取得了一些有价值的研究成果:(1)基于迁移学习的缺陷预测研究提出了新的缺陷预测算法,基于朴素贝叶斯的迁移学习算法(TNB)。不同于已有的预测模型选择与测试数据相类似的训练数据,该算法使用了训练数据中所有特征的实用信息。TNB首先计算出测试数据的分布情况,并将跨公司的待预测的数据信息通过赋权的方式作用于训练数据。然后基于这些加权数据,建立缺陷预测模型。我们还对已有的方法进行了理论分析,并在来自不同组织的数据集上进行了实验比较。结果表明通过TNB建立的预测模型能得到更好的AUC性能,同时具有较低的运行时间。(2)基于半监督学习的缺陷预测研究提出了改进的半监督学习方法,用于解决软件缺陷预测中类不平衡和标记数据有限的问题。基于协同训练风范的半监督学习,该方法采用随机抽样技术来对原始训练数据集和每轮更新后训练数据集进行抽样。这能解决半监督学习中的类不平衡问题,使得缺陷预测模型更实用。我们的方法与传统的机器学习方法相比,具有更好的预测性能。实验结果还表明,通过解决半监督学习中的类不平衡问题,有可能设计出更好的半监督分类器。(3)基于主动学习的软件缺陷预测研究引入主动学习策略,用于减少缺陷预测中标记缺陷模块的代价。本文提出了一种主动学习的方法,两阶段主动学习算法(TAL),用于预测软件缺陷模块。该方法结合聚类方法和支持向量机技术,提高了预测性能并具有较少的标记代价。实验验证了其有效性。(4)基于核理论的软件缺陷预测研究提出了基于核理论的非对称分类器用于建立软件缺陷预测模型。核方法能有效的解决线性不可分数据的分类问题。我们从理论上分析了类不平衡问题对核主成分分析的影响。在此基础上,提出了非对称核主成分分类器(AKPCC),试图解决核主成分分析中的类不平衡问题。由于在核主成分分析的基础上弥补了类不平衡问题带来的性能影响,这种方法提高了类不平衡数据集上的预测性能。这种方法较其他知名方法具有较优的F-measure性能。
其他文献
《楚辞》《山海经》作为保存神话资料最丰富的两部先秦典籍,其中的神癨具有明显的趋同性特点。不论是主宰天地人间、拥有至高无上权威的至上神,还是具有贤德睿智、地位显赫的
目前传统警察工作协同机制缓慢而低效,很难适应网警信息万变的工作需求,传统警务的大部分工作仍然停留在原始办公、领导逐级审批等模式中。其工作效率低、管理成本高、审批不严
结合供需规律,对北京市2001年~2011年的普通商品房变化趋势进行了分析,并对2012年~2015年的房价进行了探讨,指出北京市普通商品房的价格将会在未来5年里保持温和上涨,但2015
有效防治肉牛的寄生虫病,是保证现代肉牛饲养业健康发展的关键因素之一。生产中应以预防保健为原则,根据肉牛寄生虫病的发生及流行特点,应用抗寄生虫药物,进行程序化综合防治,从而
功率放大器是现代无线通信、电子对抗、雷达等电子系统发射前端的关键组件之一,在发射系统中起着十分重要的作用。射频功放作为通信系统中最主要的耗能模块,其效率如何不仅影响
目的分析各种神经元移行异常的MRI特征。方法分析50例神经元移行异常的MRI表现,总结MRI影像特征。结果灰质异位23例,脑裂畸形12例,多小脑回9例,巨脑回5例,无脑回1例。脑灰质
作家萧红的自我形象是散文集《商市街》所着力塑造的最重要的主人公。文集成功地塑造了一位经由冰与火一般的苦难与爱情淬炼下的现代女性形象。萧红的现代女性形象,其思想内
为保证复杂岩体高边坡的安全与稳定,边坡工程必须在施工和运行过程中进行安全监测,以保证能将边坡变形、渗流、渗压、支护应力等一系列监测信息及时反馈给设计人员,达到调整
服务创新过程中如何充分有效地利用企业内外部资源是服务企业面临的重要课题。无论是从理论上还是实践上来看,顾客、员工、供应商等多类主体对于服务创新的影响都是不可忽视
数据采集系统是数字信号处理和工业自动化中非常重要的一个应用环节。本文在参阅大量文献资料和参考实际成型产品的基础上,设计了一套基于MSP430F5438的数据采集系统,主要采