在汽車、工業、醫療等安全關鍵型應用中,確保功能安全合規性需要嚴格的工具鏈驗證。 開發安全關鍵型軟體的企業必須遵守ISO 26262、IEC 61508、ISO 62304等國際標準對編譯器工具鏈進行全面的驗證。

儘管部分企業考慮自行驗證工具鏈,但現實情況是過程成本高昂、耗時且資源密集。雖然獨立實現合規性是可能的,但實際執行此過程通常需耗費6至12個月的專職投入並須動用多名工程師。 驗證過程本身涉及大量測試、文檔以及反覆審查,成本高昂且風險巨大。

編譯器工具鏈的功能安全驗證工作不僅僅是確認編譯器「是否能運作」,而是涉及嚴格的測試,以驗證其在實際使用條件下的可重複性、正確性和可靠性。

正如Stack Overflow上一位專家所指出:「這項工作的一部分是運作驗證測試套件,編譯數千個測試程式並將實際結果與預期結果比對。 另一部分是ISO標準一致性測試。 雖然這些測試會發現一些問題,但是測試不是完全詳盡無遺的。 此外,還要運作如GCC本身附帶的DejaGNU測試套組。」”

然後,即使經過了廣泛測試,驗證也並不能保證工具鏈毫無缺陷,而只能辨識、記錄和證明缺陷。

「功能安全並不意味著你的工具鏈完美無缺,它只意味著已知的缺陷被清晰地記錄在案,而且你有一個辨識和記錄缺陷的流程。 要進行全面驗證,您需要修復或記錄並證明每一個與預期行為的偏差,進而避免出現已知、不合理的偏差。」

要使編譯器被視為功能安全,企業必須完成三個關鍵步驟:

  1. 廣泛測試:

  • 運作全面的驗證測試套組,編譯數千個測試程式,並與預期結果進行比較
  • 進行ISO標準一致性測試,確保符合安全法規
  • 運作回歸測試套件,如DejaGNU、Plum-Hall驗證套組或Perennial C/C++驗證套組,這有助於檢測特定編譯器的問題

   2. 文件:

  • 維護全面的驗證報告,確保編譯器測試的可追溯性
  • 記錄所有與預期行為的偏差,確保這些偏差得到修復或證明合理性
  • 透過詳細的測試報告提供符合產業標準的證據

   3. 緩解策略:

  • 針對任何已發現的編譯器限制,制定替代方案或糾正措施
  • 確保即使存在已知問題,編譯器仍可安全使用
  • 制定長期支援和維護計劃,以因應編譯器的未來更新和重新驗證需求

如果沒有這三個方面的支撐,編譯器工具鏈就無法被正式視為「功能安全」工具,即使已完成初步驗證,仍需持續維護、文檔記錄和每次更新之後的重新認證。

許多人誤以為只需運作測試套組即可完成編譯器工具鏈驗證,但實際上,測試只是整個驗證工作的一部分,文檔工作同等重要,它確保可追溯性並符合產業標準。 包括:

  • 創建並維護追蹤所有測試結果的驗證報告
  • 提供工具鏈測試方式和應用緩解措施的可追溯性
  • 記錄所有與預期行為的偏差,確保這些偏差得到修復或證明合理性

此文檔繁重的過程需要合規專家參與,這並為本來已複雜的專案增加了相當大的開銷。

驗證一個編譯器是否滿足ISO 26262、IEC 61508、ISO 62304等標準的成本,取決於所需的安全完整性等級(SIL)。 大致成本包括:

  • 6-12個月的工程工作量
  • 至少2-4名全職工程師
  • 估計成本約306,734美元至613,468美元(根據美國嵌入式軟體工程師平均年薪約153,367美元計算)
  • 外部評估、文檔和認證審核的額外費用

這些成本還不包括產品上市延遲帶來的隱性成本和商業影響,這可能會進一步增加開發安全關鍵型應用的公司的財務風險。

因此,對於許多公司來說,問題的關鍵不再是「能不能驗證自己的工具鏈」,而是「驗證自己的工具鏈值不值得做」。

考量到高昂的時間與成本代價,大多數企業傾向選擇經過第三方認證的工具鏈,而非自行進行驗證。

例如,IAR的開發工具已經過TÜV SÜD的功能安全認證,符合ISO 26262、IEC 61508、ISO 62304等國際標準,可直接投入使用,無需額外驗證工作。 使用IAR 經過認證的工具鏈,企業可以:

  • 節省6-12個月的認證時間
  • 避免複雜且昂貴的驗證流程
  • 確保符合國際功能安全標準

借助經過認證的功能安全工具鏈,將使企業可以更專注於創新。

與其他需要額外認證工作的工具鏈不同的是,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.”