收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

基于广义半监督学习方法的软件质量预测研究

黄鹏  
【摘要】: 软件质量预测是对软件质量进行早期预测和控制的方法,其主要使用机器学习或者统计学方法来构建软件质量模型,并以此对软件中潜在的错误进行预测和预警。在软件开发和测试过程中正确预测和识别具有错误倾向的软件模块,可以帮助软件开发机构合理配置资源、降低研发成本、缩短产品开发周期,因此,有效的软件质量预测系统对于提高软件产品质量和企业声誉有着重要的工程意义和经济价值。 传统软件质量预测的主要建模方法,在机器学习领域通常被称为监督学习方法,其要求训练过程中所用到的每个软件模块都要给出明确的质量标签。但是,准确可靠的软件质量标签只有经过详尽、完整的软件测试和对错误的精确定位才能得到,此过程耗时较长且成本较高,并且软件质量标签的可靠性还经常会被软件开发中的许多实际因素所削弱,这些都限制了软件质量预测模型的广泛使用。针对当前软件质量模型的不足,本论文旨在通过研究机器学习领域的一些新型广义半监督学习方法,探讨如何使用较少的软件质量标签来建立准确有效的软件质量模型,从而使其可以更快速、高效、经济和广泛地应用于实际的软件开发和测试中。半监督学习方法可以同时对有标签样本和无标签样本进行学习和训练,因此,基于半监督学习方法的软件质量系统具有构建快速、成本较低和应用范围广泛等优点。本文所研究的广义半监督学习方法主要包括多示例学习、结构化核函数方法和主动学习方法,目前,关于半监督学习方法在软件质量预测领域的研究还不多见,基于这三种新型广义半监督学习方法的软件质量模型也尚未见有文献报道。 在对所研究广义半监督学习方法进行阐述之前,本文首先对传统软件质量预测领域的研究做了一个框架性的综述介绍。软件质量预测系统可以被分为四个主要的模块,即数据集构建、质量模型训练、模型的评估测试和不同算法模型比较。文中对每个部分的主要任务和相关的研究工作分别进行了阐述。在数据集构建中,系统主要对数据进行属性选择、归一化等预处理。数据集在预处理以后通常被划分为训练集和测试集,系统根据选定的具体算法在训练集上构建软件质量预测模型,并在测试集数据上进行测试。对于得到的模型需要进行参数计算以评估其性能,并以此对模型参数进行进一步的调整和优化。最后,根据一定的检验标准和具体的数据集,可以对基于不同算法的软件质量模型进行比较。此框架介绍中所涉及的具体内容包括软件质量概念、软件度量、各类统计和学习算法以及模型评估参数的选择策略。 随后本文介绍了所研究的第一种广义半监督学习架构多示例学习方法,并创新性地将其引入到软件质量预测领域中。多示例学习方法使用由多个示例构成的示例包作为基本的学习对象,因此其在利用大量的软件模块信息的同时,只需要少量的软件质量标签就可以进行建模和预测。文中介绍了多示例学习(MIL)的基本概念和相关研究,随后将多示例学习与两种相关的监督学习架构SL-B和SL-I进行了深入的比较,并着重分析了SL-I对示例包产生错误分类的原因,给出了其理论表达式以及在多元正态分布假设下的近似估计。在实际工程数据集上的实验表明,多示例方法比SL-B的预测效果更好,并可以使用较少的质量标签构建与SL-I预测准确度相当的软件质量模型。 然后,本文将面向对象型软件中的软件模块视为更加复杂的结构化数据,并引入新型的结构化核函数方法进行了软件质量建模和分类预测研究。文中介绍了结构化核函数及其相关研究,概述了新型学习算法支持向量机(SVM)的理论研究和一些支持向量机,并提出了使用结构化核函数方法对软件对象进行知识表示、模型构建和训练的流程,和一种新颖的分层核函数。在由二分树构成的人工数据集和实际工业软件数据集上的实验表明,与传统的监督学习方法相比,结构化核函数方法对于树形的结构化数据普遍有着较好的分类效果。相比于实验中的其它核函数,分层核函数能够更好地学习和预测面向对象软件中的结构化软件模块。在与前文的多示例学习方法进行的对比中发现,多示例学习对于具有上下层关系的软件模块具有普适性,但是随着模块结构的进一步复杂化,其预测准确率会逐渐降低,而结构化核函数方法,特别是分层核函数则在学习复杂结构化数据方面显示出较好的性能,因此其更适用于面向对象型软件中的软件质量预测。 区别于前两种广义半监督学习方法的聚类策略,本文随后研究了采用主动选择策略的主动学习方法在软件质量预测中的应用。与传统监督学习批量性、一次性训练所有样本的方法不同,主动学习方法通过主动选择、逐次询问和增长性学习的方法来构建模型。其主要优点在于可以在不明显损失学习精度的情况下,利用主动选择的少量样本即可进行建模。文中介绍了主动学习方法的基本知识、相关研究和关键性问题。在具体的软件工程数据集上对两种典型的池式主动学习算法和一种新型的流式主动学习算法进行了实验研究。结果表明选用的主动学习算法可以使用数据集百分之十左右的样本有效地构建软件质量模型,其效果仅略逊于使用全部样本的监督学习式模型。因此,基于主动学习的软件质量预测对于指导灵活、快速的软件测试具有很强的应用潜力和工程价值。另外,文中还对三种学习方法进行了综合比较。 最后,本文归纳了采用广义半监督学习进行软件质量预测的一些主要研究结论,并对未来工作作了一些展望。本文使用的实际数据集都来源于大型的重要软件工程,其中的一些数据集和软件质量模型出自过去三年中在阿尔卡特-朗讯公司光网络部的实际应用,从而保证了本文所提出的新型软件质量预测方法和模型除了在理论上具有创新性外,同时还具有很强的工程实用性。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 杨扬;计算机软件质量模糊综合评价方法[J];小型微型计算机系统;2000年03期
2 林俊兴;软件质量量化指标及实现方法的探讨[J];计算机工程与应用;2005年09期
3 冯捷;;软件测试浅谈[J];电脑知识与技术;2005年36期
4 王伟;;浅谈软件能力成熟度模型(CMM)方法及应用[J];成都电子机械高等专科学校学报;2006年01期
5 陈友明;文海英;;个体软件过程的研究与实施[J];科技经济市场;2006年03期
6 樊庆林;吴建国;;提高软件测试效率的方法研究[J];计算机技术与发展;2006年10期
7 徐海飞;赵凯旋;;软件测试与质量保证[J];现代雷达;2006年10期
8 佘凤;;软件测试及关键技术[J];黄冈职业技术学院学报;2007年01期
9 何雪慧;;如何以软件测试推动软件工程化[J];科技经济市场;2008年03期
10 李伟龙;;面向对象的软件测试[J];中国高新技术企业;2008年12期
11 覃忠台;;软件工程与软件质量管理分析[J];电脑编程技巧与维护;2009年24期
12 孙秋云;邢静波;;构件测试的研究发展[J];价值工程;2010年16期
13 陈晶晶;;软件单元测试浅议[J];赤峰学院学报(自然科学版);2010年11期
14 司斌;;软件质量之父——Watts S.Humphrey[J];程序员;2010年12期
15 张军威;;浅谈如何以软件测试推动军工软件工程化[J];硅谷;2011年14期
16 刘健昌,雷伟;软件质量管理[J];计算机工程;1990年04期
17 梅登华;蔡淮;徐志根;;软件可靠性模型的研究现状与发展及模糊集合论在其中的应用[J];学术动态报道;1998年01期
18 郭小琼;;软件质量的控制与质量保证[J];金融电子化;2001年05期
19 马瑞芳,王会燃;计算机软件测试方法的研究[J];小型微型计算机系统;2003年12期
20 刘伟;;SQO:为中国软件质量保驾护航——访赛格瑞软件公司Andre Pino[J];中国信息界;2005年22期
中国重要会议论文全文数据库 前10条
1 柳伟明;;评测与认证——专用软件质量的保证[A];第六届全国计算机应用联合学术会议论文集[C];2002年
2 彭忆;单汨源;;一种软件质量改进流程与组织构想[A];第七届计算机模拟与信息技术学术会议论文集[C];1999年
3 王华;向刚;陈焱;;软件质量评价技术与方法[A];2007'第十二届全国可靠性物理学术讨论会论文集[C];2007年
4 韩颖;贾辉然;杜静;;航天软件可靠性的发展[A];2007年河北省电子学会、河北省计算机学会、河北省自动化学会、河北省人工智能学会、河北省计算机辅助设计研究会、河北省软件行业协会联合学术年会论文集[C];2007年
5 常永亮;王佳琳;常永刚;刘宝凤;;软件测试的应用[A];2008年航空试验测试技术峰会论文集[C];2008年
6 李建华;焦彦平;左建勋;苏俊杰;;基于过程的软件度量体系与实施方法研究[A];第十六届全国青年通信学术会议论文集(上)[C];2011年
7 吴志樵;唐加福;;面向软件产品线的构件复用策略优化问题研究[A];第三届(2008)中国管理学年会论文集[C];2008年
8 吴志樵;唐加福;王立岩;;基于产品线两阶段模型的软件构件选择优化问题研究[A];2009中国控制与决策会议论文集(2)[C];2009年
9 徐鹏;苏森;陈俊亮;;基于双瀑布软件过程模型实现软件质量工程[A];2006年全国通信软件学术会议论文集[C];2006年
10 宋一风;林峰;;石钢公司价格管理系统深入应用与研究[A];2011年河北省冶金信息化自动化年会论文集[C];2011年
中国博士学位论文全文数据库 前10条
1 黄鹏;基于广义半监督学习方法的软件质量预测研究[D];上海交通大学;2010年
2 李克文;软件质量测评模型与测试数据生成方法研究[D];天津大学;2012年
3 潘秋菱;基于过程和度量的软件质量管理方法研究[D];合肥工业大学;2002年
4 孔怡青;半监督学习及其应用研究[D];江南大学;2009年
5 王娇;多视图的半监督学习研究[D];北京交通大学;2010年
6 兰远东;基于图的半监督学习理论、算法及应用研究[D];华南理工大学;2012年
7 邓阿群;面向方面技术在大规模嵌入式软件中的应用[D];浙江大学;2007年
8 徐雪;样本的几何信息在半监督学习中的应用研究[D];中国科学技术大学;2010年
9 桂杰;基于图的半监督学习和维数约简方法及其应用研究[D];中国科学技术大学;2010年
10 潘俊;基于图的半监督学习及其应用研究[D];浙江大学;2011年
中国硕士学位论文全文数据库 前10条
1 宫丽娜;基于神经网络的软件质量预测模型研究[D];中国石油大学;2011年
2 闫晶;基于生物群落结构的软件质量评估的仿生研究[D];华北电力大学;2011年
3 张翠红;软件过程改进支撑工具SPIF的研究和设计[D];华东师范大学;2006年
4 郑东霞;基于多Agent技术的软件质量协同控制模型研究[D];大连海事大学;2006年
5 崔乐乐;MIS软件质量的可持续性保障技术研究[D];南京航空航天大学;2011年
6 袁梦乔;基于遗传优化的面向领域的软件质量评价方法研究[D];华东理工大学;2012年
7 李浩;一种基于工作流控制的软件质量管理模型SQMM[D];中国科学院软件研究所;2001年
8 韩静华;软件企业人员能力成熟度研究[D];浙江大学;2006年
9 王震;软件过程改进—对日外包软件项目管理中的问题和解决方案[D];华东师范大学;2008年
10 孙思纬;管理信息系统开发质量管理与成本控制[D];南京航空航天大学;2010年
中国重要报纸全文数据库 前10条
1 姜洋;中国软件质量研究报告发布[N];中国计算机报;2008年
2 合力;联创眼中的软件质量[N];网络世界;2002年
3 朱冰;软件质量关乎国际化前途[N];中国高新技术产业导报;2005年
4 国寿股份北京研发中心 陈起;确定软件质量目标 提高开发效率[N];中国保险报;2009年
5 徐哲;软件质量的多角度思考[N];中国计算机报;2005年
6 本报记者张孟军;提高软件质量普及网络电话[N];科技日报;2003年
7 中国电子系统设备工程公司研究所 韩柯;软件质量谁把关?[N];计算机世界;2004年
8 ;不变的追求 永恒的求索[N];计算机世界;2002年
9 记者 王东亮;软件质量有了把关机构[N];北京日报;2008年
10 陈龙 刘国栋;我国陆军武器装备软件有序测评[N];科技日报;2003年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978