面向嵌入式C的软件缺陷检测技术的研究与实现

面向嵌入式C的软件缺陷检测技术的研究与实现

论文摘要

本文介绍了作者在面向嵌入式C语言的软件测试方面所做的工作,包括嵌入式C缺陷模型的描述以及使用扩展的缺陷模式状态机进行缺陷检测,通过设计缺陷模式的统一描述和统一检测框架,针对嵌入式编程中的一些具体缺陷实现检测算法,证明系统具有较好的检测效果。静态测试是软件测试领域的一个重要分支,因为其不必实际运行程序而只需分析程序的源代码,在软件测试中有着广泛的应用,近年来逐步发展起来。其主要优势在于针对性强,而且可以检测出小概率缺陷。基于缺陷模式的静态分析技术的核心是缺陷模式的统一描述、定义以及通用的缺陷检测框架的设计。针对这一问题,本文提出了利用扩展的缺陷模式状态机进行缺陷模式的描述和检测。论文首先介绍了缺陷模式状态机的设计与实现,包括缺陷模式状态机的设计思路、结构组成、缺陷描述规则和状态机转换条件等,并讨论了状态机状态转换时的一些特殊条件,如路径敏感、变量相关等,以利于提高系统检测的效率和准确程度。然后给出了应用这一框架进行具体缺陷检测的算法,包括具体缺陷模式的定义、状态机设计和算法设计等。面向嵌入式C的缺陷检测系统DTSEmbed应用扩展的缺陷模式状态机对一些开源的嵌入式C程序进行了具体缺陷的检测,实验结果表明本系统在某些缺陷模式上具有较低的误报率,总体检测效果较好。本文的研究成果为基于缺陷的静态分析技术的研究提供了有益的方法和手段。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 研究目的和意义
  • 1.3 主要内容
  • 1.4 论文结构
  • 第二章 软件测试
  • 2.1 软件测试的概念
  • 2.1.1 软件质量保证及意义
  • 2.1.2 软件测试的发展和前景
  • 2.2 软件测试方法
  • 2.2.1 黑盒测试和白盒测试
  • 2.2.2 静态测试和动态测试
  • 2.3 基于缺陷模式的静态测试
  • 2.3.1 静态分析的检测方法
  • 2.3.2 静态测试的性能指标
  • 2.3.3 嵌入式C缺陷模式的分类
  • 2.4 静态测试工具介绍
  • 第三章 面向嵌入式C的静态分析工具
  • 3.1 DTSEMBED系统概述
  • 3.1.1 系统结构设计
  • 3.1.2 系统流程设计
  • 3.2 系统详细设计
  • 3.2.1 抽象语法树
  • 3.2.2 符号表
  • 3.2.3 控制流图
  • 3.2.4 区间运算
  • 3.2.5 缺陷模式状态机
  • 第四章 缺陷模式的描述和分析
  • 4.1 缺陷模式状态机的设计
  • 4.1.1 状态机
  • 4.1.2 状态集合
  • 4.1.3 状态转换
  • 4.1.4 转换条件
  • 4.2 缺陷模式状态机实例的设计
  • 4.3 嵌入式C缺陷模式的描述
  • 4.4 缺陷模式的分析
  • 4.4.1 故障检测属性
  • 4.4.2 基于数据流的缺陷分析
  • 4.4.3 不可达路径
  • 第五章 面向嵌入式C语言的缺陷模式检测
  • 5.1 通用算法
  • 5.2 多进程共享变量缺陷
  • 5.2.1 多进程共享变量缺陷模式总结
  • 5.2.2 多进程共享变量缺陷状态机
  • 5.2.3 多进程共享变量缺陷的检测算法
  • 5.3 中断处理程序和主程序寄存器组冲突
  • 5.3.1 中断处理程序和主程序寄存器组冲突缺陷模式总结
  • 5.3.2 中断处理程序和主程序寄存器组冲突缺陷的状态机
  • 5.3.3 中断处理程序和主程序寄存器组冲突缺陷的检测算法
  • 5.4 数据类型溢出
  • 5.4.1 数据类型溢出缺陷模式总结
  • 5.4.2 数据类型溢出缺陷的状态机
  • 5.4.3 数据类型溢出缺陷的检测算法
  • 5.5 非法计算
  • 5.5.1 非法计算缺陷模式总结
  • 5.5.2 非法计算缺陷的状态机
  • 5.5.3 非法计算缺陷的检测算法
  • 5.6 变量赋值未使用问题
  • 5.6.1 变量赋值未使用缺陷模式总结
  • 5.6.2 变量赋值未使用缺陷模式状态机
  • 5.6.3 变量赋值未使用缺陷模式检测算法
  • 5.7 实验结果
  • 第六章 总结与展望
  • 6.1 工作总结
  • 6.2 展望
  • 参考文献
  • 致谢
  • 作者攻读学位期间发表的学术论文目录
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    面向嵌入式C的软件缺陷检测技术的研究与实现
    下载Doc文档

    猜你喜欢