研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

代码质量与安全 | 如何通过静态代码分析高效满足ISO 26262合规标准?

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

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

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

如何通过静态代码分析高效满足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控制面板,来监控代码复杂度随时间的变化趋势,以确保代码库在增长过程中不会变得过于复杂。

表3、软件架构设计原则

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

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

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

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

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

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

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

表7、软件单元验证方法

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

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

表10、软件集成验证方法

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

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

使用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中国授权合作伙伴——龙智

进一步探索 Perforce QAC 如何帮助遵守 ISO 26262,或申请免费试用,请咨询Perforce中国授权合作伙伴——龙智

访问官网:www.shdsd.com

业务咨询:400-666-7732

合作邮箱:marketing@shdsd.com

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