论文摘要
本文介绍了作者在面向嵌入式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 展望参考文献致谢作者攻读学位期间发表的学术论文目录
相关论文文献
标签:软件测试论文; 静态分析论文; 缺陷检测论文; 缺陷模式状态机论文; 嵌入式测试论文;