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.