首页 > 其他分享 >QAC检证

QAC检证

时间:2024-06-08 14:29:28浏览次数:6  
标签:检证 检查 C++ MISRA QAC 规则 指针

QAC(特别是Helix QAC)提供的检证规则非常丰富且广泛,覆盖了从基础的代码规范到高级的安全性检查等多个方面。以下是QAC支持的一些关键规则类别和示例:

1. 编码标准合规性:
   - MISRA C: 包括MISRA C:2004、MISRA C:2012等,关注安全性、可靠性和可维护性的编程准则。
   - MISRA C++: 如MISRA C++:2008,专为C++代码设计的类似规则集。
   - AUTOSAR C++14: 适用于汽车软件开发的标准。
   - CERT C/C++: 关注软件安全的编码实践。
   - CWE (Common Weakness Enumeration): 识别常见的软件弱点。

2. 安全性规则:
   - 缓冲区溢出预防:检查数组访问、字符串操作等,防止潜在的溢出。
   - 指针和内存管理:检测未初始化指针使用、野指针、内存泄漏等。
   - 数值计算安全:避免整数溢出、浮点运算误差等。

3. 类型安全规则:
   - 类型转换:检查不安全的类型转换,如隐式类型提升。
   - 表达式类型匹配:确保操作数类型正确匹配。

4. 控制流和逻辑错误:
   - 死代码检测:找出永远不会执行到的代码段。
   - 未定义行为:识别可能导致程序行为未定义的操作。
   - 空指针解引用:防止对NULL指针的解引用。

5. 资源管理:
   - 文件和资源处理:检查文件句柄、锁等资源是否被正确打开和关闭。
   - 内存分配与释放:确保动态分配的内存被适当释放。

6. 可维护性和代码质量:
   - 代码复杂度:衡量循环嵌套、函数长度等,以降低维护难度。
   - 命名规范:确保变量、函数名遵循一致的命名规则。
   - 注释和文档:检查文档的完整性。

7. 特定行业和功能安全标准:
   - ISO 26262: 支持汽车电子功能安全标准的合规性检查。
   - IEC 61508: 适用于广泛工业领域的功能安全标准。

QAC还允许用户自定义规则或选择特定的规则集来适应项目或组织的具体需求,通过配置可以细化检查的严格程度,以及是否包含或排除某些特定规则。由于规则数量众多且具体规则内容较为复杂,推荐直接参考Helix QAC的官方文档获取完整的规则列表和详细说明;参考链接High Integrity CPP Coding Standard | Perforce

标签:检证,检查,C++,MISRA,QAC,规则,指针
From: https://blog.csdn.net/qq_52110758/article/details/139512174

相关文章

  • 代码静态测试工具Helix QAC 2023.4新发布
    喜欢本篇文章速速点赞评论⭐收藏 HelixQAC2023.4为新的MISRAC++:2023指南推出了100%MISRAC++:2023®规则覆盖率。此版本还包括扩展的C++20语言支持、数据流分析的性能改进以及整个产品中的许多产品体验增强功能。 Jumpto你喜欢的部分 增强对C++20的支持......
  • Helix QAC—软件静态测试工具
    产品概述    HelixQAC是Perforce公司(原PRQA公司)产品,主要用于C/C++代码的自动化静态分析工作,可以提供编码规则以及信息安全相关检查、代码质量度量、软件结构分析、测试结果管理等功能。HelixQAC能够准确地发现软件中潜在的问题,自身符合ISO26262功能安全标准认证。适用于......
  • Helix QAC 2023.4 新版支持C++20语言,带来更多性能提升!
    HelixQAC2023.4新增功能HelixQAC2023.4全面支持MISRAC++:2023®规则,涵盖100%的指南。此版本还加强了对C++20语言的支持,改进了数据流分析性能,并在整个产品中增加了多项用户体验改进。增强的C++20支持此版本新增了对以下语言特性的支持:-模板参数列表和函数声明的requires-clau......
  • Helix QAC 2023.4 新版支持C++20语言,带来更多性能提升!
    HelixQAC2023.4新增功能HelixQAC2023.4全面支持MISRAC++:2023®规则,涵盖100%的指南。此版本还加强了对C++20语言的支持,改进了数据流分析性能,并在整个产品中增加了多项用户体验改进。增强的C++20支持此版本新增了对以下语言特性的支持:-模板参数列表和函数声明的require......
  • QToolBar右侧添加QAction
    使用QToolBar的addWidget,添加一个可伸缩的空QWidget//Action放右侧:使用QToolBar的addWidget,添加一个可伸缩的空QWidget。QWidget*spacer=newQWidget;spacer->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);ui->toolBar->addWidget(spacer);//之后的QActi......
  • ../include/randseqaccess.hh:21:29: fatal error: mysql++/mysql++.h: No such file
     001、make编译报错:../include/randseqaccess.hh:21:29:fatalerror:mysql++/mysql++.h:Nosuchfileordirectory 002、解决方法:。 ......
  • 静态代码分析工具Helix QAC 2023.3:将100%覆盖MISRA C++2023规则
    静态代码分析工具HelixQAC2023.3:将100%覆盖MISRAC++:2023®规则 HelixQAC2023.3预计将于2023年第四季度发布的新MISRAC++®指南,将100%覆盖MISRAC++:2023®规则。 此外,此版本扩展了对C++20语言支持,并改进了PerforceValidate平台和HelixQAC与Validate的集成,包括其他......
  • 静态代码测试工具HelixQAC新版对MISRA C规则提供100%覆盖率
    HelixQAC 2023.2中的新增功能HelixQAC2023.2对MISRAC:2012和MISRAC:2023规则提供了100%的覆盖率,并更新了相应的合规性模块以适用于MISRAC:2023。此外,此版本还包括改进的C23语言支持、对Validate平台的改进和HelixQAC和Validate的集成,以及其他质量增强功能。......
  • 【VS Code 与 Qt6】QAction 类的一些事
    QAction类表示用户命令的一种抽象,包括命令文本、图标、命令触发后要执行的代码。菜单、工具栏按钮往往存在相同的功能,将这些命令独立抽出来,放到QAction以象上,可避免编写重复的代码。比如“文件”菜单下有“保存”命令,工具栏上也会有“保存”按钮。因此,创建一个表示“保存”的Q......
  • pyqt5-QAction
    1、介绍动作。这是QMenu添加的项,或者QMenuBar组件直接添加。2、类和初始化classQAction(__PyQt5_QtCore.QObject):"""QAction(parent:QObject=None)QAction(str,parent:QObject=None)QAction(QIcon,str,parent:QObject=None)"""......