MISRAC
MISRA C是由汽車產業軟體可靠性協會(MISRA)提出的 C 語言開發標準。去目的是佇咧增進1875入式系統的安全性佮可能會徙栽性。針對 C + + 語言嘛有對應的標準 MISRA C + +。
MISRA C 一開始主要是針對汽車產業 , 猶毋過其他的產業嘛漸漸仔開始咧使用 MISRA C:包括航空、電信、國防、醫療的設備、鐵路遮領域內面攏有廠商使用 MISRA C。
MISRA C 的頭一版《Guidelines for the use of the C language in vehicle based software》佇一九九八年發行,一般號做 MISRA-C : 一千九百九十八 .。MISRA-C : 一千九百九十八有一百二十七項規則,規則對一號編號到一百二七號,其中有九十三項是強制要求,賰的三十四項是推薦使用的規則。
佇二空空四年的時發行矣第二版的 MISRA C 的頭一版《Guidelines for the use of the C language in critical systems》(抑是叫做 MISRA-C : 兩千空四), 其中有真濟重要建議事項的變更,其規則嘛重新編號。MISRA-C : 二千空四有一百四十一項規則,其中一百二十一項是強制要求,賰的二十項是推薦使用的規則。一定分做二十一類,對「開發環境」到「運行期錯誤」。
規則舉例
MISRA C 的一寡規則是針對運算符的限制,比如講 MISRA-C : 二千空四的規則十二孵一空為「莫使用弄號運算符」,嘛會當用其他的方式來達到仝款的效果。
動態分配記憶體功能是 C 語言的一大特色,會使佇運行期依實際需求用 malloc 分配記持體,佇無使用此記持體的時才用 free 歸還,毋過真濟問題嘛佮無正確處理動態分配記持體功能有關係,比如講 MISRA-C : 二千空四的規則二十五四為「袂當使用動態囥的內存分配」,限制 malloc、free 等程序的使用。
工具
有真濟工具的聲稱會當檢查代碼佮 MISRA 規則相容性,猶毋過 MISRA 無相關認證的程序。相關工具會使幫助使用者評估佮比較檢查的結果,嘛會提供一寡會當符合 MISRA-C 規定的指南。
大部份的規定會當用支援靜態代碼分析的工具檢查,有規定愛用支援動態代碼分析的工具檢查。
以下是一寡會當配合 MISRA C 規則進行檢查的工具:
- Polyspace
- GrammaTech
- Klocwork
- Coverity
- LDRA
- Parasoft
- PC-Lint
- QA-C
- Understand ( 軟體 )
以下是一寡會當配合 MISRA C 規則進行檢查的編譯器:
- Green Hills 軟體
- IAR 系統
相關條目
- 代碼的風格
- The Power of 十
參考資料
外部連結
- MISRA 網站