0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

龙智DevSecOps 2025-08-07 17:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文节选自Perforce《ISO 26262 功能安全实践指南》电子版;由Perforce中国授权合作伙伴——龙智翻译整理。

ISO 26262是一项适用于汽车行业的功能安全标准,源自IEC 61508,包含了对软件开发和设计的要求。第6部分的合规性表格涵盖了其中的大部分要求。

在本文中,您将了解到编码标准和静态代码分析工具(如Perforce QAC),如何帮助满足所有ASIL等级的ISO 26262要求。

导言

随着车辆中电子设备的日益普及以及系统复杂性的增加,ISO 26262变得至关重要。软件故障可能会危及车辆安全,因此绝不容许发生。

开发团队需要确保系统不会出现任何可能导致故障的情况,但全面的测试往往难以实现。因此,系统设计必须能够预防故障,或在故障发生时确保行为可控。

符合功能安全标准(如ISO 26262)正是汽车系统安全设计的关键所在。

ISO 26262概述

ISO 26262改编自IEC 61508(电子安全相关系统的功能安全标准),侧重于关注车辆系统在整个安全生命周期内的特定需求。

需要符合ISO 26262标准的系统包括:

• 驾驶辅助系统

• 动力与车辆动态控制系统

• 主动与被动安全系统

系统越复杂,发生故障的风险就越大,包括系统性的和随机的硬件故障。

如何通过ISO 26262降低风险

ISO 26262为开发者提供了降低风险的指导,包括以下要求和设计流程。

汽车安全完整性等级 (ASIL)

ISO 26262对风险和安全要求进行了分类,共分为四个汽车安全完整性等级(ASIL A–D)。ASIL A为最低级别,ASIL D为最高级别。

系统的ASIL等级(在功能层面)决定了开发团队需要采用何种方法。

这些要求在ISO 26262第6部分中有明确规定,包括:

• 软件开发的启动

• 软件架构设计

• 软件单元设计与实施

编码标准要求

建议使用编码标准(如MISRA)来满足ISO 26262要求。结合使用编码标准和静态代码分析工具(如Perforce QAC),可以帮助您符合ISO 26262第6部分的要求。

ISO 26262 第6部分合规性表格

ISO 26262第6部分包含定义实现标准合规性方法的表格。

以下将介绍如何通过Perforce QAC(原Helix QAC,一款用于C/C++的静态代码分析工具),来满足其中五个表格的要求。

推荐说明:

++ 强烈推荐用于指定ASIL等级

+ 推荐用于指定ASIL等级

o 对于指定ASIL等级,无明确推荐或反对

表1、建模与编码指南应涵盖的主题

表1包含了推荐用于所有ASIL等级的建模和编码指南。对于C或C++编写的软件,可以使用Perforce QAC来满足大部分的指南要求。

例如,强烈建议在所有ASIL等级中强制执行低代码复杂度。您可以通过使用Perforce QAC的Web控制面板,来监控代码复杂度随时间的变化趋势,以确保代码库在增长过程中不会变得过于复杂。

wKgZO2iUcnOAClMyAAQcU-jwxaU918.png

表3、软件架构设计原则

表3涵盖了推荐用于所有ASIL等级的架构设计原则。Perforce QAC可用于满足其中部分原则。

例如,强烈建议在所有ASIL等级下限制软件组件的大小。Perforce QAC可以测量并报告与代码规模相关的多种不同指标。

wKgZO2iUcnOAFYLDAAOjl6DygjQ043.png

表6、软件单元设计与实施的设计原则

表6涵盖了推荐用于所有ASIL等级的设计原则。Perforce QAC与MISRA合规性模块相结合,可用于遵守这些原则。

例如,强烈建议在子程序和函数中设置单一入口点和单一出口点(所有ASIL等级)。

使用Perforce QAC,您可以强制执行以下MISRA规则以遵守这一设计要求:

  • MISRA C:2004 规则 14.4:禁止使用goto语句。
  • MISRA C:2004 规则 14.7:函数在函数末尾设有单一出口点。

wKgZPGiUcnOAXnt2AAVKGzIV9a4510.png

