在汽車、工業(yè)、醫(yī)療等安全關(guān)鍵型應(yīng)用中,確保功能安全合規(guī)性需要嚴(yán)格的工具鏈驗(yàn)證。開(kāi)發(fā)安全關(guān)鍵型軟件的企業(yè)必須遵守ISO 26262、IEC 61508、ISO 62304等國(guó)際標(biāo)準(zhǔn)對(duì)編譯器工具鏈進(jìn)行全面的驗(yàn)證。
盡管部分企業(yè)考慮自行驗(yàn)證工具鏈,但現(xiàn)實(shí)情況是,這個(gè)過(guò)程成本高昂、耗時(shí)且資源密集。雖然獨(dú)立實(shí)現(xiàn)合規(guī)性是可能的,但實(shí)際執(zhí)行這一過(guò)程通常需耗費(fèi)6至12個(gè)月的專職投入,并動(dòng)用多名工程師。驗(yàn)證過(guò)程本身涉及大量測(cè)試、文檔以及反復(fù)評(píng)審,成本高昂且風(fēng)險(xiǎn)巨大。
01工具鏈驗(yàn)證的現(xiàn)實(shí)情況
編譯器工具鏈的功能安全驗(yàn)證工作不僅僅是確認(rèn)編譯器“是否能運(yùn)行”,而是涉及嚴(yán)格的測(cè)試,以驗(yàn)證其在實(shí)際使用條件下的可重復(fù)性、正確性和可靠性。
正如Stack Overflow上一位專家所指出:“這項(xiàng)工作的一部分是運(yùn)行驗(yàn)證測(cè)試套件,編譯數(shù)千個(gè)測(cè)試程序并將實(shí)際結(jié)果與預(yù)期結(jié)果比對(duì)。另一部分是ISO標(biāo)準(zhǔn)一致性測(cè)試。雖然這些測(cè)試會(huì)發(fā)現(xiàn)一些問(wèn)題,但是測(cè)試都不是詳盡無(wú)遺的。此外,還要運(yùn)行如GCC本身附帶的DejaGNU測(cè)試套件。”
然后,即使經(jīng)過(guò)了廣泛測(cè)試,驗(yàn)證也并不能保證工具鏈毫無(wú)缺陷,而只能識(shí)別、記錄和證明缺陷。
“功能安全并不意味著你的工具鏈完美無(wú)缺,它只意味著已知的缺陷被清晰地記錄在案,而且你有一個(gè)識(shí)別和記錄缺陷的流程。要進(jìn)行全面驗(yàn)證,您需要修復(fù)或記錄并證明每一個(gè)與預(yù)期行為的偏差,從而避免出現(xiàn)已知的、不合理的偏差。”
02編譯器功能安全驗(yàn)證的關(guān)鍵要素
要使編譯器被視為功能安全,企業(yè)必須完成三個(gè)關(guān)鍵步驟:
廣泛測(cè)試:
運(yùn)行全面的驗(yàn)證測(cè)試套件,編譯數(shù)千個(gè)測(cè)試程序,并與預(yù)期結(jié)果進(jìn)行比較
進(jìn)行ISO標(biāo)準(zhǔn)一致性測(cè)試,確保符合安全法規(guī)
運(yùn)行回歸測(cè)試套件,如DejaGNU、Plum-Hall驗(yàn)證套件或Perennial C/C++驗(yàn)證套件,這有助于檢測(cè)特定編譯器的問(wèn)題
文檔:
維護(hù)全面的驗(yàn)證報(bào)告,確保編譯器測(cè)試的可追溯性
記錄所有與預(yù)期行為的偏差,確保這些偏差得到修復(fù)或證明合理性
通過(guò)詳細(xì)的測(cè)試報(bào)告提供符合行業(yè)標(biāo)準(zhǔn)的證據(jù)
緩解策略:
針對(duì)任何已發(fā)現(xiàn)的編譯器限制,制定替代方案或糾正措施
確保即使存在已知問(wèn)題,編譯器仍可安全使用
制定長(zhǎng)期支持和維護(hù)計(jì)劃,以應(yīng)對(duì)編譯器的未來(lái)更新和重新驗(yàn)證需求
如果沒(méi)有這三個(gè)方面的支撐,編譯器工具鏈就無(wú)法被正式視為“功能安全”工具,即使已完成初步驗(yàn)證,仍需持續(xù)維護(hù)、文檔記錄和每次更新之后的重新認(rèn)證。
03認(rèn)證不僅僅是測(cè)試
許多人誤以為只需運(yùn)行測(cè)試套件即可完成編譯器工具鏈驗(yàn)證,但實(shí)際上,測(cè)試只是整個(gè)驗(yàn)證工作的一部分,文檔工作同等重要,它確保可追溯性并符合行業(yè)標(biāo)準(zhǔn)。包括:
創(chuàng)建并維護(hù)跟蹤所有測(cè)試結(jié)果的驗(yàn)證報(bào)告
提供工具鏈測(cè)試方式和應(yīng)用緩解措施的可追溯性
記錄所有與預(yù)期行為的偏差,確保這些偏差得到修復(fù)或證明合理性
這一文檔繁重的過(guò)程需要合規(guī)專家參與,這給本已復(fù)雜的項(xiàng)目增加了相當(dāng)大的開(kāi)銷。
04功能安全認(rèn)證的真實(shí)成本
驗(yàn)證一個(gè)編譯器是否滿足ISO 26262、IEC 61508、ISO 62304等標(biāo)準(zhǔn)的成本,取決于所需的安全完整性等級(jí)(SIL)。大致成本包括:
6-12個(gè)月的工程工作量
至少2-4名全職工程師
估計(jì)成本約306,734美元至613,468美元(根據(jù)美國(guó)嵌入式軟件工程師平均年薪約153,367美元計(jì)算)
外部評(píng)估、文檔和認(rèn)證審核的額外費(fèi)用
這些成本還不包括產(chǎn)品上市延遲帶來(lái)的隱性成本和商業(yè)影響,這可能會(huì)進(jìn)一步增加開(kāi)發(fā)安全關(guān)鍵型應(yīng)用的公司的財(cái)務(wù)風(fēng)險(xiǎn)。
因此,對(duì)于許多公司來(lái)說(shuō),問(wèn)題的關(guān)鍵不再是“能不能驗(yàn)證自己的工具鏈”,而是“驗(yàn)證自己的工具鏈值不值得做”。
05為什么許多企業(yè)選擇經(jīng)過(guò)認(rèn)證的工具鏈?
考慮到高昂的時(shí)間與成本代價(jià),大多數(shù)企業(yè)傾向選擇經(jīng)過(guò)第三方認(rèn)證的工具鏈,而非自行進(jìn)行驗(yàn)證。
例如,IAR的開(kāi)發(fā)工具已經(jīng)過(guò)TüV SüD的功能安全認(rèn)證,符合ISO 26262、IEC 61508、ISO 62304等國(guó)際標(biāo)準(zhǔn),可直接投入使用,無(wú)需額外驗(yàn)證工作。使用IAR 經(jīng)過(guò)認(rèn)證的工具鏈,企業(yè)可以:
節(jié)省6-12個(gè)月的認(rèn)證時(shí)間
避免復(fù)雜且昂貴的驗(yàn)證流程
確保符合國(guó)際功能安全標(biāo)準(zhǔn)
借助經(jīng)過(guò)認(rèn)證的功能安全工具鏈,企業(yè)可以更加專注于創(chuàng)新。
06IAR平臺(tái)始終包含功能安全
與其他需要額外認(rèn)證工作的工具鏈不同,IAR嵌入式開(kāi)發(fā)平臺(tái)將功能安全作為內(nèi)置功能,幫助開(kāi)發(fā)團(tuán)隊(duì):
開(kāi)箱即用經(jīng)過(guò)TüV SüD認(rèn)證的工具鏈
省去額外繁重的工具鏈驗(yàn)證工作
一次訂閱即可支持多種架構(gòu)(如Arm、RISC-V、Renesas RX、RL78、RH850等),確保開(kāi)發(fā)的靈活性和效率
在確保功能安全合規(guī)的同時(shí),加快產(chǎn)品上市時(shí)間
對(duì)于開(kāi)發(fā)安全關(guān)鍵型應(yīng)用的公司,IAR提供了經(jīng)濟(jì)高效、開(kāi)箱即用的解決方案,省去了與工具鏈驗(yàn)證相關(guān)的復(fù)雜性、時(shí)間和成本。
下一步?立即行動(dòng)!
實(shí)現(xiàn)功能安全合規(guī)性不一定是高成本和高風(fēng)險(xiǎn)的代名詞。借助IAR的功能安全工具鏈,企業(yè)可以顯著降低工具鏈驗(yàn)證成本、縮短上市時(shí)間,并專注于打造更高質(zhì)量的安全關(guān)鍵型產(chǎn)品。
-
IAR
+關(guān)注
關(guān)注
5文章
381瀏覽量
37461 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50216 -
功能安全
+關(guān)注
關(guān)注
2文章
134瀏覽量
5980
原文標(biāo)題:為什么驗(yàn)證自己的功能安全工具鏈既費(fèi)錢(qián)又費(fèi)時(shí)?
文章出處:【微信號(hào):IAR愛(ài)亞系統(tǒng),微信公眾號(hào):IAR愛(ài)亞系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
邊緣設(shè)備AI部署:編譯器如何實(shí)現(xiàn)輕量化與高性能?
HighTec編譯器全面適配紫光同芯THA6 Gen2系列產(chǎn)品
什么樣的代碼會(huì)被編譯器優(yōu)化
Triton編譯器與GPU編程的結(jié)合應(yīng)用
Triton編譯器如何提升編程效率
Triton編譯器在高性能計(jì)算中的應(yīng)用
Triton編譯器的優(yōu)化技巧
Triton編譯器的優(yōu)勢(shì)與劣勢(shì)分析
Triton編譯器在機(jī)器學(xué)習(xí)中的應(yīng)用
Triton編譯器支持的編程語(yǔ)言
Triton編譯器與其他編譯器的比較
Triton編譯器功能介紹 Triton編譯器使用教程
HighTec C/C++編譯器支持Andes晶心科技RISC-V IP
C7000優(yōu)化C/C++編譯器

Keil編譯器優(yōu)化方法

評(píng)論