● 摘要
软件测试活动必须涵盖整个软件生存周期,目前武器装备软件方面的研究工作不能满足在装备软件全生存周期各个阶段开展软件测试以及软件可靠性工作的要求。为满足要求,迫切需要探索工程上有效的测试与验证、评估方法。作为检查和发现程序错误的一种有效手段,程序静态分析提供软件系统的相关信息,将为上述课题的研究打下重要的基础。现在所进行的程序静态分析有很大一部分集中在软件开发过程比较靠前的阶段,而且通常采用的测试策略也是先进行静态测试,后进行动态测试。随着对软件固有属性研究的持续深入,软件全生存周期都有可能应用到程序静态分析技术。同时现有的程序静态分析工具存在过于依赖人的能力等问题,需要开展程序静态分析技术的研究与相关的实现工作。本文以程序静态分析法方法与相应工具构建的研究作为基础,提出了一个基于缺陷模式知识库的程序静态分析模型,该模型作为工具原型的框架,应用了合适自动推理技术,基本满足了程序静态分析的需要,较为有效地帮助发现软件中存在的缺陷,同时还满足了软件缺陷模式知识库的管理需求。 同时,本文描述了静态分析工具原型的设计与验证过程,使用UML的各种框图来表现软件设计思想,使用了数据库流程图、E-R关系图来进行数据库结构设计并利用.NET进行编程,对明确软件设计思路以及提高工具原型的质量有良好的作用;最后选取了具有实际工程意义的源程序,注入部分符合软件缺陷模式特征的软件缺陷,通过分析能够检测出来这些软件缺陷,很好的完成了验证目标。