表7、软件单元验证方法

表7涵盖了软件单元验证方法。Perforce QAC可用于执行其中的几种方法。

例如,除了基本的静态代码分析外,Perforce QAC还可以自动执行复杂的数据流分析,帮助开发者快速发现潜在错误,加速软件设计验证。

wKgZO2iUcqeAS45kAAOjK00P6k4048.png

表10、软件集成验证方法

表10规定了软件集成验证方法。与表7类似,Perforce QAC可用于执行其中的几种方法。

例如,Perforce QAC除了支持检查是否符合编码指南,还能提供复杂的数据流分析功能。

wKgZPGiUcqeAHbehAAIwTZsh1hY614.png

使用Perforce QAC轻松实现ISO 26262合规

Perforce QAC 可检查代码是否符合 MISRA 和 AUTOSAR 等编码规则,帮助满足ISO 26262中包含的所有ASIL等级(A-D)的合规要求。该工具还包含MISRA C/C++和AUTOSAR C++14的合规模块。

此外,Perforce QAC已通过 TÜV-SÜD 认证,可用于安全相关软件开发,涵盖所有ASIL等级(A-D)的ISO 26262合规性要求。通过使用Perforce QAC,您可以有效降低合规所需的时间和成本。

Perforce中国授权合作伙伴——龙智

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码分析
    +关注

    关注

    0

    文章

    13

    浏览量

    5936
  • ISO 26262
    +关注

    关注

    0

    文章

    13

    浏览量

    7447
  • 汽车软件
    +关注

    关注

    1

    文章

    151

    浏览量

    3658
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    拥有ISO26262认证的软件工具清单

    的项目中,外购高质量的软件工具是一定会提高工作效率。而且应用软件工具,在OEM客户端也是加
    发表于 02-07 16:15

    浅谈QAC/QAC++静态软件测试工具

    QAC/QAC++是英国编程研究公司(Programming Research Ltd)专业进行C和C++语言规则的检查工具,在十几年里,QAC/Q
    发表于 10-26 11:02 0次下载
    浅谈<b class='flag-5'>QAC</b>/<b class='flag-5'>QAC</b>++<b class='flag-5'>静态</b><b class='flag-5'>软件</b>测试<b class='flag-5'>工具</b>

    QAC/QAC++静态软件测试工具介绍

    QAC/QAC++是英国编程研究公司(Programming Research Ltd)专业进行C和C++语言规则的检查工具,在十几年里,QAC/Q
    发表于 11-30 16:32 2490次阅读

    开发人员使用Helix QAC实现静态代码测试性的五大原因

    30多年来,Helix QAC(以前称为PRQA)一直是值得信赖的静态分析工具,可满足严格监管和安全至上行业的严格
    的头像 发表于 11-14 09:59 1729次阅读
    开发人员使用Helix <b class='flag-5'>QAC</b>实现<b class='flag-5'>静态</b><b class='flag-5'>代码</b>测试<b class='flag-5'>合</b><b class='flag-5'>规</b>性的五大原因

    汽车行业软件代码满足功能安全与信息安全的最佳实践

    北汇首次联合嵌入式静态分析领域公认的行业领导及先驱Perforce公司,并邀请到其总监Jill Britton女士与大家一起讨论当前的
    的头像 发表于 11-23 20:05 1197次阅读
    <b class='flag-5'>汽车行业软件</b><b class='flag-5'>代码</b>满足功能安全与信息安全的最佳<b class='flag-5'>实践</b>

    Helix QAC软件静态测试工具

    Helix QACPerforce公司(原PRQA公司)产品,主要用于C/C++代码的自动化静态分析工作,可以提供编码规则以及信息安全相关
    的头像 发表于 01-10 17:35 1493次阅读
    Helix <b class='flag-5'>QAC</b>—<b class='flag-5'>软件</b><b class='flag-5'>静态</b>测试<b class='flag-5'>工具</b>

    Perforce静态分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改进和安全增强

    实现持续性现代软件开发实践要求开发团队具备适应性,在确保代码质量和可靠性的同时,优先考虑灵活
    的头像 发表于 10-08 16:22 1082次阅读
    <b class='flag-5'>Perforce</b><b class='flag-5'>静态</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>2024.2新增功能:Helix <b class='flag-5'>QAC</b>全新CI/CD集成支持、Klocwork<b class='flag-5'>分析</b>引擎改进和安全增强

    DevOps与功能安全:Perforce ALM通过ISO 26262认证,简化安全关键系统开发流程

    Perforce ALM(原Helix ALM)通过了国际权威认证机构 TÜV SÜD的ISO 26262功能安全流程认证!该认证涵盖Perforce ALM解决方案的所有领域,包括需
    的头像 发表于 04-11 14:11 549次阅读
    DevOps与功能安全:<b class='flag-5'>Perforce</b> ALM通过<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b><b class='flag-5'>合</b><b class='flag-5'>规</b>认证,简化安全关键系统开发流程

    代码静态测试工具Perforce QAC 2025.1新特性

    Perforce QAC 2025.1实现了对新发布的MISRA C:2025®标准的100%覆盖,并提供了对应的新规模块。该版本还扩展了对CERT C Level 1建议的覆盖范围,改进了与持续
    的头像 发表于 04-21 15:14 919次阅读
    <b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试<b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.1新特性

    Perforce QAC产品简介:面向C/C++的静态代码分析工具(已通过SO 26262认证)

    Perforce QAC专为C/C++开发者打造,支持多种编码规范、功能安全标准(ISO 26262)等,广泛用于汽车、医疗、嵌入式开发领域
    的头像 发表于 07-10 15:57 823次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>产品简介:面向C/C++的<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>(已通过SO <b class='flag-5'>26262</b>认证)

    汽车软件开发必看Perforce工具链助力高效开发与功能安全的最佳实践

    无论是主机厂还是供应商,ISO 26262都是绕不开的课题。冗长的流程、复杂的标准是否让您的团队疲于应对?
    的头像 发表于 08-01 10:49 836次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件</b>开发<b class='flag-5'>必看</b>:<b class='flag-5'>Perforce</b><b class='flag-5'>工具</b>链助力高效开发与功能安全的最佳<b class='flag-5'>实践</b>

    汽车电子开发必备:基于Perforce ALM的ISO 26262认证指南

    功能安全无小事,必须零误差!了解加速ISO 26262的7个步骤,以及如何借助
    的头像 发表于 08-01 10:56 1049次阅读
    <b class='flag-5'>汽车</b>电子开发必备:基于<b class='flag-5'>Perforce</b> ALM的<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b><b class='flag-5'>合</b><b class='flag-5'>规</b>认证指南

    汽车电子开发必看:基于Perforce P4实现ISO 26262认证的版本管理解决方案

    目前全球唯一通过ISO 26262认证的版本控制系统Perforce P4!从代码管理到审计追溯,保障研发的每一步都经得起严苛审核。龙智正在为更多车企和零部件厂商提供
    的头像 发表于 09-09 14:38 2037次阅读
    <b class='flag-5'>汽车</b>电子开发<b class='flag-5'>必看</b>:基于<b class='flag-5'>Perforce</b> P4实现<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b><b class='flag-5'>合</b><b class='flag-5'>规</b>认证的版本管理解决方案

    C/C++代码静态测试工具Perforce QAC 2025.3的新特性

    Perforce QAC 2025.3 通过更新结果存储处理提供了性能改进,可以显著减少总分析时间,具体取决于项目结构和分析所使用的硬件设备。此版本还增强了对 QNX 8.0 编译器的
    的头像 发表于 10-13 18:11 328次阅读
    C/C++<b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试<b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.3的新特性

    什么是CVE?如何通过SAST/静态分析工具Perforce QAC 和 Klocwork应对CVE?

    本文将为您详解什么是CVE、CVE标识符的作用,厘清CVE与CWE、CVSS的区别,介绍CVE清单内容,并说明如何借助合适的静态分析工具(如Perforce
    的头像 发表于 10-31 14:24 276次阅读
    什么是CVE?如何通过SAST/<b class='flag-5'>静态</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 和 Klocwork应对CVE?