摘要 | 第4-6页 |
ABSTRACT | 第6-8页 |
第1章 绪论 | 第17-39页 |
1.1 课题背景及研究目的和意义 | 第17-19页 |
1.2 国内外研究现状及其分析 | 第19-35页 |
1.2.1 研究热点与趋势 | 第19-22页 |
1.2.2 克隆代码检测研究 | 第22-25页 |
1.2.3 克隆代码分析研究 | 第25-31页 |
1.2.4 克隆代码维护研究 | 第31-35页 |
1.2.5 当前研究中存在的问题分析 | 第35页 |
1.3 研究内容与论文结构 | 第35-39页 |
1.3.1 研究内容 | 第35-36页 |
1.3.2 论文结构 | 第36-39页 |
第2章 基于X-means聚类的克隆代码演化特征分析 | 第39-66页 |
2.1 引言 | 第39页 |
2.2 克隆代码演化特征分析 | 第39-42页 |
2.2.1 现有研究存在的问题 | 第39-41页 |
2.2.2 本文的解决思路 | 第41-42页 |
2.3 克隆代码及演化过程的定义 | 第42-46页 |
2.4 软件克隆家系的构建 | 第46-48页 |
2.4.1 克隆检测与CRD描述 | 第46-47页 |
2.4.2 克隆家系构建与克隆模式识别 | 第47-48页 |
2.5 克隆演化实体的特征描述 | 第48-51页 |
2.5.1 克隆片段实体的特征 | 第49页 |
2.5.2 克隆组实体的特征 | 第49-50页 |
2.5.3 克隆家系实体的特征 | 第50-51页 |
2.6 克隆演化特征挖掘 | 第51-54页 |
2.6.1 克隆实体聚类向量的生成 | 第51-52页 |
2.6.2 基于X-means的克隆实体聚类 | 第52-54页 |
2.7 实验结果与分析 | 第54-65页 |
2.7.1 实验设置 | 第54-55页 |
2.7.2 克隆片段演化特征分析实验 | 第55-57页 |
2.7.3 克隆组演化特征分析实验 | 第57-61页 |
2.7.4 克隆家系演化特征分析实验 | 第61-65页 |
2.8 本章小结 | 第65-66页 |
第3章 克隆代码创建一致性维护需求预测方法 | 第66-96页 |
3.1 引言 | 第66页 |
3.2 克隆代码额外维护代价的相关研究 | 第66-71页 |
3.2.1 克隆代码的维护代价问题 | 第66-67页 |
3.2.2 现有方法存在的问题 | 第67-69页 |
3.2.3 本文的解决思路 | 第69-71页 |
3.3 克隆代码创建时一致性维护需求的定义 | 第71-72页 |
3.4 复制和粘贴操作的样本获取 | 第72-74页 |
3.5 复制粘贴操作的特征描述 | 第74-77页 |
3.5.1 属性特征分析 | 第74-75页 |
3.5.2 被复制克隆代码的属性特征 | 第75-76页 |
3.5.3 被粘贴克隆代码的属性特征 | 第76-77页 |
3.6 基于机器学习的克隆创建一致性维护需求预测 | 第77-80页 |
3.7 实验结果与分析 | 第80-94页 |
3.7.1 实验设置 | 第80-84页 |
3.7.2 有效性验证实验 | 第84-86页 |
3.7.3 使用模式实验 | 第86-93页 |
3.7.4 与其它方法的对比 | 第93-94页 |
3.7.5 讨论 | 第94页 |
3.8 本章小结 | 第94-96页 |
第4章 克隆代码变化一致性维护需求预测方法 | 第96-124页 |
4.1 引言 | 第96页 |
4.2 克隆代码一致性维护的相关研究 | 第96-101页 |
4.2.1 克隆变化对软件质量影响的问题 | 第96-99页 |
4.2.2 现有研究存在的问题 | 第99-100页 |
4.2.3 本文的解决思路 | 第100-101页 |
4.3 克隆代码变化时一致性维护需求的定义 | 第101-103页 |
4.4 克隆变化实例的获取 | 第103-105页 |
4.5 克隆变化实例的特征描述 | 第105-109页 |
4.5.1 代码属性特征 | 第106-107页 |
4.5.2 上下文属性特征 | 第107-108页 |
4.5.3 演化属性特征 | 第108-109页 |
4.6 模型的训练与预测 | 第109-110页 |
4.7 实验结果与分析 | 第110-122页 |
4.7.1 实验设置 | 第110-113页 |
4.7.2 有效性验证实验 | 第113-115页 |
4.7.3 使用模式实验 | 第115-122页 |
4.7.4 讨论 | 第122页 |
4.8 本章小结 | 第122-124页 |
第5章 跨项目克隆代码一致性维护需求预测研究 | 第124-156页 |
5.1 引言 | 第124页 |
5.2 跨项目克隆一致性维护问题 | 第124-127页 |
5.2.1 问题的提出 | 第124-125页 |
5.2.2 本文的解决思路 | 第125-127页 |
5.3 克隆代码一致性维护需求的定义 | 第127-128页 |
5.4 跨项目数据集的获取 | 第128-131页 |
5.4.1 跨项目数据来源 | 第129页 |
5.4.2 数据集生成 | 第129-131页 |
5.5 跨项目预测模型的训练与预测 | 第131-132页 |
5.6 实验结果与分析 | 第132-148页 |
5.6.1 实验设置 | 第132-134页 |
5.6.2 跨项目有效性验证实验 | 第134-137页 |
5.6.3 跨项目使用模式实验 | 第137-143页 |
5.6.4 跨项目训练集规模实验 | 第143-146页 |
5.6.5 软件开发过程中的克隆一致性维护需求预测 | 第146-148页 |
5.7 克隆一致性维护需求预测插件的设计与实现 | 第148-155页 |
5.7.1 克隆一致性维护需求预测插件的体系结构 | 第148-149页 |
5.7.2 克隆一致性维护需求预测插件的功能模块设计 | 第149-152页 |
5.7.3 克隆一致性维护需求预测插件的实现 | 第152-155页 |
5.8 本章小结 | 第155-156页 |
结论 | 第156-158页 |
参考文献 | 第158-172页 |
攻读博士学位期间发表的论文及其他成果 | 第172-175页 |
致谢 | 第175-176页 |
个人简历 | 第176页 |