148得票13回答
如果使用else语句终止if...else if结构,有什么好处?

我们的组织有一个必须遵守的编码规则(没有任何解释):在if…else if结构中应该以else子句结束。 示例1:if ( x < 0 ) { x = 0; } /* else not needed */ 例子2:if ( x < 0 ) { x = 0; } el...

35得票3回答
cppcheck的规则集

Cppcheck允许您创建自己的规则文件,但我不知道有多少Cppcheck的功能是公开的。 有人正在制作一个集合来执行JSF或MISRA规则吗?

31得票1回答
C++中的形式化方法用于安全关键软件

看起来C语言对于在代码中使用的形式化方法具有良好的支持(frama-c、VCC、verifast)。据我所知,C++似乎没有可比较的类似支持。 有哪些形式化方法可用于推理关于采用C++编写的安全关键软件的相关问题?

14得票2回答
在安全关键系统中测试C++17

我目前正在思考在安全关键软件(DO-178C DAL-D)中使用C++和编码标准的定义。我曾经研究过MISRA C++,但它已经有10年历史,缺少所有的C++11…17功能。 虽然在安全方面保守一点通常不是一个坏主意,但新的语言特性可能对安全有益。 在审查期间,人们不得不争论为什么要做出某...

13得票3回答
如何为功能安全认证编译器?

我们是ISO-13485认证的医疗设备开发公司。目前我们使用IAR认证编译器,但考虑到gcc跨平台且可以使用普通Makefile自动化构建,我们正在考虑切换至gcc。 我想了解如何将arm-none-eabi-gcc认证为用于医疗开发的编译器。然而,无论是ISO-13485、ISO-2626...

11得票1回答
安全关键项目中动态分配的替代方案(C语言)

在安全关键项目中,不建议使用任何动态分配或释放已分配的内存。仅在程序执行的详细化/初始化阶段允许使用。 我知道你们大多数人会争论要在软件中实现全部静态分配,或者在代码中进行一些证明,即动态分配不会影响整个程序等,但是,这个问题有没有其他解决方案?是否有任何方法或任何示例来在程序初始化/详细化...