在汽車、工業、醫療等安全關鍵型應用中,確保功能安全合規性需要嚴格的工具鏈驗證。 開發安全關鍵型軟體的企業必須遵守ISO 26262、IEC 61508、ISO 62304等國際標準對編譯器工具鏈進行全面的驗證。
儘管部分企業考慮自行驗證工具鏈,但現實情況是過程成本高昂、耗時且資源密集。雖然獨立實現合規性是可能的,但實際執行此過程通常需耗費6至12個月的專職投入並須動用多名工程師。 驗證過程本身涉及大量測試、文檔以及反覆審查,成本高昂且風險巨大。
01 工具鏈驗證的現實情況
編譯器工具鏈的功能安全驗證工作不僅僅是確認編譯器「是否能運作」,而是涉及嚴格的測試,以驗證其在實際使用條件下的可重複性、正確性和可靠性。
正如Stack Overflow上一位專家所指出:「這項工作的一部分是運作驗證測試套件,編譯數千個測試程式並將實際結果與預期結果比對。 另一部分是ISO標準一致性測試。 雖然這些測試會發現一些問題,但是測試不是完全詳盡無遺的。 此外,還要運作如GCC本身附帶的DejaGNU測試套組。」”
然後,即使經過了廣泛測試,驗證也並不能保證工具鏈毫無缺陷,而只能辨識、記錄和證明缺陷。
「功能安全並不意味著你的工具鏈完美無缺,它只意味著已知的缺陷被清晰地記錄在案,而且你有一個辨識和記錄缺陷的流程。 要進行全面驗證,您需要修復或記錄並證明每一個與預期行為的偏差,進而避免出現已知、不合理的偏差。」
02 編譯器功能安全驗證的關鍵要素
要使編譯器被視為功能安全,企業必須完成三個關鍵步驟:
1. 廣泛測試:
- 運作全面的驗證測試套組,編譯數千個測試程式,並與預期結果進行比較
- 進行ISO標準一致性測試,確保符合安全法規
- 運作回歸測試套件,如DejaGNU、Plum-Hall驗證套組或Perennial C/C++驗證套組,這有助於檢測特定編譯器的問題
2. 文件:
- 維護全面的驗證報告,確保編譯器測試的可追溯性
- 記錄所有與預期行為的偏差,確保這些偏差得到修復或證明合理性
- 透過詳細的測試報告提供符合產業標準的證據
3. 緩解策略:
- 針對任何已發現的編譯器限制,制定替代方案或糾正措施
- 確保即使存在已知問題,編譯器仍可安全使用
- 制定長期支援和維護計劃,以因應編譯器的未來更新和重新驗證需求
如果沒有這三個方面的支撐,編譯器工具鏈就無法被正式視為「功能安全」工具,即使已完成初步驗證,仍需持續維護、文檔記錄和每次更新之後的重新認證。
03 認證不僅僅是測試
許多人誤以為只需運作測試套組即可完成編譯器工具鏈驗證,但實際上,測試只是整個驗證工作的一部分,文檔工作同等重要,它確保可追溯性並符合產業標準。 包括:
- 創建並維護追蹤所有測試結果的驗證報告
- 提供工具鏈測試方式和應用緩解措施的可追溯性
- 記錄所有與預期行為的偏差,確保這些偏差得到修復或證明合理性
此文檔繁重的過程需要合規專家參與,這並為本來已複雜的專案增加了相當大的開銷。
04 功能安全認證的真實成本
驗證一個編譯器是否滿足ISO 26262、IEC 61508、ISO 62304等標準的成本,取決於所需的安全完整性等級(SIL)。 大致成本包括:
- 6-12個月的工程工作量
- 至少2-4名全職工程師
- 估計成本約306,734美元至613,468美元(根據美國嵌入式軟體工程師平均年薪約153,367美元計算)
- 外部評估、文檔和認證審核的額外費用
這些成本還不包括產品上市延遲帶來的隱性成本和商業影響,這可能會進一步增加開發安全關鍵型應用的公司的財務風險。
因此,對於許多公司來說,問題的關鍵不再是「能不能驗證自己的工具鏈」,而是「驗證自己的工具鏈值不值得做」。
05 為什麼許多企業選擇經過認證的工具鏈?
考量到高昂的時間與成本代價,大多數企業傾向選擇經過第三方認證的工具鏈,而非自行進行驗證。
例如,IAR的開發工具已經過TÜV SÜD的功能安全認證,符合ISO 26262、IEC 61508、ISO 62304等國際標準,可直接投入使用,無需額外驗證工作。 使用IAR 經過認證的工具鏈,企業可以:
- 節省6-12個月的認證時間
- 避免複雜且昂貴的驗證流程
- 確保符合國際功能安全標準
借助經過認證的功能安全工具鏈,將使企業可以更專注於創新。
06 IAR平台始終包含功能安全
與其他需要額外認證工作的工具鏈不同的是,IAR嵌入式開發平台將功能安全作為內建功能,以幫助開發團隊:
- 開箱即用經過TÜV SÜD認證的工具鏈
- 省去額外繁重的工具鏈驗證工作
- 一次訂閱即可支援多種架構(如Arm、RISC-V、Renesas RX、RL78、RH850等),確保開發的彈性和效率
- 在確保功能安全合規的同時,加快產品上市時間
對於開發安全關鍵型應用的公司,IAR提供了經濟高效、開箱即用的解決方案,省去了與工具鏈驗證相關的複雜性、時間和成本。
下一步? 立即行動!
實現功能安全合規性不一定是高成本和高風險的代名詞。 借助IAR的功能安全工具鏈,企業可以顯著降低工具鏈驗證成本、縮短上市時間,並專注於打造更高品質的安全關鍵型產品。
歡迎「閱讀原文」 瞭解 IAR 功能安全解決方案 。
本文由IAR提供
延伸閱讀⎟
參考資料:
- Stack Overflow: “How to certify a compiler for functional safety?”
- Heicon Ulm: “Compiler for safety-critical software – what needs to be done?”
- Glassdoor: “Embedded software engineer salary in the U.S.”
- IAR: ”How to validate a build toolchain according to IEC 61508, ISO 26262, EN 50128 and IEC 62304.”