基于机器学习的软件缺陷预测

来源 :南京大学 | 被引量 : 0次 | 上传用户:chnool
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件已经成为现代生活不可缺少的重要组成部分,因此软件质量显得尤为重要,然而软件缺陷的存在严重影响了软件质量。软件缺陷预测通过预测软件中可能存在的缺陷,帮助软件开发人员将有限的资源用在更有可能产生软件缺陷的地方,从而提高软件质量。很多机器学习方法被用来构建软件缺陷预测模型,基于机器学习的软件缺陷预测模型已成为当前软件工程的研究热点之一。软件缺陷预测的关键在于如何准确地发现存在缺陷的模块以及如何理解导致缺陷的因素。然而在实际的软件开发中,受资源所限,通常只能获取少量模块的缺陷情况标记,在此情况下,建立的软件缺陷预测模型对软件缺陷缺乏敏感性;另外,传统的软件缺陷预测模型并不能很好地帮助软件开发人员认识导致软件缺陷的因素以指导后续实践。本文针对上述问题进行了研究,取得了以下创新成果:第一,实际的软件开发中有标记样本稀少和预测模型对软件缺陷不敏感这两个问题是同时存在的,本文利用代价敏感半监督学习方法CS4VM来同时解决这两个问题。实验表明,CS4VM方法对于同时解决实际的软件开发中的这两个问题是有效的。但是CS4VM是基于代价敏感嵌入式方法,这样的方法并不通用,而且CS4VM是基于低密度分割的半监督学习方法,计算开销比较大;第二,为了获得更通用的方法,以及解决计算效率问题,本文提出了代价敏感半监督学习方法CoForest-CS来同时解决有标记样本稀少和预测模型对软件缺陷不敏感的问题。CoForest-CS由于采用代价敏感通用方法,所以具有很好的通用性;由于是基于不一致的半监督学习方法,所以计算开销小。实验表明,CoForest-CS对于同时解决实际的软件开发中的这两个问题是有效的;第三,为了发现软件缺陷的诱因,本文综合考虑了软件开发各个方面的影响因素,利用排序学习方法为软件缺陷密度相对的高低构建预测模型,挖掘影响软件缺陷密度的关键因素。实验表明,排序模型能够更好地体现各个因素对软件缺陷影响的实际重要程度。
其他文献
P5FT车载加固容错计算机是哈尔滨工业大学容错计算机技术研究室与航天工业总公司二院共同开发研制的战场指挥计算机系统,也是国防科工委重点型号项目.P5FT的总体设计目标是使
随着网络应用的普及和网络技术的发展,计算机网络管理越来越重要.该文介绍了OSI系统管理功能域、分析了事实上的网络管理标准--SNMP、网络管理系统的实现以及基于Web的网络管
随着科学技术的快速发展,英语中出现了大量的新增词汇.不可能在一部词典中完全收集所有单词,而语言的计算机处理需要知识许多未登录单词的词性,词义等.扩大机器识词能力的一
对计算机唇读的研究在人机智能接口、多媒体系统以及人脸数据压缩等领域具有重要的理论意义和实用价值.该文从一个唇读系统需要解决的基本问题出发,对唇读的三个基本技术问题
该文通过分析目前WWW应用开发采用的一些流行技术存在的不足之处及传统的分布计算方式的缺陷,以及通过分析CORBA原理与JAVA分布式编程技术,阐述了分布式对象技术的优良特性和
为了真正地提高工程应用中的软件和硬件的可靠性,研究人员已经提出了多种多样的方法,用以构建容错计算机系统,即试图采用容错结构来处理在开发过程后仍然存在的故障所产生的
该文在分析了传统的GIS数据模型和正在研究中的SDBMS模型的特点及缺陷后,提出了一个基于扩展的关系数据库系统的拓扑结构模型,并将其应用于国产分布式多媒体数据库管理系统DM
当今社会网络系统软件程序的开发变得愈来愈复杂,开发者一直面临着如何保证开发系统和其规模说明一致性问题的长期挑战.由网络软件故障引起的系统失效已越来越严重,给社会造
该论文以目前网络安全的现状为基础,重点讨论了操作系统和网络协议的安全模型,以其中的一些攻击手段和安全措施进行了较全面的分析,尤其针对ISO/OSI 协议的下三层模型及TCP协
内建自测试是一种具有很大发展潜力的可测性设计技术,在内建自测试结构中主要包括测试生成(TPG)、响应分析器(SA)、和测试控制器(TC).对内建自测试结构的研究主要有两点:如何