tag 标签: Helix QAC

相关帖子
相关博文
  • 2025-5-27 14:21
    211 次阅读|
    0 个评论
    在智能汽车与软件定义汽车(SDV)快速发展的今天,软件质量与开发效率已成为决定企业竞争力的核心要素。北汇信息2020年发布的《进击----Helix QAC自动化静态测试》一文,恰逢其时地揭示了其测试工具链的最新进化路径。结合技术进化论视角,本文将从CI工具链的多样化以及未来技术演变展望两个维度,重新审视这篇经典文章的启示与延展。 一、从单一工具到CI/CT工具链的生态化整合 原文章的核心场景聚焦于静态代码测试的自动化,但汽车电子开发的复杂性要求测试工具链覆盖模型、代码、动态验证的全生命周期。当前北汇信息的CI/CT工具链已从单一工具扩展到涵盖覆盖模型与代码、静态与动态的完整工具链。这种发展主要体现在如下两种技术进化维度上。 1. 北汇信息的CI/CT工具链的横向扩展 代码静态测试(Perforce QAC)提供深度代码缺陷检测与合规性验证能力,可以实现自动化代码质量门禁,配合增量分析与多核并行扫描技术大幅缩短反馈周期; 代码动态测试(VectorCAST)与QAC的静态分析互补,实现代码覆盖率分析、单元测试与集成测试,符合ASPICE和ISO 26262对动态测试的强制要求; 模型静态测试(MXAM)支持基于模型的规范检查,与QAC形成“模型-代码”双轨合规性验证,确保MBD(基于模型开发)流程的完整性; 模型动态测试(TPT)支持基于Simulink模型的自动化测试、AUTOSAR架构的自动化测试,以及自动化背靠背测试,确保模型和代码一致性; 注:上述工具集成方案及效果详见《CI/CD方案:推动智能汽车开发的高效利器》 HiL测试工具(如CANoe VT)借助北汇信息自主开发的PAVELINK TestCenter和TestAgent,可以轻松实现HiL的自动化测试,详见《OTA自动化测试解决方案》。 2.测试工具纵向深化 以静态测试工具为例,原文章中,对Perforce QAC的集成主要集中在静态分析功能的实现上,但随着越来越多项目的实施落地,收集到了很多一手客户需求反馈,我们也对QAC的自动化做出来更多的定制化开发工作,如: 基于Jenkins内部库开发的QAC规则阈值门禁,可以实现指定QAC规则集的阈值门禁; 基于Jenkins的邮件通知模板,可以实现对QAC分析结果汇总,并及时反馈给开发和测试人员; 指定源文件或文件夹的QAC分析,可以实现在不改变编译脚本的前提下,在QAC同步过程中只添加指定的源码进行分析; 开发了基于Docker的QAC测试环境自动构建及分析脚本。 结合需求管理工具(如Polarion),实现从需求到测试用例、代码变更、缺陷报告的全程追溯,确保CI流程符合ASPICE高阶要求。 同时,Perforce QAC原厂商,基于敏捷开发中存在的痛点 ,在新版本中引入了: 增量分析功能,可以实现在CI流水线中,无缝对接Git等版本控制系统,触发增量分析,确保每次提交快速反馈合规性问题,避免缺陷累积; CI Build组件,支持在基于云的CI流水线中运行分析作业、容器化构建任务,以及通过内置 Web API 集成到各种 CI/CD 平台中。 这样的技术进化同样也可以在别的测试工具中看到,比如: TPT提供的Jenkins插件持续更新,工具API接口不断完善,在Linux环境中新增AUTOSAR Platform以及Silver Platform的支持; VectorCAST提供通过命令行导入tst文本类型测试用例,并支持增量分析功能,且其Jenkins插件提供的功能丰富多样。 二、未来CI技术演变展望 随着汽车电子电气架构向集中式演进和软件复杂度的指数级增长,传统依赖硬件在环(HiL)的测试模式因成本高、周期长,难以满足快速迭代需求。持续集成(CI)技术正在突破传统边界,向虚拟化、智能化和全栈协同方向深度发展。从Vector推出SiL Kit开源工具到CANoe4SW的云端测试能力,再到Synopsys等厂商推出的虚拟化验证方案,以SiL(软件在环)和虚拟ECU(vECU)为核心的虚拟化测试技术正加速渗透到CI流程中。 • Vector的SiL Kit开源工具通过标准化通信接口,实现了异构工具链的互联互通,为分布式SiL测试提供了轻量化解决方案,未来可能成为虚拟化测试的“中间件”标准。 • Synopsys推出的Silver - Virtual ECU方案通过高精度仿真模型替代物理ECU,支持早期软件验证与自动化测试,未来将与CI系统深度集成,实现“代码提交-虚拟化验证”的分钟级闭环。 • Canoe4SW等工具将HiL能力迁移到纯软件环境,结合云原生架构,可实现测试资源的弹性调度,进一步降低CI环境维护成本 这种演进本质上是对"左移测试"理念的终极实践——当虚拟化技术使每个开发人员都能在本地获得整车级验证环境,当模型分析取代80%的代码级缺陷检查,汽车软件开发将真正实现"编写即正确"的理想状态。而工具供应商的角色,也将从单点解决方案提供者转变为质量生态的架构师。 三、结语 从静态测试工具到CI/CT生态的进化,不仅是技术功能的叠加,更是软件工程方法论的范式跃迁。未来汽车行业的CI技术将不再是简单的“工具链拼接”,而是以虚拟化测试为底座、场景化为导向、标准化为纽带的生态系统,而以PiL/HiL为核心的持续测试(CT)是这一生态的底层支柱。这一进化不仅需要工具供应商的开放协作,更需要主机厂与Tier1重构研发流程,将CI/CT从“辅助环节”升级为“核心生产力”。北汇信息的实践表明,在软件定义汽车时代,质量保障必须与开发流程、工具链、行业标准深度融合,形成“工具-方法-服务”的三位一体体系。
  • 热度 10
    2023-11-9 11:42
    684 次阅读|
    0 个评论
    Helix QAC 2023.3 预计将于 2023 年第四季度发布的新 MISRA C++® 指南 , 将 1 00% 覆盖 MISRA C++ : 2023® 规则 。 此外,此版本扩展 了对 C++20 语言支持,并改进了 Perforce Validate 平台和 Helix QAC 与 Validate 的集成,包括其他生活质量和性能增强 。 编码标准覆盖范围( MISRA C++ : 2023 , MISRA C : 2023® ) M ISRA C++ : 2023® Helix QAC 2023.3 预计 对 MISRA C++ : 2023 指南的执行覆盖率为 100% ,预计将于 2023 年第四季度发布 。 新的 M2CPP 合规模块将执行 MISRA C++ : 2023 ,与 Helix QAC 2023.3 一起使用,将在新标准发布时提供 。 M ISRA C : 2023® Helix QAC 为 MISRA C:2023 提供 100% 的 执行 覆盖范围,将 MISRA C:2012 与所有四个修正案和两个技术勘误合并为一个单一的综合版本 。 M3CM 合规模块改进了 R ule 8.3 的执行 。 C++20 语言支持 此版本添加了对语言功能 的 支持 : requires-expressions — 与 C++20 概念一起引入,可用于确定结构的有效性而不会导致编译器错误 。 P erforce Validate 持续安全和代码合规平台为嵌入式和任务关键型应用程序提供功能安全性、 信息 安全性、可靠性和质量保证 。 Validate 平台为整个组织的代码库提供了一个集中的分析数据、趋势和配置存储,为所有 Perforce 静态分析产品提供 单一管理平台 。 2023.3 提供 : 支持使用多个 合规模块 的项目 -- 当项目强制执行额外的编码标准、规则或漏洞类型时,可以改进分析结果 。 Validate 、 Reports 、 Plugins 和 GUI 还包括更改, 以反映对项目中多个合规性模块的新支持。 产品体验改善 安装 为 Helix QAC 和 合规 模块提供了 Zip/tar 档案,这些模块可作为安装程序的替代品,提供了进一步的产品部署、维护和升级灵活性 。 Auto CCT Generator 添加了对使用同步类型时自动生成 CCT 的支持: INJECT 、 MONITOR 和 MSVS 。 解决了几个现有受支持编译器的问题 。 数据流 改进了数据流处理,在内存或交换存储有限的机器上使用更少的内存并提高稳定性 。 G UI 改进了使用 GUI 时对 4K 显示器的支持 插件 VS Code 在文件保存时运行分 析 通过远程运行 QAC 访问帮助的增强功能 * * 注意:需要 d iaglist license Visual Studio 改进以与 GUI 元素保持一致,以便继续与 V alidate 集成 E clipse 改进了协调 GUI 元素以继续与 Validate 集 成 操作系统 支持 Windows 11
  • 热度 9
    2023-3-3 11:22
    1428 次阅读|
    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) 标准,帮助客户用更少的时间完成产品认证。 客户列表(部分)
  • 热度 10
    2022-6-5 22:04
    1431 次阅读|
    0 个评论
    版本重磅更新: Helix QAC 2021.3 新增了现代汽车集团的新合规模块,这是Helix QAC首次将定制化开发转变为可公开的定制模块,为与各大OEM厂商的合作突破新世界大门,格局打开了!下面我们速速展开新版本Helix QAC2021.3的详细解读。 Helix QAC 2021.3引入了对Visual Studio Code的支持,现代汽车集团的新合规模块,以及改进的数据流分析功能,并增加了C++20种语言支持。 此外,该版本还包括对重要的汽车和安全编码标准的准确性和覆盖率的改进,简化的构建过程监控,以及提供更好的可用性、安全性和项目设置/管理选项的总体质量改进。 VisualStudio Code IDE Plugin 使用我们新的 Visual Studio Code 桌面分析插件,在代码签入之前快速轻松地检测和修复问题。 这个新的IDE扩展支持Visual Studio Code for C/C++中Helix QAC的桌面分析: 》分析代码、查看和筛选结果 》英语和日语本地化 》支持多宿主和禁止显示的消息 》诊断消息帮助 》 日志记录和输出消息 编码标准覆盖范围(AUTOSAR、MISRA、CERT、CWE、HKMC) ▲ 改进的合规模块覆盖范围 AUTOSAR覆盖率已提高到94%,使合规更容易,以及Helix QAC闻名于世的行业领先的精度和准确度。 ▲ 改进的 MISRA C:2012 覆盖范围 MISRA C:2012深度和精度得到了改进。 ▲ 提高证书覆盖率 CERT C/C++覆盖范围已得到改进,以提高深度和准确性。 ▲ 提高 CWE 覆盖率 CWE的覆盖范围已经扩展到包括与加密和变量使用规则冲突相关的新消息。 ▲ 全新 HKMC 合规模块,适用于 C/C++ 使用Helix QAC为现代汽车集团及其供应商提供的新型合规模块,执行汽车嵌入式系统安全C / C++编码指南。 ▲ 数据流改进 》对数组中的单个元素进行建模可提供更强大的分析功能,从而以更高的准确性查找数据流/路径缺陷。 》通过额外扩展了指针算术表达式的结果,改进了对指针取消引用缺陷的检测。 ▲ 升级的 C++20 语言支持 此版本增加了对以下C++20 语言功能的支持: 》可变参数宏中的__VA_OPT__省略运算符 改进的生成过程监视 使用"qainject"自动生成CCT简化了构建理解和编译器设置。 此新功能为以下常见编译器提供了用户友好的项目和编译器设置。 》GNU C/C++ 》Clang 》MS Visual Studio 》Microchip MPLAB pic24 》xc32 》xc16 》Hightec Tricore 》 QNX 整体质量提升 ▲ Dashboard 》本地化改进 》新的 LDAP 配置和身份验证选项 》改进的 SSL 证书支持 ▲ QACGUI 》更改 GUI 中的默认视图设置 》头文件更改时自动分析 ▲ Framework 》项目根目录现在支持增量分析 》基于可用资源的动态分析线程 ▲ QACLI 》CI/Docker 安装,无需 GUI/Doc 》 日语翻译和路径修复 Helix QAC2021.3 的重要变化 Helix QAC 2021.3 已升级到使用Python 3,并删除了已达到生命周期结束的Python 2。 》需要用户操作来升级现有项目。要升级您的项目,请运行"qacliadmin --upgrade"。有关详细信息,请参阅产品文档。 》请注意,此升级过程也适用于创建新项目但重用使用以前版本的 QAC 创建的 CCT 的情况。 》如果使用Helix QAC 2021.3包中包含的CCT创建新项目,则它们已经过转换和测试,可以在Python 3下工作。 终止支持 以下 Visual Studio 项目已从安装包中删除。 》Visual Studio 2010 、2012 和 2013 Log4j 漏洞对Helix QAC的影响 Helix QAC 不受近期 Log4j 漏洞 Log4Shell (CVE-2021-4428) 的影响,因为Java 仅在 Helix QAC Eclipse Plugin 中使用,因此 Helix QAC 和 Helix QAC 工具不受此漏洞影响。然而,由于 Log4j被旧版 PRQA Framework / Helix QAC 中的 Checkmarx 组件使用了,但是Checkmarx 组件仅用于 QA Java 分析,现在这个组件已被弃用了。因此我们不认为我们的用例容易受到攻击,因为任何漏洞都需要由已经有权运行 Java 程序的本地用户执行。但是,作为额外的预防措施,您可以删除 Checkmarx组件。这不会影响 C 或 C++ 分析。 Perforce 公司简介 Perforce(PRQA)公司是AUTOSAR组织在代码静态分析领域的唯一会员,负责功能安全软件架构的相关标准制定工作,参与编写了C++14编码指南,制定了AUTOSAR测试方案,并应用其开发的静态测试工具Helix QAC在AUTOSAR Adaptive Platform演示代码上执行代码静态测试。 Helix QAC作为代码静态分析领域的先驱,不仅仅提供针对AUTOSAR C++的诊断,还支持MISRA C/C++、HICPP、JSF AV C++、CERT、CWE编码规范包,其精准的诊断消息和强大的软件生命周期管理平台为全球3000多个整车厂和零部件供应商所信赖。