The Power of 10

The Power of 10NASA喷气推进实验室(JPL)的Gerard J. Holzmann在2006年所提出,有关软件可靠性的原则[1]。此原则的目的是要消除C语言中不容易评审,或不容易进行静态分析的程序写法。此原则是补充MISRA C的内容,后来已集成JPL的编程标准[2]

原则

这十条原则是[1]

  1. 不要使用复杂的流程控制,像是goto或是递归
  2. 所有循环都要有固定的上下界,以避免循环失控。
  3. 不要使用heap内存管理
  4. 限制函数的长度,打印后不得超过一页。
  5. 每个函数至少要有二个运行时检查的断言(assertion)。
  6. 限制数据在程序中的可访问范围,越小越好。
  7. 有传回值的函数,要检查函数的传回值,不然就要转型成void,表示其传回值没有意义。
  8. 谨慎的使用预处理器
  9. 指针只能使用一个解引用运算符"*" ,而且不要使用函数指针
  10. 在编译时打开所有的警告(warnings),需要处理完所有的警告,才能发行软件。

应用

NASA曾研究丰田汽车电子油门加速器固件,有243处违反上述的规定[3][4]

相关条目

延伸阅读

参考数据

  1. (PDF). [2022-12-20]. (原始内容存档 (PDF)于2022-09-02).
  2. JPL C Coding Standard - JPL Laboratory for Reliable Software
  3. Unintended Acceleration and Other Embedded Software Bugs 页面存档备份,存于, March 1st, 2011, by Michael Barr, Embedded Gurus
  4. (PDF). [2022-12-20]. (原始内容存档 (PDF)于2022-12-20).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.