摘要 | 第4-7页 |
ABSTRACT | 第7-10页 |
第一章 绪论 | 第14-22页 |
1.1 研究背景 | 第14-16页 |
1.2 研究原因 | 第16-18页 |
1.2.1 高故障检测率相关问题 | 第16-18页 |
1.2.2 故障定位相关问题 | 第18页 |
1.3 主要研究内容和创新点 | 第18-20页 |
1.4 文章组织结构 | 第20-22页 |
第二章 背景知识概述 | 第22-36页 |
2.1 变异测试概述 | 第22-33页 |
2.1.1 理论基础 | 第23-25页 |
2.1.2 变异测试流程 | 第25-27页 |
2.1.3 基础理论研究 | 第27-30页 |
2.1.4 实际应用研究 | 第30-32页 |
2.1.5 和其它测试领域相结合 | 第32-33页 |
2.2 故障定位概述 | 第33-35页 |
2.3 本章小结 | 第35-36页 |
第三章 一种变异测试中冗余变异体的寻找方法 | 第36-60页 |
3.1 相关工作 | 第37-40页 |
3.1.1 相关学术研究 | 第37-39页 |
3.1.2 实际工程应用中变异体产生方法 | 第39-40页 |
3.2 问题描述 | 第40-41页 |
3.2.1 变异测试相关概念 | 第40页 |
3.2.2 问题描述 | 第40-41页 |
3.3 冗余变异体寻找算法 | 第41-54页 |
3.3.1 基于区间运算的冗余变异体寻找算法 | 第41-47页 |
3.3.2 简单谓词表达式冗余变异体寻找算法 | 第47-48页 |
3.3.3 复合谓词表达式冗余变异体寻找算法 | 第48-52页 |
3.3.4 算法约束边界条件分析 | 第52-54页 |
3.4 整体框架 | 第54-55页 |
3.5 实验与结果分析 | 第55-59页 |
3.5.1 实验设置 | 第55-56页 |
3.5.2 结果分析 | 第56-59页 |
3.6 结束语及下一步工作 | 第59-60页 |
第四章 一种变异分析中基于仿射运算的变异体值范围分析方法 | 第60-96页 |
4.1 背景知识 | 第62-66页 |
4.1.1 现有研究 | 第62-63页 |
4.1.2 值范围分析理论基础 | 第63-65页 |
4.1.3 区间运算 | 第65-66页 |
4.2 问题描述 | 第66-67页 |
4.3 基于仿射的程序值范围分析 | 第67-76页 |
4.3.1 仿射域定义 | 第67-68页 |
4.3.2 仿射语义操作 | 第68-69页 |
4.3.3 具体语法 | 第69页 |
4.3.4 基于程序路径的状态转移分析 | 第69-71页 |
4.3.5 变异约束处理 | 第71页 |
4.3.6 域扩宽\收紧算子 | 第71-72页 |
4.3.7 具体实例 | 第72-74页 |
4.3.8 仿射运算有效性证明 | 第74-76页 |
4.4 整体框架 | 第76-80页 |
4.5 实验分析 | 第80-87页 |
4.5.1 实验一 | 第80-86页 |
4.5.2 实验二 | 第86-87页 |
4.6 高故障检测率实验分析 | 第87-94页 |
4.6.1 针对条件表达式的检测效果 | 第87-91页 |
4.6.2 针对数值计算表达式的检测效果 | 第91-94页 |
4.7 小结和下一步工作计划 | 第94-96页 |
第五章 基于变异测试的故障定位 | 第96-122页 |
5.1 相关工作 | 第97-104页 |
5.1.1 传统手工定位方法 | 第97-98页 |
5.1.2 基于程序频谱的故障定位方法 | 第98-102页 |
5.1.3 基于程序频谱的故障定位方法的不足 | 第102-104页 |
5.2 基于变异的故障定位方法 | 第104-113页 |
5.2.1 基于变异故障定位方法 | 第104-106页 |
5.2.2 动机例子 | 第106-107页 |
5.2.3 关系算子选择方法 | 第107-108页 |
5.2.4 逻辑算子选择方法 | 第108-109页 |
5.2.5 值相关算子选择方法 | 第109-112页 |
5.2.6 整体框架 | 第112-113页 |
5.3 实验及分析 | 第113-121页 |
5.3.1 实验一本文方法和传统基于程序频谱方法的比较 | 第113-115页 |
5.3.2 实验二本文方法和其他基于变异的定位方法的比较 | 第115-121页 |
5.4 小结和下一步工作计划 | 第121-122页 |
第六章 面向C语言的变异测试系统 | 第122-143页 |
6.1 引言 | 第123页 |
6.2 相关工作 | 第123-125页 |
6.3 系统设计 | 第125-131页 |
6.3.1 预处理模块 | 第126-127页 |
6.3.2 故障建模 | 第127-128页 |
6.3.3 批量执行模块 | 第128-129页 |
6.3.4 结果分析模块 | 第129-131页 |
6.4 可扩充性 | 第131-139页 |
6.4.1 对循环体的扩充 | 第133-134页 |
6.4.2 字符串函数的扩充 | 第134-135页 |
6.4.3 数学函数的扩充 | 第135-136页 |
6.4.4 复杂数据结构的扩展 | 第136-139页 |
6.5 实验分析 | 第139-142页 |
6.5.1 故障文件注入成功率 | 第139-140页 |
6.5.2 对实际工程进行故障检测 | 第140-142页 |
6.6 小结和下一步工作计划 | 第142-143页 |
第七章 总结与展望 | 第143-147页 |
7.1 论文总结 | 第143-145页 |
7.2 下一步工作计划 | 第145-147页 |
参考文献 | 第147-162页 |
致谢 | 第162-163页 |
攻读博士学位期间发表和录用的论文列表 | 第163页 |