如何符合功能安全I(xiàn)SO 26262標(biāo)準(zhǔn)
介紹
ISO 26262是汽車行業(yè)使用的功能安全標(biāo)準(zhǔn),改編自IEC 61508。它包含對軟件開發(fā)和設(shè)計(jì)的要求。大多數(shù)要求都包含在第 6 部分的合規(guī)性表格中。
在本白皮書中,您將學(xué)到如何使用編碼標(biāo)準(zhǔn)和靜態(tài)代碼分析工具來幫助您符合ISO 26262中每級ASIL的要求。
汽車上越來越多地使用電子設(shè)備,而這些設(shè)備正在變得越來越復(fù)雜。軟件故障不是小事,它可能會(huì)危及車輛的安全。開發(fā)團(tuán)隊(duì)需要確保不會(huì)發(fā)生故障。但詳盡的測試幾乎不可能,因此系統(tǒng)必須在設(shè)計(jì)上就能夠防止故障或者確保故障時(shí)的行為是受控的。
符合功能安全標(biāo)準(zhǔn),如ISO 26262,是安全汽車系統(tǒng)設(shè)計(jì)的關(guān)鍵。
ISO 26262 概述
ISO 26262改編自安全相關(guān)的電子系統(tǒng)的功能安全標(biāo)準(zhǔn)IEC 61508,它重點(diǎn)關(guān)注車輛系統(tǒng)在整個(gè)安全生命周期中的特定需求。
需要符合 ISO 26262 的系統(tǒng)包括:
? 駕駛員輔助系統(tǒng)。
? 推進(jìn)和車輛動(dòng)態(tài)控制。
? 主動(dòng)和被動(dòng)安全系統(tǒng)。
越是復(fù)雜的系統(tǒng),失敗的風(fēng)險(xiǎn)就越大。這包括系統(tǒng)性和隨機(jī)性硬件故障。
如何使用 ISO 26262 降低風(fēng)險(xiǎn)
ISO 26262 為開發(fā)人員提供了減輕這些風(fēng)險(xiǎn)的指南。這包括以下要求和設(shè)計(jì)過程。
汽車安全完整性等級 (ASIL)
ISO 26262 對風(fēng)險(xiǎn)和安全要求進(jìn)行分類。有四個(gè)汽車安全完整性等級(ASIL A – D)。ASIL A 是最溫和的級別。ASIL D是最嚴(yán)格的級別。
系統(tǒng)(功能級)的 ASIL決定了開發(fā)團(tuán)隊(duì)需要使用哪些方法。
ISO 26262 第 6 部分規(guī)定了這些要求,包括:
? 軟件開發(fā)的啟動(dòng)。
? 軟件架構(gòu)設(shè)計(jì)。
? 軟件單元設(shè)計(jì)和實(shí)現(xiàn)。
編碼標(biāo)準(zhǔn)要求
建議使用編碼標(biāo)準(zhǔn),例如 MISRA,以符合 ISO 26262。使用編碼標(biāo)準(zhǔn)與靜態(tài)代碼分析工具可以幫助您遵守ISO 26262第6部分的要求。以下是如何達(dá)到這些標(biāo)準(zhǔn)。
ISO 26262,第 6 部分合規(guī)表
ISO 26262 第 6 部分包括定義實(shí)現(xiàn)符合標(biāo)準(zhǔn)方法的表格。
在這里,我們將介紹如何使用 Helix QAC (一種用于 C/C++的靜態(tài)代碼分析工具)來遵守其中四個(gè)表。
建議方法的關(guān)鍵標(biāo)注:
++ 強(qiáng)烈建議的。
+ 建議的。
O 無建議。
表1—建模和編碼指南涵蓋的通則
表 1 包括為所有 ASIL 級別推薦的建模和編碼指南。對于用 C 或 C++ 編寫的軟件,您可以使用 Helix QAC 來遵守大多數(shù)這些規(guī)則。
例如,它強(qiáng)烈建議在所有ASIL級別中強(qiáng)制降低代碼復(fù)雜度。您可以使用Helix QAC的web儀表盤隨時(shí)監(jiān)控代碼復(fù)雜度的變化趨勢,這樣可以很容易地確保代碼庫不會(huì)隨著體量的增加而變得更加復(fù)雜。

表3—軟件架構(gòu)設(shè)計(jì)的原則
表3涵蓋了為所有 ASIL 級別推薦的架構(gòu)設(shè)計(jì)原則。您可以使用 Helix QAC 來遵守其中一些原則。
例如,強(qiáng)烈建議限制所有 ASIL 級別的軟件組件的大小。Helix QAC測量和報(bào)告了與代碼大小相關(guān)的幾個(gè)不同指標(biāo)。

表 8 —軟件單元設(shè)計(jì)和實(shí)現(xiàn)的設(shè)計(jì)原則
表 8 涵蓋了為所有 ASIL 級別推薦的設(shè)計(jì)原則。Helix QAC 與 MISRA 合規(guī)性模塊相結(jié)合,可用于遵守這些原則。
例如,強(qiáng)烈建議(在所有 ASIL 級別)在子程序和函數(shù)中只有一個(gè)入口點(diǎn)和一個(gè)出口點(diǎn)。
使用 Helix QAC,您可以強(qiáng)制執(zhí)行以下 MISRA 規(guī)則以符合此設(shè)計(jì)要求:
MISRA C:2004 規(guī)則 14.4:不應(yīng)使用 goto 語句。
MISRA C:2004 規(guī)則 14.7:一個(gè)函數(shù)在其末尾應(yīng)該有單一的退出點(diǎn)。

表9 -軟件單元設(shè)計(jì)與實(shí)現(xiàn)的驗(yàn)證方法
表 9 涵蓋了軟件設(shè)計(jì)的驗(yàn)證方法。Helix QAC 可用于執(zhí)行其中幾種方法。
例如,除了基本的靜態(tài)代碼分析之外,您還可以使用 Helix QAC 自動(dòng)執(zhí)行復(fù)雜的數(shù)據(jù)流分析。Helix QAC 會(huì)為您找出潛在的錯(cuò)誤,讓您可以更快地驗(yàn)證軟件設(shè)計(jì)。

使用Helix QAC輕松實(shí)現(xiàn)ISO 26262合規(guī)性
Helix QAC 是一個(gè)靜態(tài)代碼分析工具。它根據(jù)編碼規(guī)則檢查您的代碼,包括 MISRA 和AUTOSAR。這可以幫助您滿足 ISO 26262 中包含的所有 ASIL 級別的合規(guī)性要求。
Helix QAC 已通過 SGS-TüV-SAAR 安全關(guān)鍵合規(guī)性認(rèn)證。這包括所有 ASIL 級別 (A – D) 的ISO 26262 合規(guī)性。
認(rèn)證也涵蓋了MISRA C/C++ 和 AUTOSAR C++ 合規(guī)性模塊。
通過使用Helix QAC,您將減少合規(guī)的時(shí)間和成本。
更多信息請?jiān)L問:http://www.softtest.cn/show/41.html
浙公網(wǎng)安備 33010602011771號