tag 标签: 代码分析

相关博文
  • 热度 9
    2023-8-1 11:10
    666 次阅读|
    0 个评论
    Helix QAC 2023.2 提供 100% 的 MISRA C:2012 和 MISRA C:2023 规则覆盖率,并更新相应的合规性模块以支持 MISRA C:2023。 此外,此版本还包括改进的 C23 语言支持、对Validate平台的改进以及 Helix QAC 和 Validate 的集成,以及其他功能改进。 编码标准覆盖范围(MISRA C:2012、MISRA C:2023 和 CWE) MISRA C:2012, 2023 Helix QAC为MISRA C:2012 AMD 4和MISRA C:2023提供100%的覆盖,将指南先前的revisions、amendments和技术勘误合并为一个单一、全面的版本。MISRA C:2023最近于今年出版。 • M3CM合规模块已更新,以参考MISRA C:2023。 CWE CWE C 和 C++ 合规性模块与最新版本的 CWE 4.11 保持一致。 Perforce Validate 持续的安全和代码合规性平台为嵌入式和任务关键型应用程序提供功能安全性、安全性、可靠性和质量保证。 Validate平台为整个组织的代码库提供分析数据、趋势和配置的集中存储,为所有 Perforce 静态分析产品提供单一管理平台。 2023.2 提供: • 支持Validate中的 Helix QAC 指标。 • 更新了Helix QAC Visual Studio插件,支持与Validate集成。 • 完全支持Validate中的 Helix QAC 自定义消息。 C23 / C++23 语言支持 此版本增加了对以下各项的语言功能支持: • C23 数字分隔符 • C23 / C++23 #elifdef,#enlifndef和#warning指令 产品体验改善 命令行界面 • 允许启用/禁用诊断消息和抑制的同步 • 输出规则组名称和规则ID的新格式说明符%M 图形用户界面 • 允许自定义 RCF 名称和版本 • 允许启用/禁用诊断消息和抑制的同步 HIS指标 • 此版本具有 Helix QAC 增强功能,可直接生成复合 HIS 指标(以前在报告脚本中计算)。 Helix QAC 2023.2 的重要变化 许可证管理更改 RLM v15 服务器的新安装程序与 Helix QAC 2023.2 版本一起提供。 如果将 Helix QAC 与Validate 2023.2 一起使用,则此服务器版本是必需的,否则是可选的。 MISRA C++ 2023 — 新合规模块的早期版本可供预览 MISRA联盟预计将在今年晚些时候发布MISRA C++ 2023编码指南。新标准发布后,将引入新的合规模块以实施执行。在 2023.2 中,合规性模块的早期版本可根据请求提供预览,该模块迄今为止已完成对规则的98% 覆盖。请联系北汇信息以了解更多信息。
  • 热度 6
    2023-3-3 11:22
    1167 次阅读|
    0 个评论
    随着现代车辆的智能化发展( ADAS, Telematics, Infotainment, Cloud Services ),车载代码量呈 指数级 增长,代码静态分析的自动化势在必行,且人们对功能安全的要求日益严格,符合行业编码规范是对车载代码的基础要求。 美国 Perforce ( PRQA )公司是嵌入式静态分析领域公认的行业领导及先驱,拥有 30 多年软件开发及测试经验,是 MISRA 编码委员会创始会员及最具影响力的会员,同时是 AUTOSAR 组织在代码静态分析领域的唯一会员,负责功能安全软件架构的相关标准制定工作,参与编写了 C++14 编码指南,制定了 AUTOSAR 测试方案。 Perforce 的 Helix QAC 作为业内为人熟知的自动代码静态分析工具,可以支持 MISRA C/C++ 、 AUTOSAR C++ 、 CERT C/C++ 、 CWE C/C++ 、 HICPP 、 JSF AV C++ 编码规范包,其精准的诊断消息和强大的软件生命周期管理平台为全球 3000 多个整车厂和零部件供应商所信赖。 北汇信息 作为 Perforce 的合作伙伴,将为中国客户提供专业的静态代码测试解决方案。 Helix QAC 特性 Helix QAC 是静态分析领域公认的行业先驱,旨在帮助开发和测试人员在 Coding 阶段实现高效的自动化静态测试,发现代码潜在缺陷,衡量代码质量,缩减开发时间,降低开发成本。 Helix QAC 包含 3 部分主体: Helix QAC/ C++ 静态 分析器 可以兼容数百万行代码,高速执行静态分析; 编码规范包 可选组件,配合静态分析 器实现 代码的合 规 性测试; 项目管理平台 Helix QAC Dashboard 全生命周期软件开发管理。 代码静态分析 Helix QAC 借助特有的深度数据流分析引擎,模拟代码运行时机制,检测 C/C++ 语言中会降低代码复用性、导致功能安全问题、产生网络安全漏洞的危险代码结构,最大限度提高 代码检测覆盖率,最小化漏报误报率。 Helix QAC 目前提供多达 4107 条诊断消息,其中针对 C 语言 2156 条, C++1951 条,这意味着对编码规范更全面更精准的覆盖,因为 每一条诊断消息都对应具体的编码规则 , 可以 有效诊断指针操作、类型转换、溢出 / 零除、未定义行为、数据流等等问题,并提供在线 help ,开发工程师可以根据 help 实时修改源码。 度量元 指标 度量 元 是对源代码某些可量化属性的度量,每个 度量元 都 从不同角度反映代码质量 ,比如复杂性、可读性、残留的 bug 或可测试性 等 。 Helix QAC 提供基于函数以及文件的 度量元 118 个,其中针对 C 语言 65 个, C++53 个,为 企业制定 度量元 标准 、 控制 度量元 数值 、 掌控代码质量提供强有力的依据。 Helix QAC 支持的编码规范 Helix QAC 可以自动遵循以下编码规范,并对诊断消息划分严重等级,帮助用户最先解决严重问题,使其软件符合 ISO 26262 要求。 1 ) MISRA C 2004 、 MISRA C 2012 、 MISRA C++ 2008 :嵌入式系统最理想的编码规范, 防止会导致 功能 安全问题 及网络 安全漏洞的错误编码。 2 ) AUTOSAR C++ 14 : 为应用现代 C++ 语言编写安全和任务关键型嵌入式系统提供有效指导。 3 ) CERT C/ C++ : 旨在清除代码中可能导致网络安全的编码惯例以及未定义行为。 4 ) CWE C / C++ : 从架构、设计、乃至编码层面描述代码中常见的网络安全问题 , 可以作为识别、减少、预防漏洞的基线。 Helix QAC 基于 对 以上编码规范 良好的执行力和覆盖度 ,帮助全球 各大整车厂 、零部件供应商及其他行业如航空、军工、医疗等领域的企业提高代码质量,实现对编码规范及相关行业标准的最佳实践。 Helix QAC Dashboard Helix QAC Dashboard 是 基于网页端 的项目质量管理平台,可实现异地团队项目信息共享, 核心开发人员 、开发经理、高级管理人员可以在此平台查看源码诊断消息、进行基线 / 版本管理、添加修改注释、热力 图快速 定位问题源码、关注代码质量走势、设置项目权限、查看代码合 规 情况、定制报告等等, 给客户呈现一种更广义的质量管理概念。 集成环境 IDE 集成环境: Microsoft Visual Studio 、 E clipse CI 环境: Jenkins 、 Jira 等通过命令行实现交互 支持的操作系统 Windows Linux 多样化的本地报告 合 规 报告: 给出代码对编码规范的遵循情况,直观定位问题代码 。 代码 审查 报告 : 总结基于文件和函数的 度量 元数据 、 函数 调用 等 信息 。 M etri cs 数据报告 : 提供 XML 文件, 可 用作进一步检查 代码 质量度量 的 数据 源 。 抑制报告 : 提供分析 工程 期间 诊断消息的 抑制 情况 。 资质认证 Helix QAC 得到 SGS-TÜV S AAR 认证, 可用于安全相关软件的开发,符合 IEC 61508 ( SIL 4 ) , ISO 26262 (ASIL D) , EN 50128 (SW-SIL4) , IEC 60880 以及 IEC 62304 (Software Safety Class C) 标准,帮助客户用更少的时间完成产品认证。 客户列表(部分)
  • 热度 11
    2023-2-7 09:49
    1017 次阅读|
    0 个评论
    Helix QAC 2022.4 中的新增功能 Helix QAC 2022.4 为 MISRA C:2012 AMD3 提供了 100% 的规则覆盖,数据流被拆分为一个新的组件,提供了改进的分析性能,并升级了对 C++20 和 C23 的语言支持。 此外,此版本还包括改进的编译器支持以及各种 Helix QAC 组件的总体使用质量改进。 数据流组件 在 2022.4 中,数据流已从 QAC/QAC++ 引擎分离到自己的组件中。此更改提供: 1. 改进了大型项目的数据流分析性能。 2. 编译单元间分析 (Inter-TU) 在数据流中内化,不再需要两次分析传递。 3. 头文件中定义的函数每个项目分析一次。 4. 数据流诊断是针对 “ 数据流 ” 组件而不是 “qac” 或 “qacpp” 报告的。 5. 数据流是分析工具链中的一个单独组件,具有自己的配置选项。 编码标准覆盖范围( MISRA C : 2012 AMD3 , TS 17961 C 安全) 新的 MISRA C : 2012 修正案 3 合规模块,具有 100% 的规则覆盖率 1. 针对 C 编程语言强制实施汽车行业软件可靠性协会 ( MISRA ) 软件开发指南。这些指南旨在促进嵌入式系统环境中的代码功能安全性、信息安全性、可移植性和可靠性。 2. 与新的 C11/C18 功能相关的其他规则。 C++20 语言支持 此版本改进了与 C++20 语言功能用法的兼容性,包括在 C++20 模式下处理 GCC 头文件。 C23 语言支持 此版本增加了对以下各项的 C23 语言功能支持: 放宽对变量参数列表的要求。 改进的编译过程监控 此版本改进了使用 “qainject” 自动生成的 CCT ,这简化了编译理解和编译器设置;并且手册中提供了额外的指导,用于创建自定义过滤器,以基于支持的编译器(例如基于 GNU 的编译器)创建新编译器。 提高使用质量 CLI --添加了查看自基线以来的诊断功能( qacli 视图)。 --按抑制类型( qacliview --suppression-filter )进行过滤诊断。 --以多种格式输出 CMA 诊断: NONE, MULTIPLE, SINGLE ( qacli view --multi-homed-format )。 --使用户能够升级现有项目以与单独的数据流组件兼容( qacli admin --upgrade )。 GUI 数据流组件支持。 Dashboard 数据流组件支持。 Microsoft Visual Studio 2022 IDE 插件 支持使用 VS 2022 扩展安装多个 Helix QAC 。 Helix QAC 2022.4 的重要变化 预公告 CCT Generator 将于 2023 年报废 Helix QAC 2023.1 将不再支持传统的独立 CCT Generator 。 Helix QAC 2021.3 中引入的 “qainject” 工具将取代当前的 CCT Generator 。因此,使用旧版工具生成的 CCT 将被弃用且不再受支持。 从 QAC 软件包中删除不受支持的静态 CCT 随着使用 “qainject” 自动生成 CCT 的各种编译器的改进构建监控,到 2023.1 将删除以前包含在 Helix QAC 包中的大多数静态 CCT 。与使用静态默认 CCT 相比,自动生成的 CCT 有望提供更准确的分析结果。其目的是删除除 GNU gcc 、 Visual Studio 和通用编译器之外的所有 CCT 。