首页> 中文学位 >体系结构扩展支持的软件故障检测和定位技术研究
【6h】

体系结构扩展支持的软件故障检测和定位技术研究

代理获取

目录

文摘

英文文摘

声明

致谢

第1章 绪论

1.1 引言

1.2 课题的研究背景和意义

1.3 研究思路与研究内容

1.4 论文架构

第2章 相关研究综述

2.1 引言

2.2 软件可靠性

2.2.1 软件可靠性的概念

2.2.2 软件可靠性的管理

2.2.3 保证软件可靠性的方法

2.3 为什么要提高软件调试手段

2.3.1 软件调试的概念

2.3.2 软件调试的一般过程

2.3.3 传统的软件调试技术

2.4 现有软件调试技术综述

2.5 现有研究的问题和不足

2.6 本章小结

第3章 软件bug分析

3.1 引言

3.2 软件bug定义

3.3 软件bug分类

3.3.1 Boris Beizer分类体系

3.3.2 IEEE 1044-1994分类体系

3.3.3 C语言软件bug分类体系

3.4 当前软件bug分布规律分析

3.5 软件bug发展趋势

3.6 对软件调试技术的需求

3.7 本章小结

第4章 基于软件行为模型的故障检测框架

4.1 引言

4.2 研究软件行为建模的必要性

4.3 软件行为建模

4.3.1 软件行为自相似性

4.3.2 软件行为模型

4.4 体系结构扩展的故障检测框架

4.4.1 故障检测框架

4.4.2 共性的关键技术

4.5 本章小结

第5章 编程规则挖掘及故障检测

5.1 引言

5.2 编程规则

5.2.1 显性编程规则

5.2.2 隐性编程规则

5.3 问题的定义

5.4 闭合序列在线挖掘算法

5.4.1 为什么要采用数据挖掘方法

5.4.2 数据挖掘算法Bide+

5.5 编程规则挖掘系统架构

5.5.1 规则挖掘框架

5.5.2 规则挖掘和故障检测流程

5.6 技术实现

5.6.1 系统体系结构层扩展

5.6.2 数据收集

5.6.3 规则的生成

5.6.4 利用编程规则检测bug

5.6.5 检测结果的排序

5.7 实验方法与结果评估

5.7.1 检测能力

5.7.2 性能分析

5.8 本章小结

第6章 基于在线统计模型的调试技术

6.1 引言

6.2 统计调试

6.2.1 统计调试模型综述

6.2.2 现有模型的问题和不足

6.3 问题的定义

6.4 在线统计调试模型

6.4.1 模型建立

6.4.2 模型检验

6.5 在线统计调试系统架构

6.6 体系结构扩展实现在线统计调试

6.6.1 体系结构扩展

6.6.2 数据采集

6.6.3 检测模式

6.7 实验评估

6.7.1 实验平台

6.7.2 检测能力

6.7.3 定位能力

6.7.4 性能分析

6.8 本章小结

第7章 基于锁集合算法的增强型数据竞争检测方法

7.1 引言

7.2 数据竞争问题

7.2.1 问题的提出

7.2.2 数据竞争问题定义

7.3 目前检测方法存在的问题和不足

7.4 锁集合算法的改进

7.4.1 锁集合算法

7.4.2 增强型锁集合算法

7.4.3 增强型锁集合算法的状态转换图

7.5 基于CMP体系结构扩展支持的算法实现

7.5.1 CMP体系架构的扩展

7.5.2 锁集合与读/写线程集合

7.5.3 免插桩检测与调试支持

7.6 基于单核体系结构扩展支持的算法实现

7.7 实验方法及结果

7.7.1 CMP系统架构

7.7.2 单核架构

7.8 本章小结

第8章 总结与展望

8.1 主要工作概述

8.1.1 主要工作与结论

8.1.2 创新点

8.2 未来工作展望

参考文献

攻读博士学位期间的研究成果

展开▼

摘要

软件作为计算机系统的神经中枢已经延伸到现代社会的各个角落,无所不在。一方面,软件是设计师塑造的、功能强大的工具;但另一方面,寄生着各种“bug”的软件,顷刻间又可以演变为破坏力强大的敌人,这就是软件的“双重效应”。Mark Paulk博士指出现阶段软件系统中出现错误在所难免。建立高可靠的软件生产线能够最大程度地保证软件质量,特别对于航天飞行器、汽车电子、测控系统等高可靠性应用场合具有重要意义,可缩短软件开发时间、降低开发成本,提高服务质量。
   本文研究了软件行为建模方法,多层次多角度地对软件系统的可靠性进行验证,检测和定位系统中存在的软件错误,提高软件的可用性,降低软件错误引起系统故障的风险。本文研究实现了体系结构扩展支持的软件调试技术,从系统体系结构层面提供软件故障诊断与分析的自动化与智能化技术支持,从而减少程序员诊断软件故障时所付出的辛苦,提高软件调试效率,达到缩短系统软件开发周期,降低开发成本,提高可靠性的目的。
   本文首先全面介绍了目前软件故障检测和定位方面的一系列相关研究和实现技术,并分析了这些领域主要的研究内容、研究方法和部分商用系统的发展现状,同时指出了已有研究的缺点与不足,从而引出了本文的研究。
   首先,构建了C语言的bug分类体系,在此基础上,分析了开源大型系统软件的bug列表,总结了bug发展趋势以及对调试技术的要求;结合软件动态运行状态变化的特点,从指令流、数据流以及两者的关联约束出发,分析研究软件行为的自相似性规律,在此基础上,提出了软件行为模型,并阐述了目前软件bug分布规律的原因。同时,在结合软件行为模型,提出了基于体系结构扩展支持的故障检测框架,并且讨论了体系结构扩展实现时语义重载和任务语义感知等关键技术。
   本文从研究软件运行过程中指令与指令间的统计自相似性规律,提出了采用数据挖掘的方法挖掘软件系统中的隐性编程规则,从而检测软件系统中存在的bug。通过分析Bide挖掘算法,对BEE操作进行优化提出了Bide+挖掘算法。同时,采用体系结构扩展支持的方法实现数据的采集以及在线故障检测。同时对规则生成和检测过程中的一些优化问题进行了讨论。
   针对控制流错误成为bug主流的问题,研究软件状态跳转行为的统计性规律,在分析现有统计调试模型不足的基础上,提出了在线统计调试模型。在此基础上,讨论了基于体系结构扩展支持的在线统计调试实现方法,同时探讨研究了数据采集和检测阶段的一些优化技术。
   结合软件行为模型,定义了数据竞争问题,并讨论了数据竞争问题难以调试的原因。提出了更强必要条件的增强型锁集合算法。该算法分析处理线程结束情况,理解分析变量的线程信息,精化数据竞争检测条件。算法实现采用系统体系结构扩展的方法,扩展锁表部件,精确映射集合操作到位图操作,进一步提高检测精度和减少误报。
   最后,采用扩展虚拟机体系结构的方法进行了实验。实验结果验证了本文研究的体系结构扩展支持的故障检测和定位技术,在对软件编程规则挖掘、控制流错误以及数据竞争等软件故障行为检测方面的有效性。

著录项

  • 作者

    富浩;

  • 作者单位

    浙江大学;

    浙江大学计算机学院;

  • 授予单位 浙江大学;浙江大学计算机学院;
  • 学科 计算机科学与技术
  • 授予学位 博士
  • 导师姓名 董金祥;
  • 年度 2009
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.52;
  • 关键词

    体系结构扩展; 故障检测; 软件调试; 定位技术;

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号