基于复杂网络的动态软件缺陷预测算法研究
本文关键词:基于复杂网络的动态软件缺陷预测算法研究
更多相关文章: 软件缺陷预测 复杂网络 软件网络 软件执行序列 逻辑回归
【摘要】:随着软件行业的繁荣发展,软件系统的规模和复杂度急剧增长,对软件进行优化和维护越来越困难。软件缺陷预测通过分析软件特征,利用机器学习技术构建预测模型,在软件测试前定位系统中可能存在缺陷的模块,为合理分配测试资源,提高软件稳定性提供有力帮助。本文通过将软件系统映射为软件复杂网络,利用其网络特征构建预测模型,对软件系统中可能存在缺陷的模块进行预测,并结合软件的动态执行序列,对软件系统进行更全面的分析。主要工作内容如下:首先,通过跟踪函数执行序列,获取函数间调用关系,将软件系统映射为有向函数调用网络,并对网络的结构特征进行分析。计算各节点度量信息,分析其分布特征。比对同一模块不同版本间的差异,收集模块缺陷信息。之后,对每个网络度量与软件缺陷的相关性进行详细分析,并且以模块的网络度量和缺陷标记作为训练数据构造预测模型,对目标软件进行缺陷预测。将规模度量模型和复杂度度量模型作为对照,探究利用复杂网络特征进行软件缺陷预测的有效性。再次,针对现有软件分析方法角度单一的缺点,提出挖掘高风险程序片段的HRFM算法。该算法结合静态分析和动态执行序列分析,对软件系统进行更全面的研究。设计了index-map结构描述执行序列,以及基于index-map的执行区间发现算法,提出基于向下闭合属性的预剪枝策略,减少候选集的大小,加速挖掘过程。最后,以开源软件为研究对象,对本文提出的缺陷预测方法进行了实验分析。
【关键词】:软件缺陷预测 复杂网络 软件网络 软件执行序列 逻辑回归
【学位授予单位】:燕山大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP311.53;O157.5
【目录】:
- 摘要5-6
- ABSTRACT6-10
- 第1章 绪论10-16
- 1.1 软件缺陷预测的背景和意义10-11
- 1.2 研究现状11-14
- 1.2.1 软件缺陷预测研究现状11-13
- 1.2.2 软件网络研究现状13-14
- 1.3 存在的问题14
- 1.4 本课题研究的主要内容14-15
- 1.5 本文总体结构15-16
- 第2章 软件网络建模与缺陷预测的相关知识16-23
- 2.1 软件网络建模16-20
- 2.1.1 软件网络介绍17-18
- 2.1.2 本文中软件网络的构建方法18-20
- 2.2 软件缺陷预测相关知识20-22
- 2.2.1 软件缺陷预测的度量与模型20-21
- 2.2.2 软件缺陷预测数据来源21-22
- 2.2.3 软件缺陷预测过程22
- 2.3 本章小结22-23
- 第3章 基于复杂网络的软件缺陷预测23-43
- 3.1 引言23
- 3.2 网络度量分析过程说明23-28
- 3.2.1 收集数据23-26
- 3.2.2 分析方法26
- 3.2.3 评价标准26-28
- 3.3 网络度量与软件缺陷相关性分析28-41
- 3.3.1 度中心性与软件缺陷的相关性分析28-33
- 3.3.2 介数中心性与软件缺陷的相关性分析33-34
- 3.3.3 紧密度中心性与软件缺陷的相关性分析34-37
- 3.3.4 特征向量中心性、Page Rank与软件缺陷的相关性分析37-41
- 3.4 使用网络度量预测软件缺陷的有效性分析41-42
- 3.5 本章小结42-43
- 第4章 动态执行序列中的高风险程序片段挖掘算法43-53
- 4.1 引言43
- 4.2 基本定义43-46
- 4.3 高风险程序片段挖掘算法设计46-50
- 4.3.1 基于index-map的执行区间发现算法46-47
- 4.3.2 函数序列去循环算法47-48
- 4.3.3 高风险程序片段挖掘算法HRFM48-50
- 4.4 算法实例50-52
- 4.5 本章小结52-53
- 第5章 实验结果与分析53-60
- 5.1 实验环境53
- 5.2 本文构造的软件网络的特征分析53-56
- 5.2.1 实验数据53-54
- 5.2.2 软件网络特征分析54-56
- 5.3 挖掘高风险程序片段的实验结果与分析56-59
- 5.3.1 实验数据56-57
- 5.3.2 剪枝策略效果分析57-58
- 5.3.3 HRFM挖掘结果分析58-59
- 5.4 本章小结59-60
- 结论60-62
- 参考文献62-66
- 攻读硕士学位期间承担的科研任务与主要成果66-67
- 致谢67
【相似文献】
中国期刊全文数据库 前9条
1 吕方兴;;对软件缺陷预防的分析研究[J];科技信息;2012年15期
2 王敏帅;张海军;;软件缺陷管理中分类及度量方法研究[J];科技信息;2013年10期
3 程绍银;蒋凡;王嘉捷;张晓菲;;一种自动生成软件缺陷输入的方法[J];中国科学技术大学学报;2010年02期
4 江玉国;《AHDM41》系统的缺陷及处理方法[J];山东气象;2004年02期
5 冯毅;;软件缺陷排除模型及改进[J];科技致富向导;2011年26期
6 尹红健;;两类离散GM(1,1)模型及其软件缺陷预测建模[J];海南大学学报(自然科学版);2010年02期
7 孙玉武;范月科;王宇龙;武伟;刘宇坤;;基于软件测试的软件缺陷预测模型[J];数学的实践与认识;2011年09期
8 尹然;丁晓明;李小亮;梅莹;;基于SA-BP神经网络的软件缺陷预测模型的研究[J];西南师范大学学报(自然科学版);2013年08期
9 ;[J];;年期
中国重要会议论文全文数据库 前8条
1 赵修湘;石勇;刘莹;张玲玲;;文本分类在软件缺陷管理中的应用[A];第四届(2009)中国管理学年会——管理科学与工程分会场论文集[C];2009年
2 李立清;;软件缺陷数据的分析和预测[A];第三届中国测试学术会议论文集[C];2004年
3 李立清;;用软件缺陷数据进行缺陷预测[A];中国工程物理研究院科技年报(2005)[C];2005年
4 赵亮;侯金宝;;文件和包层次的软件缺陷预测研究[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
5 于秀山;王广俭;;软件缺陷管理[A];中国电子学会可靠性分会第十三届学术年会论文选[C];2006年
6 寇纲;彭怡;石勇;;基于数据挖掘的软件缺陷度量评估管理及研究现状综述[A];第三届(2008)中国管理学年会——信息管理分会场论文集[C];2008年
7 高通;焦彦平;龚波;;基于曲线拟合的软件缺陷排除成本预测[A];2010年全国通信安全学术会议论文集[C];2010年
8 涂亚明;毛军鹏;余静;尹磊;;系统测试阶段的软件缺陷预测模型分析[A];第六届中国测试学术会议论文集[C];2010年
中国重要报纸全文数据库 前7条
1 谢敏、戴金龙;追踪每一个软件缺陷[N];计算机世界;2005年
2 学健;可怕的不是缺陷本身[N];计算机世界;2001年
3 ;Firefox、IE中发现缺陷[N];计算机世界;2005年
4 道琼斯;小电脑 大雄心[N];人民邮电;2007年
5 特约撰稿 朱颜镇;万维易化项目管理力助电信运营商[N];通信信息报;2004年
6 ;Microsoft计划推出Windows Server SP1[N];计算机世界;2004年
7 记者 王俊鸣;美专家认为因特网中枢有漏洞[N];科技日报;2001年
中国博士学位论文全文数据库 前7条
1 Gabriel Kofi Armah;[D];电子科技大学;2015年
2 单纯;软件缺陷分布预测技术及应用研究[D];北京理工大学;2015年
3 王伟光;动态软件缺陷测试关键技术研究[D];南京大学;2016年
4 陈媛;基于数据挖掘的软件缺陷预测技术研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2012年
5 马樱;基于机器学习的软件缺陷预测技术研究[D];电子科技大学;2012年
6 张凯;软件缺陷混沌分形描述与软件质量进化度量的研究[D];武汉理工大学;2005年
7 杨晓杏;基于度量元的软件缺陷预测技术[D];中国科学技术大学;2014年
中国硕士学位论文全文数据库 前10条
1 赵长凯;软件缺陷管理与预测系统的设计[D];复旦大学;2013年
2 杨磊;面向不平衡数据的软件缺陷预测方法研究[D];中国石油大学(华东);2014年
3 陈家强;软件缺陷预测中数据预处理技术研究[D];南京大学;2014年
4 江晓苏;鱼群优化的多核支持向量机在软件缺陷预测中的应用[D];重庆师范大学;2016年
5 权衡;基于Web的软件缺陷管理系统的设计与实现[D];华中科技大学;2014年
6 刘庆山;基于复杂网络的动态软件缺陷预测算法研究[D];燕山大学;2016年
7 林涛;GUI缺陷及定位方法研究[D];上海师范大学;2016年
8 张俊宇;基于动态代价敏感型贝叶斯网络的软件缺陷预测方法研究[D];华中师范大学;2016年
9 刘莉;基于统计过程控制的软件缺陷管理研究[D];大连海事大学;2007年
10 黄小亮;软件缺陷自动分派研究[D];复旦大学;2011年
,本文编号:617125
本文链接:https://www.wllwen.com/kejilunwen/yysx/617125.html