MISRA C是由汽車產業軟件可靠性協會(MISRA,motor industry software reliability association)提出的C語言開發標準。其目的是在增進嵌入式系統的安全性及可移植性。針對C++語言也有對應的標準MISRA C++。MISRA C一開始主要是針對汽車產業:如果我們去參加近幾年的有關汽車行業的基于自動代碼生成技術和基于模型的設計技術的講座、研討會等等,無一例外都會聽到有關MISRA-C 2004,甚至是MISRA-C 2008、MISRA-C 2012等更新版本的介紹。此外,其他產業也已經逐漸開始使用MISRA C:包括航空航天、電信、國防、醫療設備、鐵路等領域中都已有廠商使用MISRA C:這些領域無一不對代碼的規范,特別是代碼的安全有非常高的要求。MISRA C的第一版《Guidelines for the use of the C language in vehicle based software》是在1998年發行,一般稱為MISRA-C:1998.。MISRA-C:1998有127項規則,規則從1號編號到127號,其中有93項是強制要求,其余的34項是推薦使用的規則。在2004年時發行了第二版的MISRA C的第一版《Guidelines for the use of the C language in critical systems》(或稱作MISRA-C:2004),其中有許多重要建議事項的變更,其規則也重新編號。MISRA-C:2004有141項規則,其中121項是強制要求,其余的20項是推薦使用的規則。規則分為21類,從“開發環境”到“運行期錯誤”。通常認為,如果能夠完全遵守這些標準,則你的C代碼是易讀、可靠、可移植和易于維護的。最近很多嵌入式開發者都以MISRA C來衡量自己的編碼風格,比如著名的uC/OS-II就得意地宣稱自己99%遵守MISRA標準。目前有許多工具聲稱可以檢查代碼和MISRA規則相容性,不過MISRA沒有相關認證的程序。相關工具可以幫助使用者評估和比較檢查的結果,也會提供一些可符合MISRA-C規定的指南,但是目前大部分的工具對靜態代碼分析的工具檢查基本能實現,對動態代碼分析則還不能完美實現。