解析失效状态传播的软件故障定位方法研究
发布时间:2021-04-27 02:24
软件缺陷会降低系统的可靠性、可用性和安全性。开发人员发现软件失效后,通常需要观察程序的执行状态,查找失效的根源并消除软件缺陷。然而由于程序状态空间规模巨大,并且错误的程序状态会沿着执行路径传播。这使理解“什么导致了程序失效?”以及“为什么程序会失效?”成为值得研究的问题,亟需自动化的软件故障定位技术来提供这些信息,辅助软件调试。程序设计教育领域也需要软件故障定位技术的支持,为学生在线学习编程提供及时的调试反馈和辅助。不同于软件开发,学生程序特别是初学者的程序中经常含有概念错误,错误密度大、缺陷种类多样,甚至缺少关键语句,可能对所有的测试用例都执行失效。“缺陷程序存在部分成功执行”的假设,不完全适用于学生程序调试,需要结合学生程序设计自身特点研究故障定位方法。本文提出了“失效-故障定位-理解”模型,分析了软件故障定位领域的关键科学问题,并针对软件开发和学生程序调试的不同特点,分别研究这两类场景下的故障定位技术。首先围绕“存在部分成功测试用例的情况下,有效地报告缺陷位置,为开发人员理解和修复缺陷提供充分的信息。”这一目标,研究测试用例优选方法和基于程序不变量的故障定位方法。然后,围绕“存在...
【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校
【文章页数】:138 页
【学位级别】:博士
【文章目录】:
摘要
ABSTRACT
第1章 绪论
1.1 课题背景及研究的目的和意义
1.2 “失效-故障定位-理解”模型
1.3 国内外研究现状
1.3.1 示例程序
1.3.2 程序谱方法
1.3.3 程序切片方法
1.3.4 依赖分析方法
1.3.5 基于程序状态的方法
1.3.6 基于模型的方法
1.3.7 基于程序不变量的方法
1.3.8 变异分析方法
1.3.9 其它方法
1.4 软件故障定位的难点问题分析
1.4.1 测试用例对定位有效性的影响
1.4.2 失效根源的定位和理解
1.4.3 失效状态传播
1.4.4 复杂缺陷的定位
1.5 本文的主要研究内容和组织结构
1.5.1 研究内容
1.5.2 组织结构
第2章 面向有效故障定位的测试用例优选方法
2.1 引言
2.2 故障定位中测试用例选择的相关研究
2.3 面向有效故障定位的测试用例优选准则
2.3.1 问题描述
2.3.2 失效覆盖向量相似度优先排序准则
2.3.3 失效覆盖等价划分优化选择准则
2.4 测试用例优选模型
2.5 测试用例优选算法
2.6 实验结果与分析
2.6.1 实验设置
2.6.2 研究问题
2.6.3 基准程序集
2.6.4 评价指标
2.6.5 约简能力分析
2.6.6 故障定位有效性分析
2.6.7 与已有测试用例约简方法的比较
2.6.8 总结分析
2.7 本章小结
第3章 基于程序不变量分析多种缺陷类型的故障定位
3.1 引言
3.2 相关研究
3.2.1 不变量挖掘相关研究
3.2.2 基于程序不变量故障定位的相关研究
3.3 基于程序不变量的故障定位难点问题分析
3.4 研究框架
3.5 改进的程序不变量定义
3.5.1 程序不变量及不变量违背
3.5.2 两类难于用不变量违背定位的可疑语句
3.6 三种粒度的程序插桩
3.7 两类难于用不变量违背检测的可疑语句的定位
3.7.1 仅被失效测试用例覆盖的可疑语句的定位
3.7.2 永真/永假谓词的定位
3.8 测试用例优选
3.9 程序不变量的学习及不变量违背的检测
3.9.1 学习失效路径相关的程序不变量
3.9.2 不变量违背检测和故障定位
3.10 实验结果与分析
3.10.1 研究问题
3.10.2 评价指标
3.10.3 测试用例优选及不变量定义的有效性
3.10.4 代码审查开销分析
3.10.5 和其它程序不变量故障定位方法的比较
3.11 本章小结
第4章 基于程序不变量解析失效状态传播的故障定位
4.1 引言
4.2 研究框架
4.3 基于到达定值分析的常量赋值语句故障定位
4.3.1 到达定值的定义
4.3.2 常量赋值语句故障定位算法
4.4 基于依赖的失效状态传播分析
4.4.1 失效状态传播数据流路径相关定义
4.4.2 失效状态传播分析及故障定位算法
4.5 基于不变量违背置信度的语句可疑度计算
4.6 实验结果与分析
4.6.1 研究问题
4.6.2 失效状态传播分析对故障定位有效性的影响
4.6.3 并列排名问题的分析
4.6.4 与程序谱方法的有效性比较
4.6.5 与程序谱方法的比较
4.7 本章小结
第5章 基于示例解析失效状态传播的故障定位
5.1 引言
5.2 相关研究
5.2.1 学生程序自动化调试的相关研究
5.2.2 相似代码检测的相关研究
5.3 代码多样化及失效状态传播问题分析
5.4 研究框架
5.5 实现形式多样的相似程序识别与聚类
5.5.1 基于结构度量的程序聚类
5.5.2 基于执行值序列的程序聚类
5.6 解析失效状态传播上下文的故障定位
5.6.1 相关定义和方法描述
5.6.2 解析失效状态传播上下文的故障定位算法
5.6.3 结构语义分析示例
5.7 实验结果与分析
5.7.1 研究问题
5.7.2 基准测试集
5.7.3 评价指标
5.7.4 正确版本的聚类效果分析
5.7.5 测试用例完全失效的原因分析
5.7.6 故障定位的有效性分析
5.8 本章小结
结论
参考文献
攻读博士学位期间发表的论文及其它成果
致谢
个人简历
本文编号:3162582
【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校
【文章页数】:138 页
【学位级别】:博士
【文章目录】:
摘要
ABSTRACT
第1章 绪论
1.1 课题背景及研究的目的和意义
1.2 “失效-故障定位-理解”模型
1.3 国内外研究现状
1.3.1 示例程序
1.3.2 程序谱方法
1.3.3 程序切片方法
1.3.4 依赖分析方法
1.3.5 基于程序状态的方法
1.3.6 基于模型的方法
1.3.7 基于程序不变量的方法
1.3.8 变异分析方法
1.3.9 其它方法
1.4 软件故障定位的难点问题分析
1.4.1 测试用例对定位有效性的影响
1.4.2 失效根源的定位和理解
1.4.3 失效状态传播
1.4.4 复杂缺陷的定位
1.5 本文的主要研究内容和组织结构
1.5.1 研究内容
1.5.2 组织结构
第2章 面向有效故障定位的测试用例优选方法
2.1 引言
2.2 故障定位中测试用例选择的相关研究
2.3 面向有效故障定位的测试用例优选准则
2.3.1 问题描述
2.3.2 失效覆盖向量相似度优先排序准则
2.3.3 失效覆盖等价划分优化选择准则
2.4 测试用例优选模型
2.5 测试用例优选算法
2.6 实验结果与分析
2.6.1 实验设置
2.6.2 研究问题
2.6.3 基准程序集
2.6.4 评价指标
2.6.5 约简能力分析
2.6.6 故障定位有效性分析
2.6.7 与已有测试用例约简方法的比较
2.6.8 总结分析
2.7 本章小结
第3章 基于程序不变量分析多种缺陷类型的故障定位
3.1 引言
3.2 相关研究
3.2.1 不变量挖掘相关研究
3.2.2 基于程序不变量故障定位的相关研究
3.3 基于程序不变量的故障定位难点问题分析
3.4 研究框架
3.5 改进的程序不变量定义
3.5.1 程序不变量及不变量违背
3.5.2 两类难于用不变量违背定位的可疑语句
3.6 三种粒度的程序插桩
3.7 两类难于用不变量违背检测的可疑语句的定位
3.7.1 仅被失效测试用例覆盖的可疑语句的定位
3.7.2 永真/永假谓词的定位
3.8 测试用例优选
3.9 程序不变量的学习及不变量违背的检测
3.9.1 学习失效路径相关的程序不变量
3.9.2 不变量违背检测和故障定位
3.10 实验结果与分析
3.10.1 研究问题
3.10.2 评价指标
3.10.3 测试用例优选及不变量定义的有效性
3.10.4 代码审查开销分析
3.10.5 和其它程序不变量故障定位方法的比较
3.11 本章小结
第4章 基于程序不变量解析失效状态传播的故障定位
4.1 引言
4.2 研究框架
4.3 基于到达定值分析的常量赋值语句故障定位
4.3.1 到达定值的定义
4.3.2 常量赋值语句故障定位算法
4.4 基于依赖的失效状态传播分析
4.4.1 失效状态传播数据流路径相关定义
4.4.2 失效状态传播分析及故障定位算法
4.5 基于不变量违背置信度的语句可疑度计算
4.6 实验结果与分析
4.6.1 研究问题
4.6.2 失效状态传播分析对故障定位有效性的影响
4.6.3 并列排名问题的分析
4.6.4 与程序谱方法的有效性比较
4.6.5 与程序谱方法的比较
4.7 本章小结
第5章 基于示例解析失效状态传播的故障定位
5.1 引言
5.2 相关研究
5.2.1 学生程序自动化调试的相关研究
5.2.2 相似代码检测的相关研究
5.3 代码多样化及失效状态传播问题分析
5.4 研究框架
5.5 实现形式多样的相似程序识别与聚类
5.5.1 基于结构度量的程序聚类
5.5.2 基于执行值序列的程序聚类
5.6 解析失效状态传播上下文的故障定位
5.6.1 相关定义和方法描述
5.6.2 解析失效状态传播上下文的故障定位算法
5.6.3 结构语义分析示例
5.7 实验结果与分析
5.7.1 研究问题
5.7.2 基准测试集
5.7.3 评价指标
5.7.4 正确版本的聚类效果分析
5.7.5 测试用例完全失效的原因分析
5.7.6 故障定位的有效性分析
5.8 本章小结
结论
参考文献
攻读博士学位期间发表的论文及其它成果
致谢
个人简历
本文编号:3162582
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3162582.html