原創(chuàng)|行業(yè)資訊|編輯:鄭恭琳|2021-01-26 14:17:23.853|閱讀 300 次
概述:構(gòu)建嵌入式軟件應用程序的任務已經(jīng)充滿了挑戰(zhàn),然后隨著IoT的引入,現(xiàn)在一切似乎都與Internet建立了連接-同時增加了系統(tǒng)的復雜性和安全漏洞的風險。為了幫助緩解這些挑戰(zhàn),許多人都遵循MISRA指南。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
構(gòu)建嵌入式軟件應用程序的任務已經(jīng)充滿了挑戰(zhàn),然后隨著IoT的引入,現(xiàn)在一切似乎都與Internet建立了連接-同時增加了系統(tǒng)的復雜性和安全漏洞的風險。為了幫助緩解這些挑戰(zhàn),許多人都遵循MISRA指南。
汽車工業(yè)軟件可靠性協(xié)會(MISRA)“在關(guān)鍵系統(tǒng)中使用C語言的準則”(稱為MISRA C 2012)是對C語言子集的定義,旨在最小化潛在的錯誤,安全漏洞和錯誤。導致程序失敗或嚴重錯誤。盡管最初是為汽車系統(tǒng)創(chuàng)建的,但該指南已被許多其他行業(yè)采用,用于安全關(guān)鍵型應用。在所有情況下,確定合規(guī)性(在供應商/客戶關(guān)系中越來越需要)是復雜且耗時的。
市場上有許多工具會報告錯誤,這些錯誤指示什么時候代碼違反了準則,但是很少有工具可以簡化證明合規(guī)性所需的報告和文檔編制過程-不必在軟件開發(fā)過程中實施準則。為了簡化在整個產(chǎn)品生命周期中實現(xiàn),記錄和維護MISRA合規(guī)性的整個過程,我們設(shè)計了報告和分析平臺(Parasoft DTP),以帶來自動化和幫助,以及我們的C和C++測試工具C/C++test。在這篇文章中,我想我會更好地解釋如何一起使用這些工具,以使MISRA合規(guī)性減輕很多麻煩。
符合性是一種二進制狀態(tài)-代碼符合性或不符合性,并且MISRA準則要求所有代碼都符合標準中規(guī)定的指令和規(guī)則。因此,要在一個大型復雜項目中實現(xiàn)完全合規(guī)并非易事。除了挑戰(zhàn)之外,許多供應商/客戶關(guān)系還要求通過文檔證明對標準的遵守。
為了更好地闡明實施MISRA編碼準則的程序,MISRA在2016年發(fā)布了合規(guī)性指南,以幫助開發(fā)組織實現(xiàn)并記錄合規(guī)性。為了通過自動化簡化此過程,需要滿足以下條件:
高水平,實時的總體項目狀態(tài)視圖,以確保合規(guī)性進入開發(fā)過程
自動創(chuàng)建滿足MISRA合規(guī)性指南(例如MISRA合規(guī)性:2016)的報告,以減輕生成支持文檔的負擔
快速簡單的工作流程可調(diào)查違規(guī)情況并確定補救措施的優(yōu)先級,以簡化使項目“步入正軌”以確保合規(guī)的過程
考慮到這些準則,我們設(shè)計了報告和分析平臺(DTP),以自定義和擴展C/C++test的部署,提供智能分析功能,以使利益相關(guān)者對測試范圍和變更帶來的風險有更深入的了解。對于MISRA標準,DTP簡化了實現(xiàn),強制實施和記錄法規(guī)遵從性的過程,同時證明了功能,性能和安全性。
項目的合規(guī)性現(xiàn)狀是一個重要的指標,衡量合規(guī)性的各個方面也很重要。DTP提供了一個全面的MISRA合規(guī)性儀表板,可以對項目進行現(xiàn)場評估。對于管理人員和開發(fā)人員而言,這種高級視圖都非常重要,使管理人員一目了然地可以輕松訪問合規(guī)性視圖,并為開發(fā)人員提供了實現(xiàn)合規(guī)性,為工作進行優(yōu)先排序的起點。
圖1:DTP的MISRA合規(guī)性儀表板示例。
除了MISRA合規(guī)性儀表板之外,Parasoft還提供了一個完整的合規(guī)性套件,專門解決了MISRA的合規(guī)性文檔要求。MISRA DTP法規(guī)遵從性工具包根據(jù)MISRA Compliance:2016準則提供自動化文檔,從而大大減少了證明向認證機構(gòu)合規(guī)所需的時間和精力。這些包括:
準則執(zhí)行計劃
MISRA準則執(zhí)行計劃演示了如何驗證每個MISRA準則。在大多數(shù)情況下,這顯示了MISRA指令或規(guī)則與關(guān)聯(lián)的代碼分析規(guī)則或DTP函數(shù)之間的鏈接。請參閱以下示例:
圖2:DTP的MISRA指南執(zhí)行計劃報告的示例。
指南重新分類計劃
MISRA指南重新分類計劃用于傳達作為指南的商定重要性,作為供應商/客戶關(guān)系的一部分。該文檔演示了如何針對當前項目對每條指南進行專門分類。強制性和必需的準則不能降級到較低的水平;但是,項目可能會決定將所需的指導準則或咨詢準則升級到更嚴格的設(shè)置,并且咨詢可能會不適用(即,不需要遵從該準則)。請參閱下面的重新分類計劃示例:
圖3:DTP的MISRA重新分類計劃報告的示例。
偏差報告
MISRA偏差報告以合理的理由記錄了偏離準則的情況。每當檢測到規(guī)則違例但允許其繼續(xù)存在時,必須將其記錄在偏差報告中。在大多數(shù)情況下,這些是從代碼分析報告的抑制的錯誤。報告示例如下所示:
圖4:DTP的MISRA偏差報告示例
準則合規(guī)性摘要
合規(guī)性摘要是總體項目合規(guī)性的主要記錄。該報告記錄了每個準則的遵守狀況,以及任何相關(guān)的偏差或重新分類。一個例子如下所示:
圖5:DTP的MISRA合規(guī)報告示例
遵守法規(guī)
在大多數(shù)情況下,在分析源代碼中是否符合MISRA標準時,違規(guī)就是靜態(tài)分析規(guī)則違規(guī)。在一個大型項目中,最初會報告許多錯誤,因此快速有效地管理它們至關(guān)重要。DTP違規(guī)資源管理器是導航、評估、確定優(yōu)先級并分配報告的錯誤進行修復的關(guān)鍵工具。如果發(fā)現(xiàn)違反靜態(tài)分析規(guī)則是有效但合理的,被認為是無害的,或者不適用,則開發(fā)人員可以抑制該錯誤,并可以記錄偏差。這些偏差會在項目的每個級別上報告給儀表板和合規(guī)性文檔。下面顯示了違規(guī)瀏覽器的示例:
圖6:DTP的違規(guī)資源管理器正在調(diào)查示例違規(guī)情況。
總而言之,在開發(fā)對安全至關(guān)重要的軟件時,MISRA標準提供了一套全面的準則來防止安全漏洞和程序故障。但是,應用這些準則并證明合規(guī)性可能會非常繁重,因此簡化此流程對于確保按時交付軟件至關(guān)重要。
為了讓軟件幫助您完成這項工作,您可以:
在每次構(gòu)建軟件后,使用C/C++test通過靜態(tài)代碼分析來驗證MISRA準則,從而確保日常執(zhí)行。
從DTP的MISRA法規(guī)遵從性工具包中快速獲取高級概述和詳細報告,以有效地證明法規(guī)遵從性。
利用DTP來跟蹤項目要求到測試的可追溯性,這不僅是MISRA的重要要求,還是安全標準的重要要求。
歸根結(jié)底,在整個生命周期中支持MISRA合規(guī)性對于持續(xù)的執(zhí)法和可追溯性至關(guān)重要,而根據(jù)MISRA Compliance:2016指南,自動化文檔是節(jié)省時間和處理此指南的關(guān)鍵。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn