- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码文件连续变更对软件质量的影响分析-软件工程专业论文
代码文件连续变更对软件质量的影响分析
代码文件连续变更对软件质量的影响分析
万方数据
万方数据
上海交通大学
学位论文原创性声明
本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外, 本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本人完全意识到本声明的法律结果由本人承担。
学位论文作者签名: 日期: 年 月 日
III
上海交通大学
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规 定,同意学校保留并向国家有关部门或机构送交论文的复印件和 电子版,允许论文被查阅和借阅。本人授权上海交通大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存和汇编本学位论文。
保密□,在 年解密后适用本授权书。
本学位论文属于
不保密?。
(请在以上方框内打“√”)
学位论文作者签名: 指导教师签名:
日期: 年 月 日 日期: 年 月 日
IV
代码文件连续变更对软件质量的影响分析
摘 要
在整个软件开发过程中,软件开发人员会提交各种各样的变更,这些变更或 者是为了添加新的功能,或者是修复缺陷,或者是做一些代码重构的工作等。在 变更过程中常常会引入新的问题或者缺陷,这些缺陷如果不能被及时地发现并修 复,会给软件质量带来诸多不利影响。
本文通过观察软件代码变更历史中存在的模式,提出了文件连续变更的概念, 研究文件连续变更现象及其对软件质量的影响,并设计连续变更特征,进行基于 代码文件变更的缺陷预测。
本文首先从四个关于代码文件连续变更的研究问题出发,提出了文件连续变 更的影响分析方法,给出了四个研究问题的探索方法。采用固定时间间隔和自适
应时间间隔两种方式从代码版本控制库中抽取变更链。所抽取的变更链有两种类
型——代码文件连续变更链和代码文件频繁变更链。接着从时间和版次数量两方 面对变更链的分布情况进行分析,并通过对比变更链和其他变更,分析代码文件
变更链对软件质量的影响。
然后,本文采用实证软件工程技术,选择 GitHub 开源项目,进行了一系列 变更影响分析实验。实验结果回答了四个研究问题:①代码文件变更链的数量较
多;②代码文件变更链基本出现在文件创建的早期;③连续变更链和频繁变更链
会在短期内对软件质量造成负面的影响,随着时间范围的扩大,影响程度会降低; 当变更链长为 4 或 5 时,影响程度最高;④相对于连续开发人员变更链和频繁变
更链,连续缺陷变更链对软件质量的影响程度最大。 接着,基于变更影响分析的实验发现,本文设计了一组代码文件连续变更特
征,并进行了缺陷相关度实验,发现代码文件连续变更特征的相关度比普通变更 特征、源代码特征高。最后本文基于代码文件变更的新特征进行了缺陷预测实验。
实验采用不同特征集的组合,选取三种不同的缺陷预测算法――逻辑回归、朴素 贝叶斯和决策树,以 GitHub 开源项目为数据集,训练多种缺陷预测模型,进行
缺陷预测比较分析。实验结果表明,连续变更新特征的加入能明显提高缺陷预测 的效果,这验证了代码文件连续变更特征在缺陷预测中的有效性。
关键词:连续代码变更,质量影响分析,软件仓库挖掘,缺陷预测
I
SOURCE FILE CONSECUTIVE CHANGE IMPACT ANALYSIS ON SOFTWARE QUALITY
ABSTRACT
Over software development process, various changes are submitted by different developers, including new features, bug fixing or refactoring. However, these changes often induce bugs, and these bugs would bring losses if they do not be reported and fixed in time.
By observing patterns in the software code change history, this paper proposes a concept called file consecutive changes, and then studies the phenomenon of file consecutive changes and their impact on software quality. A set of consecutive change features are design
您可能关注的文档
- 18 19世纪西方着作中中国形象的转变.docx
- 16世纪的伦敦精英阶层研究.docx
- 18FFDG PETCT显像在早期诊断鼻咽癌放疗后复发中的应用价值.docx
- 18FFDG PETCT对淋巴瘤疗效评估的应用价值.docx
- 18FFDG PETCT联合EBVDNA在诊断鼻咽癌复发中的研究.docx
- 18FFDG和18FFLT PETCT在肺结节诊断中的对比研究.docx
- 18FFDGPETCT与99mTcMDP骨显像诊断肿瘤骨转移Meta分析.docx
- 18FFDG显像 CT及肿瘤标志物测定等检查对肺癌单发骨转移的诊断及患者预后的临床分析.docx
- 18FFES的合成及其在乳腺癌细胞的示踪作用研究.docx
- 18GHzGHz小功率校准装置研制.docx
文档评论(0)