首页> 中文学位 >基于程序切片的软件缺陷预测
【6h】

基于程序切片的软件缺陷预测

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

表格索引

插图索引

第一章绪论

1 .1 研究背景

1 .2 研究目标和内容

1 .3 本文结构安排

第二章相关技术综述

2 .1 概念

2 .2 缺陷预测指标选取

2 .3 缺陷预测算法

2 .4 决策树算法

2 .5 本章小结

第三章预测方法

3 .1 预测指标的计算

3 .2 预测结果的度量

3 .3 实验对象选取

3 .4 本章小结

第四章预测算法与算法改进

4 .1 已有预测算法的实验分析

4 .2 算法改进

4 .3 改进算法的实验分析

4 .4 指标与缺陷关联分析

4 .5 本章小结

第五章基于切片的预测粒度

5 .1 程序调用图

5 .2 切片的生成

5 .3 文件与切片对比实验

5 .4 本章小结

第六章结束语

参考文献

致谢

攻读学位期间发表的学术论文目录

攻读学位期间参与的项目

展开▼

摘要

软件缺陷的多少直接反映了整个软件质量的好坏,每一个软件中的缺陷都必须得到妥善的处理,可靠的基于软件仓库的缺陷预测则在软件缺陷的发现和移除中起着至关重要的作用。首先,它能够指导软件开发人员将有限的资源投入到更容易产生缺陷的模块中,从而提高软件质量。而在关键软件的评估中,基于软件仓库的缺陷预测在决定软件是否可以投入使用时起着决定性的作用。虽然研究者们使用数据挖掘和机器学习的方法已经得出了比较满意的预测准确度,但是直接将机器学习的模型用于缺陷预测会产生很多和软件缺陷经验相矛盾的问题。而这些问题会影响到预测的准确性。
  本文首先提出了一套软件缺陷预测的方法,使用该方法对已有的三个预测算法CART、朴素贝叶斯、C4.5,进行了预测预测的比较,随后,在C4.5决策树算法的基础上,针对软件仓库计算出来的指标的特点对算法进行了改进,改进算法引入了Spearman等级相关度,使得其决策树在选取属性作为根结点更为符合开源软件缺陷的实际情况。同时,本文还提出了一种新的预测粒度—切片粒度,该粒度是通过对程序中的函数按照其在函数调用图中的距离进行聚类得到的。
  为了验证改进算法以及新预测粒度的有效性,本文提出了一个缺陷预测方法,该预测方法是由预测指标以及预测算法组成,整个预测过程分为三个主要步骤:一、挖掘指标,从软件仓库中挖掘出用于预测的指标,包括源代码指标、变更指标、缺陷指标、切片指标等;二、预测,将挖掘出的指标输入预测算法中,得出该算法对挖掘出的指标做出的预测;三、预测算法改进,针对指标数据特点和指标跟缺陷的关联度来改进算法,使用第一步挖掘出的指标做出预测。
  最后,本文将改进预测算法与已有算法用到预测方法中做了缺陷预测的比较,实验表明,改进后的缺陷预测算法大大地降低了决策树的规模,并且在两个模块的缺陷预测准确率上分别提高了4.5802和4.8656个百分点。另外,本文还做了切片粒度和文件粒度的对比实验,实验表明,在不包含零缺陷函数的情况下,无论是训练集还是测试集,切片粒度的准确率要明显高于文件粒度的准确率,在训练集和测试集上分别高出8.5个百分点和2.5个百分点,并且在生成的决策树大小上,切片粒度的树规模比文件粒度的要小大概50%。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号