CppDepend
功能安全——工业

使用CppDepend实现工业软件的IEC 61508功能安全

CppDepend如何帮助工业和能源团队满足IEC 61508:SIL级静态分析、编码规则、架构控制和安全相关系统的验证证据。

CppDepend开箱即用的支持。 CppDepend附带以下内置规则集: MISRA C/MISRA C++, CWE, CERT C/CERT C++ 和 AUTOSAR C++14 ——不包括其他标准。所有其他标准(包括本标准)均通过以下方式执行: 自定义CQLinq规则 由您的团队编写(如有需要我们可协助),再加上架构验证和CI质量门。

IEC 61508 是电气、电子和可编程电子安全相关系统的通用功能安全标准。它为能源、过程工业、铁路和机械领域的行业标准奠定基础,并定义安全完整性等级(SIL 1–4)。对于软件,IEC 61508-3建议采用静态分析、编码标准和防御性编程——严格程度随SIL提高而增加。

IEC 61508-3软件要求

  • 编码标准和子集: 使用更安全的语言子集(如MISRA C)并证明其执行情况。
  • 静态分析: 作为验证的一部分,检测缺陷、不可达代码和数据流异常。
  • 模块化和有限复杂度: 与SIL相适应的有界模块大小和复杂度。
  • 变更影响分析: 对安全生命周期内修改的客观评估。

CppDepend如何支持IEC 61508项目

  • 内置MISRA/CERT规则集 作为编码标准支柱,加上针对项目特定约束的自定义CQLinq规则。
  • 复杂度预算: 执行与SIL目标一致的按函数和按模块的复杂度阈值。
  • 架构验证: 证明安全相关与非安全相关软件组件之间的隔离。
  • 影响分析: 基线差异精确显示两个验证周期之间的变化。
  • CI中的质量门: 在安全相关代码库的每次构建中自动阻止回归。

相关行业与案例研究

相关编码标准

MISRA C · ISO 26262 · IEC 62304 · DO-178C

了解CppDepend在您的代码库中揭示了什么

在您自己的项目上运行分析:编码标准、架构验证、技术债务和质量门——几分钟内完成。