软件维护中的关键预测问题研究

发布时间:2018-10-31 07:03
【摘要】:软件工程中的预测问题是软件工程研究领域的热点课题之一,近年来一直受到软件工程研究者和软件开发从业者们的广泛关注,其基本思想在于利用软件开发与演化过程中的历史经验和知识,预测软件未来可能的状态,达到有效的辅助软件工程活动决策的目的,典型的应用场景包括软件项目计划、软件测试、软件质量保证、过程改进和管理、软件维护与演化。在软件整个生命周期中,软件维护是时间跨度最长的阶段。此外,随着软件开发技术、开发模式的不断变化,软件需求和业务复杂度不断提升,软件维护在软件开发与演化过程中的重要性日益凸显。鉴于此,本文拟解决软件维护中的三个关键预测问题:软件维护工作量预测、软件变更预测和软件缺陷预测。论文的具体工作内容和创新点如下:(1)动静结合的软件维护工作量预测算法设计。针对软件维护工作量预测中的现有问题:静态预测方法并不适应于维护中的软件项目,在维护的过程中软件的所有基本构成要素都会变化而目前的静态方法不能完全掌握这些变化对软件维护工作量构成的影响,动态预测方法依赖软件演化数据,这对部分项目来讲,其数据收集比较困难。本部分工作设计了一种动静结合的预测方法,即RPBSC模型,该模型结合了静态模型和动态模型的优点,来弥补各自在实践应用中的不足。(2)软件维护工作量预测实证研究。本部分工作展示了基于工作(1)中算法所开展的实证研究,主要包括三个部分,一是介绍了实证研究所采用的数据集,即选取了Apach下三个开源项目shindig、Lucene、以及openwebbeans为实验对象;二是介绍了实验设计及评价标准,最后给出了实验结果和分析,实验结果表明本文提出的方法可以较精准的预测软件维护工作量。(3)自学习的软件变更预测算法设计。现有软件变更预测方法依赖于历史标签数据集,无法对无历史标签数据集做出预测,针对该问题,本部分工作设计了一种自学习的软件变更预测解决方案,该方案从度量元数据特点与软件变更的关系出发,基于度量元值越大软件类越复杂从而更可能发生改变的原则,选取部分样本打上标签,构建训练空间,进而构建自学习的变更预测算法。(4)基于自学习的软件变更预测实证研究。本部分工作展示了基于工作(3)中的自学习算法的实证研究,首先介绍了实验中所采用的数据集和实验环境,其次介绍了实验所采用的评指标和对比方法,最后给出了实验结果与分析。实验结果表明,在14个开源项目的平均预测效果上,自学习方法的预测效果优于四个现有预测方法;(5)基于LDA的缺陷预测算法设计。现有缺陷预测方法多基于软件结构和设计度量元来组成特征空间,软件源代码中的语义特征却鲜有工作涉及。鉴于此,本文基于LDA主题模型提出了一种新的缺陷预测度量元,即主题缺陷密度,该度量元使得源代码中的语义信息和缺陷主题产生关联,通过软件前一版本的主题缺陷密度,来预测当前版本的主题缺陷密度,进而能预测当前软件版本的缺陷信息。基于该思路,本部分工作详细展示了如何基于源代码语义信息来构建缺陷预测模型。(6)基于LDA的缺陷预测实证研究。本部分工作展示了基于工作(5)中提出的缺陷预测算法的实证研究,首先介绍了实验环境和实验所采用数据集,其次展示了实验总体过程以及实验性能所采用的评估指标,最后给出了实验结果与分析。结果表明,利用语义特征,采用版本间主题的关联度来量化版本间的主题缺陷密度来预测缺陷是一种可行方案。通过对三个开源项目的实验结果分析,发现本文方法的预测结果与真实的缺陷之间能达到较好的一致性。本论文的工作针对软件维护中的关键预测问题,从现有方法的局限性出发,改进了现有预测方法,提出了新的预测模型,提高了预测精度,为软件的维护和演化提供了更精准的决策建议。
[Abstract]:......
【学位授予单位】:重庆大学
【学位级别】:博士
【学位授予年份】:2016
【分类号】:TP311.53

【参考文献】

相关会议论文 前1条

1 刘扬;程健;卢汉清;;基于目标局部特征的迁移式学习[A];第十四届全国图象图形学学术会议论文集[C];2008年



本文编号:2301333

资料下载
论文发表

本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/2301333.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户fe90b***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com