【发布时间】:2021-02-04 14:08:24
【问题描述】:
谁能向我解释 MISRA C++(2008) 如何不符合功能安全 (ISO 26262),如果它真的符合哪些规则有助于功能安全? 是否有文件或证据表明 MISRA C++ 符合 ISO26262 和 AUTOSAR? 对于质量保证,遵循 MISRA C++ 编码标准对软件开发代码有什么保证
【问题讨论】:
-
"如果我盲目地遵循这个编码标准,我会合规吗?"可能不是。采用诸如 MISRA 之类的编码标准将帮助您实现合规性,让您远离语言中更具爆炸性的部分。但这只是其中的一小部分,最终是您的代码必须符合要求,编码标准与否。
-
我们面临的最大问题之一是 QA 经理(或类似人员)要求 100% MISRA 合规且没有偏差 - 当我们(在 MISRA 中)定义需要时的偏差过程!盲注是有缺陷的!
-
@Andrew 我在实施 MISRA-C 时的建议是实施公司标准并要求 100% 符合该内部标准。这样,您可以禁止个人偏差,但允许将公司范围内的偏差作为编码标准文档的一部分。然后相应地配置 MISRA-C 检查器,仅删除对公司范围偏差的检查。根据我的经验,它非常有效,因为每当有人提出偏离的想法时,你都会强迫其他人进行讨论和审查。我不会相信个别程序员会这样做,除非他们非常有经验。
-
是的......完全同意@Lundin。重要的是你偏离规则的地方,你知道为什么和后果是什么......以及采取什么额外的补救措施(例如增强测试)
-
我目前无法访问这些标准,但通常 ISO 26262 将“语言子集的使用”列为所有 ASIL 级别的强烈推荐内容。通常,这些标准也有一个合适的编程语言列表。传统上,只有具有安全子集的 C(MISRA-C 等)或具有安全子集的 Ada(SPARK Ada 等)被认为适用于安全关键系统。我不知道这些年来游说者是否改变了这一点,但我怀疑工程师或专家是否会批准 C++。我会将所有此类适用性声明视为销售工具的骗局。
标签: c++ coding-style misra software-quality autosar