基于SVM的Web应用缺陷预测方法

来源 :中国科学院软件研究所 | 被引量 : 6次 | 上传用户:hnyinhao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件缺陷数量是软件质量中的重要指标,也是软件工程领域研究一直关注的对象。如何减少软件产品的缺陷、提高软件质量始终困扰着软件开发组织。软件测试是减少软件缺陷的常用方法。但软件测试成本高昂,且只有在完成可以运行的软件产品之后才可进行,那时开发组织往往已没有足够时间排除缺陷。 为了能在有限的资源限制下更有效的提高软件产品的质量,软件工程研究领域提出了软件缺陷预测方法。该方法的假设前提是较复杂的软件产品模块具有更高的缺陷风险或更多的缺陷。通过软件产品统计数据可以表征软件产品的复杂程度,因此,通过易于获得的软件产品统计数据可以对软件模块的缺陷状况进行预测。用于表征软件产品复杂程度的统计数据项称作度量元。根据预测结果,软件开发组织可以将有限的资源集中于容易出现缺陷的高风险模块,从而更有效的发现和排除缺陷,提高软件产品的质量和可靠性。目前软件缺陷预测技术已经被证明是提高软件可靠性和软件质量的有效方法。 本文首先对现有的软件缺陷预测方法进行了分类研究。在此基础上本文提出使用支持向量机(Support Vector Machine,SVM)进行软件缺陷预测。SVM是使用支持向量算法构造的前馈神经网络,也是统计学习理论的进展,拥有很强的学习和泛化能力。同时,针对现有度量元不能表征目前广泛使用的、以逻辑分散为特点的Web应用产品复杂度的问题,本文选择了基于开源组织Apache开发的Web应用框架Struts的Web应用产品作为软件缺陷预测的研究对象,提出了适用于这一类产品的新度量元以更好的表征其复杂度。 基于上述工作,本文使用采集自国家863计划支持项目《基于CMM的软件质量保证平台》的数据对基于SVM的软件缺陷预测方法和针对基于Struts框架开发的Web应用产品的度量元集合进行了实验验证。结果表明基于SVM的软件缺陷预测方法对于基于Struts框架开发的Web应用产品有着很好的预测能力。
其他文献
近年来,数据挖掘(Data Mining)引起了信息产业界的极大关注,其主要原因是数据海洋的日益增大,我们需要新技术将海量数据转化为有用的信息和知识。分类是数据挖掘的主要任务之一,
随着基因组研究的深入,生物序列的数量呈现爆炸式增长,迫切需要使用高效的计算机算法对其进行处理。生物序列比对是一个重要的,具有挑战性的基本问题,对于推测核酸和蛋白质序列的
三支决策理论(Three Way Decision,TWD)是二支决策的拓展。在实际应用中,由于信息的不完整和不确定性,人们常常无法立即作出拒绝或接受的决策。所以,当信息不完整不精确时,使
目前,嵌入式技术在数字网络领域已经得到了广泛应用,然而国内外嵌入式产品在安全性、完善性和实用性等方面还存在着一些缺陷,这使得开发建立在自主研发的操作系统内核上的嵌
信息系统在各行各业中的应用越来越广泛,同时信息系统的安全问题如信息泄漏、数据篡改、身份假冒、越权访问、网络钓鱼等也与日俱增。很多信息系统还存在着服务提供方和服务使
在现实世界和工程实践中,可以产生大量的数据流,它不同于传统的静态数据。如何快速、高效地挖掘数据流中的频繁模式是数据流挖掘的重要问题。本文将研究重点放在数据流中基于