博客
希望我們能(néng)與您分享和探讨成(chéng)長(cháng)中的點點滴滴
MISRA和AUTOSAR將(jiāng)統一C++編碼規範——這(zhè)意味著(zhe)什麼(me)
分享到
C++的使用正越來越多,從聯網的自動駕駛汽車到人工智能(néng)(AI)等關鍵的新興行業都(dōu)在采用C++這(zhè)種(zhǒng)語言。
确保C++代碼的安全性仍然至關重要,特别是當C++語言用于安全相關系統的開(kāi)發(fā)時(shí)。
編寫安全、現代的C++將(jiāng)變得更加容易。這(zhè)是因爲兩(liǎng)個最流行的C++編碼準則——MISRA C++和AUTOSAR準則——即將(jiāng)合并。
MISRA C++和AUTOSAR將(jiāng)合并
2019年1月,MISRA®宣布將(jiāng)AUTOSAR C++編碼準則與MISRA C++合并。
將(jiāng)這(zhè)兩(liǎng)套編碼準則合并,將(jiāng)爲C++編程的最佳實踐提供唯一基準。
新的準則將(jiāng)提供一套通用的規則,以支持安全關鍵行業的軟件開(kāi)發(fā)人員,這(zhè)些安全關鍵行業包括:
• 汽車
• 航空航天和國(guó)防
• 醫療設備
這(zhè)對(duì)我們意味著(zhe)什麼(me)?
如果您正在使用MISRA C++……
這(zhè)僅僅意味著(zhe)您可以使用最新版本的C++語言。
MISRA C++發(fā)布于2008年,基于C++ 03。從那時(shí)起(qǐ),就(jiù)發(fā)生了很多變化。例如,ISO 26262汽車功能(néng)安全标準得以發(fā)布,C++語言也已經(jīng)完全被(bèi)改造了。
因此,AUTOSAR編碼規範是使用MISRA C++作爲起(qǐ)點開(kāi)發(fā)的。然後(hòu),AUTOSAR擴展了這(zhè)些規則,包括現代C++——C++ 11和C++ 14。這(zhè)使得它們能(néng)夠用于安全關鍵系統的開(kāi)發(fā)。
合并後(hòu)的新MISRA編碼規範將(jiāng)包含C++ 17,而且新MISRA規則按計劃也會(huì)随著(zhe)未來語言的變化而與時(shí)俱進(jìn)。
如果您正在使用AUTOSAR編碼規範……
這(zhè)意味著(zhe)您將(jiāng)能(néng)夠訪問由更大的專家組審查過(guò)的規則。
MISRA專家被(bèi)公認爲是安全關鍵行業的專家。(MISRA C是一個約定俗成(chéng)的标準,特别是在汽車軟件開(kāi)發(fā)方面(miàn)。)因此,將(jiāng)這(zhè)些專家的知識彙集到一起(qǐ)將(jiāng)對(duì)每個人都(dōu)有益處。
目前的AUTOSAR編碼規範中可能(néng)有一些規則沒(méi)有被(bèi)納入MISRA。可以改寫AUTOSAR編碼規範以匹配MISRA風格,而且新的規則也可能(néng)被(bèi)加入。
如果有任何您仍然想要應用的規則,您可以將(jiāng)它們包含在您的自定義編碼規則中。靜态代碼分析工具,如Helix QAC,使繼續應用這(zhè)些規則變得容易。
合并的C++編碼規範何時(shí)將(jiāng)可用?
我們還(hái)不知道(dào)合并的新C++編碼規範何時(shí)將(jiāng)可用,但我們會(huì)盡快更新給您。
爲什麼(me)Helix QAC是最佳的靜态代碼分析工具
Helix QAC是适用于MISRA C++和AUTOSAR的最佳靜态代碼分析工具。
我們的專家服務于MISRA C++和AUTOSAR委員會(huì)。我們以獨特的方式參與了AUTOSAR編碼規範的開(kāi)發(fā)。(此外,使用Helix QAC測試了AUTOSAR編碼規範。)
随著(zhe)MISRA C++和AUTOSAR編碼規範的合并,使用Helix QAC將(jiāng)使這(zhè)種(zhǒng)過(guò)渡更容易。我們的專家將(jiāng)确保更新Helix QAC以使其比其他工具更準确地覆蓋新規則。您將(jiāng)能(néng)夠使用任何您需要的規則集,無論是來自最初的MISRA C++、AUTOSAR編碼規範,還(hái)是合并後(hòu)的新準則。
若您想親自體驗Helix QAC如何使遵守編碼标準變得容易,立刻注冊申請免費試用吧。