高級駕駛輔助系統(ADAS)的安全性和靜態分析

高級駕駛輔助系統(ADAS)是汽車電子創新的關鍵領域,但是只有在它們像其他安全關鍵型軟件一樣經歷了同樣程度的嚴苛測試時,其在安全方面的提升和積極影響才能得以實現。ISO 26262定義了汽車功能安全的設計和構建準則,其中包含ADAS系統。按照標準,靜態分析在軟件開發中起著重要作用。本文討論了靜態分析工具在ADAS系統開發中所扮演的角色,包括使用它們的投入和回報。
認證和靜態分析工具
ISO 26262指定了軟件單元設計、實現原則和編碼準則。靜態分析工具在執行諸如MISRA C之類的編碼標準時特別有用,而編碼標準檢查只是GrammaTech的CodeSonar這類產品功能的一小部分。CodeSonar還為ADAS設備提供了強大的工具,以實現軟件的高魯棒性、正確性和一致性,這要求設計、編碼和測試的嚴密性要超出編碼標準的檢測。在缺陷進入軟件項目之前和之后,靜態分析工具都可以發現源代碼中的缺陷。靜態分析工具還可以檢測出測試中很難找到的錯誤,例如并發錯誤,這些錯誤的調試和修復成本都較為昂貴。

圖1:相對于每個汽車安全完整性等級(ASIL),降低風險是ISO 26262技術解決方案的要求。開發自動化對降低風險具有重要的影響。
工具認證
軟件認證需要實施標準的證明,這通常是手動生成的,但是自動化大大減少了工作量。為了使一個自動化工具的結果成為可接受的認證證據,工具供應商應對其銷售的產品進行認證。GrammaTech CodeSonar經過獨立認證,可用于開發安全關鍵軟件,達到ISO 26262、IEC 61508和EN 50128的最高安全完整性級別。這意味著開發人員可以放心地使用這些工具,確信所產生的結果是認證期間審批機構可接受的。使用不合格的工具是存在風險的,并且會導致需要進行更多的測試,文檔編制和認證成本。
靜態分析作為ISO 26262系統開發的一部分
CodeSonar既可以用于軟件的源代碼也可以用于二進制,因此在開發和測試階段已被廣泛使用,盡管開發團隊已經學會了通過利用生命周期中的效益來擴展這些工具的價值。例如,任何新的補丁程序,安全更新或產品發行版都應在發行前進行全面分析,以確保質量和安全性。下圖說明了靜態分析在ISO 26262系統開發模型(基于廣為人知的“ V”)中的作用:

圖2:靜態分析在ISO 26262定義過程中的作用,大多數ADAS系統都可能會遵循。
ADAS開發加速
ADAS系統所需要的額外管理,包括ISO 26262中定義的風險管理和功能安全,對于汽車軟件開發團隊而言相對較新。靜態分析工具在所有安全關鍵系統的開發過程中都發揮著舉足輕重的作用,為尋求嚴格的軟件安全認證的軟件團隊提供切實的生產力改進。
具體來說,從開發的早期階段就將合格工具作為軟件開發過程中的一部分,可以帶來巨大的好處,如以下所列:
? 加強編碼標準的安全性、防護性和樣式。
在代碼開發期間自動進行代碼分析,可確保每天開發流程中的質量,包括用于執行ISO 26262、MISRA C和其他安全關鍵的編碼標準。
? 減少證明軟件健壯性和行為方面的人力。
靜態分析工具通過提供更多的軟件質量保證來增強測試。
? 減少整個開發過程中的缺陷數量。
初次運行的代碼在測試和集成方面比錯誤代碼便宜得多。在測試之前從代碼中刪除錯誤(甚至源配置管理),可以降低成本和風險。
? 查找出無法測試的嚴重缺陷。
ADAS中的軟件測試是詳盡無遺的,并且根據關注級別(ASIL),需要完整的聲明和/或決策范圍。盡管測試嚴格,但是靜態分析工具已經發現了被遺漏的缺陷。這些是最令人擔憂的缺陷類型–真的值得讓這些漏洞進入交付產品的風險中嗎?
? 分析遺留代碼和第三方代碼。
在嵌入式軟件開發中,使用諸如商用現貨軟件(COTS)和開源軟件之類的第三方代碼很常見。CodeSonar可以分析第三方源代碼和二進制文件,以發現軟件中無法通過其他方式進行測試的缺陷和安全漏洞。
? 加快認證證據。
記錄軟件單元驗收結果是證明符合認證標準的關鍵。靜態分析工具具有豐富的報告功能來幫助支持認證需求。
靜態分析的投資回報率(ROI)
那么,考慮到這些因素,投資回報率是多少?靜態分析減少了軟件開發的缺陷數量,包括所有開發階段的缺陷數量。一個簡單的分析表明,在軟件開發過程中,只考慮減少缺陷的因素,發現每個缺陷大約節省了126美元(使用來自Capers Jones(2012)的數據)。假定每1000行代碼中平均有15個缺陷(在缺陷量很高的開發期間),每千行代碼可以節省$ 1900。
結果將根據其他因素而變化,例如勞動率,缺陷檢測,修復時間和缺陷密度。靜態分析工具即使用于最明顯的開發階段,也能提供快速的投資回報。然而,除了將代碼編碼到其他開發階段之外,還有更豐富的回報。
靜態分析不僅僅是減少缺陷
除了“簡單”的缺陷檢測之外,GrammaTech的CodeSonar還有更多有價值的用途,例如,分析潛在的危險數據流(受到污染的數據),檢測復雜的并發性問題,分析第三方源文件和二進制文件,以及檢測傳統測試遺漏的其他錯誤。上述簡單的分析中沒有考慮到這些關鍵的益處,但我們也能夠從工具的投資回報率當中明顯看到。缺陷檢測為具有競爭力的ADAS項目提供了所需要的額外風險和成本削減。
結論
ADAS在汽車系統中的應用范圍正在不斷擴大。在這些系統中,所需的軟件開發越來越重視對成本和風險的問題。ISO 26262等標準要求全面的風險管理。ADAS軟件的構建復雜且昂貴,但是靜態分析工具可以提高這些系統所需的安全性,質量,健壯性和正確性,同時提供出色的投資回報。盡早使用這些靜態測試工具,以及在整個軟件開發生命周期中擴展有效性,是獲得最大回報的關鍵。
-版權所有,抄襲必究-
獲取靜態分析工具“CodeSonar”的免費試用體驗、技術咨詢及商務服務請聯系旋極信息,具體方式如下:

浙公網安備 33010602011771號