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