汽車越來越依賴電子產(chǎn)品,制造商也越來越多地轉(zhuǎn)向電子產(chǎn)品和軟件方面的創(chuàng)新,以賦予他們競(jìng)爭(zhēng)優(yōu)勢(shì)。一輛現(xiàn)代豪華汽車可能有多達(dá) 100 個(gè)不同的嵌入式處理器,運(yùn)行超過 1 億行代碼。有了這么多的軟件,基本上不可能把它弄好。如今,據(jù)估計(jì) 60-70% 的汽車召回涉及軟件。
汽車系統(tǒng)中軟件缺陷的風(fēng)險(xiǎn)很高,因?yàn)檐浖刂浦囕v的許多安全關(guān)鍵方面,包括油門、變速箱和制動(dòng)器。因此,安全關(guān)鍵型汽車軟件的開發(fā)需要嚴(yán)格的標(biāo)準(zhǔn)和縝密的方法。
2011 年,ISO 26262 作為開發(fā)安全關(guān)鍵型汽車電子系統(tǒng)的國(guó)際標(biāo)準(zhǔn)發(fā)布,其在全球范圍內(nèi)的使用正在增加。它基于更通用的 IEC 61508 安全標(biāo)準(zhǔn),但引入了針對(duì)汽車的改進(jìn)。本文試圖總結(jié)標(biāo)準(zhǔn)中對(duì)嵌入式軟件開發(fā)人員最重要的一些關(guān)鍵方面。它首先簡(jiǎn)要介紹了 ISO 26262,并描述了如何使用一般工具來幫助進(jìn)行認(rèn)證。接下來描述了工具如何獲得用于認(rèn)證的資格。上一節(jié)討論的關(guān)鍵要點(diǎn)是,該標(biāo)準(zhǔn)的大部分內(nèi)容都涉及健壯的軟件開發(fā),并且如果使用得當(dāng),
ISO 26262
本文檔使用術(shù)語 ISO 26262 或“標(biāo)準(zhǔn)”來表示 ISO 26262 中涉及軟件的部分;特別是 ISO 26262-6:2011 道路車輛 — 功能安全 — 第 6 部分:軟件級(jí)別的產(chǎn)品開發(fā)。
ISO 26262 是一個(gè)基于風(fēng)險(xiǎn)的標(biāo)準(zhǔn)。雖然它承認(rèn)不可能將風(fēng)險(xiǎn)降至零,但它要求對(duì)風(fēng)險(xiǎn)進(jìn)行定性評(píng)估,并采取措施將風(fēng)險(xiǎn)降至“合理可行的最低水平”(ALARP)。
ISO 26262 中使用的詞匯涉及故障、錯(cuò)誤和故障,其中“故障可以表現(xiàn)為錯(cuò)誤……而錯(cuò)誤最終會(huì)導(dǎo)致故障”。要理解的最重要的術(shù)語是“汽車安全完整性等級(jí)”或 ASIL。ASIL 是對(duì)電子元件風(fēng)險(xiǎn)的分類。D 級(jí)代表風(fēng)險(xiǎn)最高的部件,A 級(jí)代表最低風(fēng)險(xiǎn)(當(dāng)風(fēng)險(xiǎn)被認(rèn)為低于 ASIL A 時(shí),使用附加標(biāo)簽 QM)。該級(jí)別是通過遵循適用于危害的評(píng)估過程來分配的。每個(gè)潛在危險(xiǎn)事件都按其可能造成的傷害嚴(yán)重程度進(jìn)行分類,其中 SIL0 表示沒有傷害,而 SIL3 表示對(duì)生命的威脅。評(píng)估中的其他重要因素是暴露,范圍從 E0(極低概率)到 E4(非常可能),
ASIL 是通過綜合考慮這些因素來確定的。很明顯,在嚴(yán)重性、暴露性和可控性方面得分較高的危險(xiǎn)將被指定為 ASIL D。但是,如果發(fā)生概率非常低,則可以將嚴(yán)重性較高的危險(xiǎn)指定為 ASIL A。
一旦 ASIL 被確定為危險(xiǎn),它就會(huì)被減輕危險(xiǎn)的安全目標(biāo)和由此產(chǎn)生的安全要求繼承。然后 ASIL 規(guī)定了軟件的最低測(cè)試要求。
使用工具幫助認(rèn)證
ISO 26262 明確承認(rèn)軟件驗(yàn)證工具對(duì)于滿足測(cè)試要求至關(guān)重要。因此,該標(biāo)準(zhǔn)要求此類工具本身是合格的。需要注意的重要一點(diǎn)是,使用的工具本身可能不完善,這些不完善可能會(huì)破壞整個(gè)系統(tǒng)的安全案例,因此該標(biāo)準(zhǔn)要求評(píng)估工具置信度 (TCL)。這是通過評(píng)估兩件事來確定的:
如果測(cè)試工具失敗,則無法滿足測(cè)試要求的可能性,以及
用戶可以檢測(cè)到工具故障的概率
該值的范圍可以從 TCL1(最低置信度)到 TCL3(最高置信度)。兩個(gè)因素用于確定 TCL:工具影響 (TI) 和工具錯(cuò)誤檢測(cè) (TD)。
工具影響用于描述工具中潛在故障的后果。TI1 用于有爭(zhēng)議的工具本身故障 a) 不能導(dǎo)致系統(tǒng)故障,并且 b) 不能防止故障被檢測(cè)到。否則使用 TI2。
TD 是對(duì)工具報(bào)告故障的能力的置信度評(píng)估,其中 TD1 表示最低置信度,TD3 表示最高置信度。
一旦評(píng)估了工具置信度和錯(cuò)誤檢測(cè),就可以根據(jù)表 1 中的信息確定 TCL。
例如,考慮一個(gè)虛構(gòu)的動(dòng)態(tài)分析工具 Cov,它可用于測(cè)量通過在給定測(cè)試套件上運(yùn)行軟件實(shí)現(xiàn)的代碼覆蓋率。假設(shè) ASIL 為 D(風(fēng)險(xiǎn)最高),相應(yīng)的安全要求是測(cè)試套件必須達(dá)到 100% 的分支覆蓋率。
Cov 的工具影響顯然是 TI2,因?yàn)槿绻茨苷_報(bào)告覆蓋率指標(biāo),則可能無法滿足代碼覆蓋率要求。
判斷工具錯(cuò)誤檢測(cè)可能很棘手。假設(shè) Cov 有一個(gè)缺點(diǎn),它有時(shí)無法檢測(cè)代碼的某些部分,因此無法測(cè)量這些部分的代碼覆蓋率,并且在這種情況下它沒有發(fā)出警報(bào),而是簡(jiǎn)單地從其報(bào)告中省略了該信息。沒有經(jīng)驗(yàn)的工具用戶可能不會(huì)注意到遺漏,因此可能會(huì)無意中錯(cuò)過覆蓋目標(biāo)。在這種情況下,工具可能會(huì)被判斷為 TD2。
因此,參考表 1,Cov 的 TCL 將為 TCL2。
工具資質(zhì)
ISO 26262 規(guī)定具有 TCL1 的工具不需要進(jìn)一步鑒定,但 TCL2 和 TCL3 都要求必須使用至少一種工具鑒定方法,才能正確聲稱該工具合格。四種資格認(rèn)證方法是:
使用信心增加,這意味著該工具已成功用于類似項(xiàng)目的跟蹤記錄。
對(duì)工具開發(fā)過程的評(píng)價(jià),意味著工具開發(fā)者一直小心翼翼地遵循一個(gè)高質(zhì)量的軟件開發(fā)過程。
軟件工具的驗(yàn)證,意味著該工具已經(jīng)過嚴(yán)格的驗(yàn)證協(xié)議。
按照安全標(biāo)準(zhǔn)進(jìn)行開發(fā),即在開發(fā)過程中遵循嚴(yán)格的開發(fā)標(biāo)準(zhǔn)(如 ISO 26262 本身)。
對(duì)于較高的 ASIL 級(jí)別,強(qiáng)烈推薦后兩種方法,因?yàn)樗鼈儺a(chǎn)生高置信度。
工具鑒定并非微不足道,而且通常超出了大多數(shù)嵌入式軟件項(xiàng)目本身的范圍。幸運(yùn)的是,大多數(shù)關(guān)心 ISO 26262 的工具供應(yīng)商已經(jīng)完成了獲得認(rèn)證的工作。最好的情況是供應(yīng)商已經(jīng)獲得了專門從事該領(lǐng)域的獨(dú)立機(jī)構(gòu)的資格。獨(dú)立認(rèn)證意味著供應(yīng)商已成功滿足相當(dāng)苛刻的要求,不僅讓工具用戶對(duì)其質(zhì)量充滿信心,而且為這些用戶節(jié)省了大量的認(rèn)證工作。
當(dāng)然,要獲得給定嵌入式系統(tǒng)的 ISO 26262 認(rèn)證,開發(fā)人員必須自己制作案例,因此他們必須收集所有相關(guān)材料,包括所有工具資格。大多數(shù)供應(yīng)商將提供一個(gè)“認(rèn)證工具包”,其中包含該材料的易于使用的形式。
靜態(tài)分析工具和 ISO 26262
ISO 26262 不要求使用任何特定類別的工具;相反,它指定了代碼應(yīng)該具有的屬性,但通常只列出可用于提供證據(jù)證明代碼確實(shí)具有這些屬性的方法。在許多情況下,工具的使用實(shí)際上是強(qiáng)制性的(例如,如果不使用現(xiàn)代工具,基本上不可能收集準(zhǔn)確的代碼覆蓋率指標(biāo))。在其他情況下,可能不清楚是否有可用的工具可以提供幫助。
與靜態(tài)分析工具最相關(guān)的標(biāo)準(zhǔn)部分是第 8 節(jié):軟件單元設(shè)計(jì)和實(shí)現(xiàn)。靜態(tài)分析工具最明顯的應(yīng)用之一是驗(yàn)證軟件是否符合第 5.4.7 節(jié)規(guī)定和第 8.4.3.d 節(jié)要求的編碼標(biāo)準(zhǔn)。汽車領(lǐng)域最好的例子當(dāng)然是 MISRA C。自從早期版本首次發(fā)明以來,發(fā)現(xiàn)此類違規(guī)一直是靜態(tài)分析工具的優(yōu)勢(shì)。
最新一代的靜態(tài)分析工具仍然能夠發(fā)現(xiàn)違反編碼標(biāo)準(zhǔn)的情況,但它們還具有更多功能。它們的主要目的是發(fā)現(xiàn)嚴(yán)重的編程錯(cuò)誤,例如那些可能導(dǎo)致程序崩潰或陷入未定義行為的錯(cuò)誤。這些工具的設(shè)計(jì)足夠靈活,可以使用它們來滿足 ISO 26262 的其他一些要求。
最相關(guān)的部分之一是 8.4.4,其中列出了“在源代碼級(jí)別進(jìn)行軟件單元設(shè)計(jì)和實(shí)現(xiàn)的設(shè)計(jì)原則……”以實(shí)現(xiàn)包括正確執(zhí)行順序、健壯性甚至代碼可讀性在內(nèi)的屬性。第 8.4.5 節(jié)繼續(xù)列出應(yīng)該用于驗(yàn)證軟件是否符合要求的技術(shù)。列出的技術(shù)之一是靜態(tài)代碼分析。
ISO 26262 在幾個(gè)方面引用了“穩(wěn)健性”的概念。在軟件單元設(shè)計(jì)和實(shí)現(xiàn)的上下文中,魯棒性被認(rèn)為包括防止“不可信的值、執(zhí)行錯(cuò)誤、被零除以及數(shù)據(jù)流和控制流中的錯(cuò)誤”(8.4.4)。軟件單元測(cè)試 (9.4.2) 和軟件集成與測(cè)試 (10.4.3) 的穩(wěn)健性特征包括“不存在無法訪問的軟件、有效的錯(cuò)誤檢測(cè)和處理”。
總結(jié)穩(wěn)健性要求的一種合理方式是,應(yīng)盡量減少可預(yù)防的嚴(yán)重軟件缺陷的數(shù)量。這正是高級(jí)靜態(tài)分析工具的最大優(yōu)勢(shì)。
粗略地說,這些工具從解析代碼開始,然后創(chuàng)建整個(gè)程序的高保真模型。發(fā)現(xiàn)缺陷的分析通過以各種方式遍歷模型尋找異常來進(jìn)行。最復(fù)雜的算法通過探索代碼路徑來模擬程序的執(zhí)行,但它們不是使用具體值來表示執(zhí)行狀態(tài),而是使用一組抽象方程來模擬程序?qū)傩浴?/p>
這些工具最重要的特性是,它們可以探索比最復(fù)雜的測(cè)試方案所能探索的更多的執(zhí)行路徑。即使代碼已經(jīng)過嚴(yán)格的覆蓋要求測(cè)試,例如完整的 MCDC(ISO 26262 規(guī)定的最嚴(yán)苛的要求),也不能保證完全的路徑覆蓋。原則上,高級(jí)靜態(tài)分析工具可以保證 100% 的路徑覆蓋(盡管在實(shí)踐中,通常會(huì)做出犧牲以實(shí)現(xiàn)合理的可擴(kuò)展性和精度)。因此,他們能夠并且確實(shí)發(fā)現(xiàn)了傳統(tǒng)測(cè)試遺漏的缺陷。此外,它們可以在開發(fā)周期的早期應(yīng)用,甚至在編寫單元測(cè)試之前。眾所周知,越早發(fā)現(xiàn)bug,修復(fù)越便宜,
結(jié)論
任何安全關(guān)鍵編碼標(biāo)準(zhǔn)(尤其是 ISO 26262)的動(dòng)機(jī)都是為了將??軟件故障對(duì) ALARP 的風(fēng)險(xiǎn)降低到盡可能低的程度。這意味著不僅要遵守標(biāo)準(zhǔn)的最低要求,還要應(yīng)用最佳實(shí)踐技術(shù)來實(shí)現(xiàn)高質(zhì)量。先進(jìn)的靜態(tài)分析工具的特性使其不僅在遵守法律條文方面非常寶貴,而且對(duì)于保持其精神 - 開發(fā)健壯和可靠的軟件。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19863瀏覽量
234406 -
嵌入式
+關(guān)注
關(guān)注
5147文章
19616瀏覽量
316462 -
汽車電子
+關(guān)注
關(guān)注
3037文章
8305瀏覽量
169942
發(fā)布評(píng)論請(qǐng)先 登錄
小鵬汽車斬獲兩項(xiàng)國(guó)際頂級(jí)安全認(rèn)證 ISO 26262功能安全流程認(rèn)證和ISO 21448預(yù)期功能安全(SOTIF)流程認(rèn)證

美芯晟獲得ISO 26262功能安全管理體系A(chǔ)SIL D認(rèn)證證書

廣立微DFTEXP榮獲ISO 26262認(rèn)證
進(jìn)芯電子通過ISO 26262道路車輛功能安全管理體系認(rèn)證
基于ISO 26262的汽車芯片認(rèn)證流程解讀
五菱新能源通過ISO 26262汽車功能安全ASIL D流程認(rèn)證
足下科技通過ISO 26262 ASIL B功能安全產(chǎn)品認(rèn)證
穩(wěn)先微電子獲得ISO 26262 ASIL D級(jí)認(rèn)證
Andes D45-SE處理器榮獲ISO 26262 ASIL-D認(rèn)證
廣汽部件榮獲SGS ISO 26262 ASIL D功能安全流程認(rèn)證
華陽通用通過ISO 26262 ASIL D認(rèn)證
知識(shí)分享 | 符合ISO 26262標(biāo)準(zhǔn)的工具分類與鑒定

什么是汽車ISO 26262功能安全標(biāo)準(zhǔn)?

芯來NA系列產(chǎn)品再獲ISO 26262 ASIL-D產(chǎn)品認(rèn)證證書

評(píng)論