摘要 | 第4-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第18-27页 |
1.1 研究背景 | 第18-19页 |
1.2 研究动机 | 第19-21页 |
1.2.1 软件缺陷预测 | 第20页 |
1.2.2 软件漏洞预测 | 第20页 |
1.2.3 缺陷报告定位 | 第20-21页 |
1.2.4 频繁缺陷挖掘 | 第21页 |
1.3 本文工作 | 第21-27页 |
1.3.1 研究目标 | 第21-22页 |
1.3.2 研究内容 | 第22-25页 |
1.3.3 组织结构 | 第25-27页 |
第2章 软件缺陷分析研究基础与现状 | 第27-33页 |
2.1 软件缺陷预测研究现状 | 第27-30页 |
2.1.1 经典缺陷预测技术 | 第27-28页 |
2.1.2 跨项目缺陷预测技术 | 第28-29页 |
2.1.3 漏洞预测技术 | 第29-30页 |
2.2 软件缺陷报告定位研究现状 | 第30-31页 |
2.3 分类算法在软件工程研究中的应用 | 第31-32页 |
2.4 本章小结 | 第32-33页 |
第3章 基于集成学习的软件缺陷预测技术研究 | 第33-59页 |
3.1 引言 | 第33-35页 |
3.2 研究背景 | 第35-39页 |
3.2.1 缺陷预测技术: 通用步骤 | 第35-36页 |
3.2.2 经典分类算法 | 第36-39页 |
3.2.3 Combined Defect Predictor(CODEP)算法 | 第39页 |
3.3 集成学习算法 | 第39-42页 |
3.3.1 整体框架 | 第39-41页 |
3.3.2 Average Voting | 第41页 |
3.3.3 Maximum Voting | 第41页 |
3.3.4 Bagging | 第41-42页 |
3.3.5 Boosting | 第42页 |
3.3.6 Random Forest | 第42页 |
3.4 实验及结果分析 | 第42-51页 |
3.4.1 实验准备 | 第42-44页 |
3.4.2 评价指标 | 第44-46页 |
3.4.3 研究问题 | 第46-51页 |
3.5 讨论 | 第51-57页 |
3.5.1 NASA数据集 | 第51-53页 |
3.5.2 CODEP_(J48)的性能评估 | 第53-56页 |
3.5.3 基础分类器和Max性能对比 | 第56页 |
3.5.4 时间复杂度分析 | 第56-57页 |
3.5.5 效度威胁 | 第57页 |
3.6 本章小结 | 第57-59页 |
第4章 结合软件度量和文本特征的软件漏洞预测技术研究 | 第59-80页 |
4.1 引言 | 第59-61页 |
4.2 研究动机 | 第61-62页 |
4.3 研究方法 | 第62-67页 |
4.3.1 方法概述 | 第63-64页 |
4.3.2 基础分类器 | 第64-66页 |
4.3.3 COMPOSER | 第66-67页 |
4.4 实验及结果分析 | 第67-75页 |
4.4.1 实验准备 | 第68-69页 |
4.4.2 评价指标 | 第69-70页 |
4.4.3 研究问题 | 第70-75页 |
4.5 讨论 | 第75-79页 |
4.5.1 与上一章集成学习算法的性能对比 | 第75-76页 |
4.5.2 因式分解机方法性能评估 | 第76-78页 |
4.5.3 效度威胁 | 第78-79页 |
4.6 本章小结 | 第79-80页 |
第5章 基于多层抽象模型的软件缺陷报告定位技术 | 第80-113页 |
5.1 引言 | 第80-83页 |
5.2 Preliminaries | 第83-85页 |
5.2.1 Latent Dirichlet Allocation | 第83-84页 |
5.2.2 遗传算法 | 第84-85页 |
5.2.3 数值归一化 | 第85页 |
5.2.4 数据融合 | 第85页 |
5.3 MULAB | 第85-93页 |
5.3.1 方法概述 | 第85-86页 |
5.3.2 Preprocessing | 第86-87页 |
5.3.3 Topic Number Tuning | 第87-88页 |
5.3.4 Hierarchy Creation | 第88页 |
5.3.5 Multi-Abstraction Retrieval | 第88-93页 |
5.4 实验及结果分析 | 第93-107页 |
5.4.1 数据集介绍 | 第93-95页 |
5.4.2 评价指标 | 第95页 |
5.4.3 研究问题 | 第95-107页 |
5.4.4 效度威胁 | 第107页 |
5.5 讨论 | 第107-111页 |
5.5.1 定性分析 | 第107-109页 |
5.5.2 时间效率 | 第109-111页 |
5.6 本章小结 | 第111-113页 |
第6章 软件频繁缺陷挖掘 | 第113-134页 |
6.1 引言 | 第113-117页 |
6.2 研究方法 | 第117-121页 |
6.2.1 方法概述 | 第117-118页 |
6.2.2 数据预处理 | 第118页 |
6.2.3 构建Candidate Domain-Specific Bug Dataset (CDB) | 第118页 |
6.2.4 问题排序 | 第118-119页 |
6.2.5 查询优化 | 第119页 |
6.2.6 重新排序 | 第119-120页 |
6.2.7 稳定性判断 | 第120-121页 |
6.3 实验及结果分析 | 第121-129页 |
6.3.1 实验准备 | 第121-122页 |
6.3.2 对比方法 | 第122页 |
6.3.3 用户调研 | 第122-124页 |
6.3.4 评价指标 | 第124-125页 |
6.3.5 研究问题 | 第125-129页 |
6.4 讨论 | 第129-133页 |
6.4.1 定性分析 | 第129-132页 |
6.4.2 时间复杂度分析 | 第132页 |
6.4.3 效度威胁 | 第132-133页 |
6.5 本章小结 | 第133-134页 |
第7章 总结与展望 | 第134-137页 |
7.1 本文工作总结 | 第134-136页 |
7.2 未来工作展望 | 第136-137页 |
参考文献 | 第137-150页 |
附录A | 第150-157页 |
附录B | 第157-161页 |
攻读博士学位期间主要科研成果 | 第161-163页 |
致谢 | 第163-165页 |
作者简历 | 第165页 |