validation - 如何认证编译器的功能安全性?

标签 validation gcc safety-critical

我们是ISO-13485,并致力于医疗设备的开发。我们目前使用IAR certified编译器,但是我们正在考虑切换到gcc,因为它是跨平台的,并且可以使用普通的Makefile自动进行构建,而IAR无法实现。

我正在尝试了解如何使arm-none-eabi-gcc获得医学开发认证。

ISO-13485,ISO-26262,ISO-62304或ISO-61508都没有给我任何提示,表明我应该做什么来验证我的编译器。

我会坚持使用IAR还是有其他选择?

我想这个问题也可以扩展到太空/汽车领域。

最佳答案

我在一家通过ISO-26262认证的公司的工具链团队中工作,最近我们对我们的开发套件进行了功能安全性验证。

该过程的一部分是运行一组验证测试套件,其中编译了数千个测试程序,并将结果与​​预期结果进行了比较。另一部分是ISO标准符合性测试。当然,这些测试中没有一个是详尽无遗的,但是确实发现了一些问题。第三部分包括运行GCC本身随附的DejaGNU测试套件。

安全验证的下一个技巧是确保记录所有已知问题。功能安全并不意味着您的工具链是完美的,仅意味着已知的缺陷已被清楚地记录在案,并且您已经建立了识别和记录缺陷的过程。要进行全面验证,您需要做的是修正或记录每个与预期行为的偏差,并为之辩护,以确保没有已知的,不合理的偏差。

验证本身就是整个行业。它既昂贵又费时。

关于validation - 如何认证编译器的功能安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49516502/

相关文章:

laravel - 使用 FormResquest 时验证失败时的 Flash 错误消息

validation - 验证欧洲增值税

java - Project Lombok 是否与使用getter 和setter 的数据封装相矛盾?

c - 标签作为值与 switch 语句

C++ 运算符重载错误检查无异常

c - MISRA-2012 违反规则 20.12 : misra_c_2012_rule_20_12_violation: macro parameter "val" is used in both expanded and raw forms

javascript - 代码定制

c++ - 鱿鱼交叉编译

c - 在 C 的本地方法中访问全局数组时 gcc 出现段错误

安全关键应用程序的 Python 编码标准