● 摘要
在众多软件测试方法中,代码检查是发现软件缺陷最有效的方法之一。代码检查通常是采取人工阅读代码方式来执行,检查代码和设计的一致性、代码逻辑和结构的合理性等方面是否存在缺陷。虽然,代码检查对于保证软件质量非常重要,但代码检查的效果会因为诸如代码检查人员的知识和经验的积累、实施团队的稳定等因素的影响而大打折扣。本文所研究和实现的代码检查辅助系统,就是要帮助提高代码检查的效率和保证代码检查的质量稳定。本文主要研究:如何对代码进行深入到语句级别的静态分析,以及静态分析结果的组织与表示;分析问题报告历史数据,从中发现缺陷代码模式,进而从缺陷代码模式中抽象出潜在的编码规则的方法;如何建立自定义检查规则的方法;并探讨如何将静态分析结果、自定义规则、问题报告历史数据相结合; 设计一个基于DOM的模式匹配计算的代码检查方案,并将这一方案在本课题中加以实现。本文首先简要地介绍了国内外在相关领域的研究情况,以及在实际工程项目中传统代码检查的实施过程。然后,介绍了一些与代码检查相关的基本概念和代码检查过程。接着通过对实际项目的分析,研究了基于历史数据的代码检查所涉及的理论和实施方案。根据所提出的方案,本文结合QESat和QESuite的相关功能,设计实现了一个辅助C++代码检查的原型工具。本文详细地介绍了该工具的系统功能、体系结构和设计实现。并对系统的核心模块:代码分析模块、规则管理模块、代码管理模块、代码检查执行和结果处理模块实现进行了详细说明。最后,在本文中对本工具和其它系统进行了一些横向比较,并对本工具特点做了简要的归纳。