● 摘要
软件质量是软件存在的根本,缺乏质量的软件直接影响用户的使用,进而降低企业的效率,甚至给企业带来毁灭性的打击。而软件代码的质量直接关系到软件功能的可实现性、运行的可靠性、系统的健壮性,以及代码的可维护性等诸多方面。从代码质量的角度讲,程序代码不仅要确保语法和语义的正确性,同时还需保证其在数据访问,对标准的遵循,以及编程风格等方面的规范性,对于面向对象程序语言编写的代码,还需保证类设计和接口定义的合理性。因此,对代码进行静态分析,保证代码的质量,是提高软件质量和开发效率的重要保证,采用静态分析是检测代码质量重要手段之一。本文分析了传统代码静态分析技术的特点及不足,对国内外的研究现状进行了调研并对目前的代码静态分析工具进行了研究和总结,发现了目前研究中的静态分析工具功能并不完善,不能很好的支持C++代码的分析检测。与此同时,本文参考经典文献,并采用了其中一组度量定义,为软件代码度量的研究和改进提供了支持。本文基于抽象语法树的遍历对C++代码进行静态分析。本文通过Eclipse平台的CDT插件获取C++代码对应的抽象语法树,掌握了该语法树语法信息的组织方式和使用方法,并对语法信息进行重组,使它能够有效应用于静态信息的提取和代码检测,同时对语法树访问者的结构进行改造,提高了语法树遍历的效率。基于Eclipse平台,本文自主研发了一个C++自动化静态分析工具CSA。本文对CSA的总体设计和具体实现作了详细介绍,并对CSA在QESAT工具集中的作用及其与其他工具的通信进行了相关阐述。实验表明,CSA运行健壮,完整的输出了C++代码中各结构的信息及其之间的关系。它的缺陷检测功能更是完善了对C++代码分析的支持,能够进一步保障软件代码的质量。
相关内容
相关标签