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