发布 cppcheck 2.7,C++ 和 C 语言的静态代码分析器

静态代码分析器 cppcheck 2.7 的新版本已发布,它允许您识别 C 和 C++ 语言代码中的各种类型的错误,包括使用非标准语法时的错误(嵌入式系统的典型错误)。 提供了一系列插件,通过它们可以将cppcheck与各种开发、持续集成和测试系统集成,并提供检查代码是否符合代码风格等功能。 要解析代码,您可以使用自己的解析器或 Clang 的外部解析器。 它还包括 donate-cpu.py 脚本,以提供本地资源来对 Debian 软件包进行协作代码审查工作。 该项目的源代码根据 GPLv3 许可证分发。

cppcheck 的开发重点是识别与未定义行为相关的问题以及从安全角度来看危险的设计的使用。 目标还在于最大限度地减少误报。 已识别的问题包括:指向不存在对象的指针、除以零、整数溢出、不正确的位移操作、不正确的转换、使用内存时的问题、STL 的不正确使用、空指针取消引用、实际访问后使用检查到缓冲区、缓冲区溢出、使用未初始化的变量。

与此同时,瑞典公司 Cppcheck Solutions AB 正在开发 Cppcheck Premium 的扩展版本,它提供无限循环存在的分析、改进的对未初始化变量的搜索以及高级缓冲区溢出分析。

在新版本中:

  • 添加了对容器视图的支持 - view 属性已添加到库标记中,表明该类是一个视图。 生命周期分析代码已更新为在搜索悬空容器时使用此属性;
  • 改进检查;
  • 累积的错误已得到纠正,分析仪的缺陷已被消除。

来源: opennet.ru

添加评论