遵守 ISO 26262、EN 50128 和 IEC 61508 等復(fù)雜功能安全標(biāo)準(zhǔn)的要求非常復(fù)雜。只需考慮這需要的代碼覆蓋量,從應(yīng)用軟件到所有 C 編譯器中使用的 C90 和 C99 等庫(kù)中存在的各種條件。這意味著為您甚至沒(méi)有編寫(xiě)的代碼提供代碼覆蓋!
這就是為什么 Solid Sands 開(kāi)發(fā)了 SuperGuard,這是一個(gè)用于安全關(guān)鍵和安全相關(guān)系統(tǒng)的 C 庫(kù)安全認(rèn)證套件。基于 Solid Sands 的 SuperTest 庫(kù)測(cè)試和驗(yàn)證套件,SuperGuard 被設(shè)計(jì)為 C90 和 C99 庫(kù)的以需求為中心的測(cè)試解決方案,該解決方案與 ISO C 規(guī)范緊密結(jié)合,沒(méi)有為每個(gè) C 庫(kù)函數(shù)定義測(cè)試要求。SuperGuard 工具將此規(guī)范轉(zhuǎn)換為測(cè)試要求,這些要求說(shuō)明了標(biāo)準(zhǔn) C 庫(kù)中條件函數(shù)的不同實(shí)現(xiàn),并調(diào)用了合規(guī)性所需的那些。
這些要求被記錄并鏈接到 SuperGuard 套件中的測(cè)試規(guī)范,然后進(jìn)一步鏈接到 SuperTest 工具中的 C 庫(kù)測(cè)試。SuperGuard 驗(yàn)證和文檔鏈為必須向國(guó)際認(rèn)證機(jī)構(gòu)證明應(yīng)用軟件、工具鏈、方法和流程符合安全標(biāo)準(zhǔn)的開(kāi)發(fā)人員提供完整的可追溯性。
該套件與 Windows 和 Linux 系統(tǒng)兼容,可與任何 C 或 C++ 編譯器(包括裸機(jī)目標(biāo))一起使用,支持配置插件,并且可以利用多處理功能來(lái)傳播驗(yàn)證運(yùn)行,以便更快地執(zhí)行測(cè)試。
SuperGuard C 庫(kù)安全認(rèn)證套件在行動(dòng)
如前所述,SuperGuard 基于 SuperTest 套件,其中包含針對(duì) ISO 標(biāo)準(zhǔn) C 庫(kù)規(guī)范的每個(gè)部分的庫(kù)測(cè)試。SuperGuard 測(cè)試需求源自這些測(cè)試,以生成可從原本含糊的定義中測(cè)試的案例。
例如,函數(shù)“strlen()”的參數(shù)必須指向一個(gè)有效的字符串。這是在 C 語(yǔ)言規(guī)范中定義的。它是 strlen() 函數(shù)的先決條件。如果應(yīng)用程序開(kāi)發(fā)人員未能滿足此前提條件,則程序具有未定義的行為。這不好,但它是 C 的一個(gè)很好理解的屬性。strlen() 函數(shù)的實(shí)現(xiàn)不需要驗(yàn)證前提條件是否為真——這在 C 中根本不可能。所以,這個(gè) pre-條件是對(duì)程序員的要求。它不會(huì)導(dǎo)致測(cè)試 strlen() 的實(shí)現(xiàn)。
此過(guò)程會(huì)生成詳細(xì)的結(jié)構(gòu)化需求列表,然后將其轉(zhuǎn)換為可測(cè)試需求的測(cè)試規(guī)范。該套件還可以為單個(gè)需求生成多個(gè)測(cè)試規(guī)范。對(duì)于那些實(shí)現(xiàn)定義的元素,SuperGuard 為工程師提供了完全控制來(lái)添加他們自己的測(cè)試或調(diào)整生成的測(cè)試集。
然后可以將結(jié)構(gòu)代碼覆蓋工具應(yīng)用于庫(kù)實(shí)現(xiàn)。Solid Sands 使用這種方法為 MUSL-C 庫(kù)實(shí)現(xiàn)和高修改條件/決策覆蓋率實(shí)現(xiàn)了高達(dá) 100% 的代碼覆蓋率。
測(cè)試運(yùn)行后,SuperGuard 報(bào)告工具可以將結(jié)果鏈接回套件中先前生成的需求,并提供滿足需求和失敗的實(shí)現(xiàn)的概述。
從 ISO 標(biāo)準(zhǔn) C 庫(kù)規(guī)范到生成測(cè)試需求、創(chuàng)建測(cè)試規(guī)范和執(zhí)行測(cè)試一直到報(bào)告的鏈接和文檔是符合當(dāng)今安全關(guān)鍵標(biāo)準(zhǔn)所需的驗(yàn)證鏈。
SuperGuard C 庫(kù)安全認(rèn)證套件入門(mén)
總體而言,SuperGuard 測(cè)試套件允許開(kāi)發(fā)人員將其軟件映射到安全關(guān)鍵系統(tǒng)的要求,從而簡(jiǎn)化了安全認(rèn)證過(guò)程。完整的 SuperGuard C 庫(kù)安全認(rèn)證套件將于今年夏天作為獨(dú)立解決方案和 SuperTest 的附加組件提供。C++ 標(biāo)準(zhǔn)庫(kù)版本目前也在開(kāi)發(fā)中。
審核編輯:郭婷
-
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75268 -
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70697 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50203
發(fā)布評(píng)論請(qǐng)先 登錄
PX5 FILE嵌入式文件系統(tǒng)通過(guò)功能安全認(rèn)證
鋰電芯有3C認(rèn)證電池組還要做3C認(rèn)證嗎

Analog Devices / Maxim Integrated MAX66301評(píng)估套件數(shù)據(jù)手冊(cè)
小鵬汽車斬獲兩項(xiàng)國(guó)際頂級(jí)安全認(rèn)證 ISO 26262功能安全流程認(rèn)證和ISO 21448預(yù)期功能安全(SOTIF)流程認(rèn)證

DS28C36 DeepCover安全認(rèn)證器技術(shù)手冊(cè)
DS28C40 DeepCover汽車應(yīng)用I2C安全認(rèn)證器技術(shù)手冊(cè)

汽車芯片廠商芯弦半導(dǎo)體NSSineTM系列實(shí)時(shí)控制MCU通過(guò)IEC 60730 Class B功能安全認(rèn)證

國(guó)芯科技MCU芯片榮獲ISO 26262 ASIL-D功能安全產(chǎn)品認(rèn)證
恩智浦推出EdgeLock A30安全認(rèn)證器
博世商用車電機(jī)控制器通過(guò)ISO 26262 ASIL-C功能安全產(chǎn)品認(rèn)證
HighTec C/C++編譯器套件全面支持芯來(lái)RISC-V IP

言必信科技 電源濾波器的安全認(rèn)證有哪些?

兆易創(chuàng)新再次獲得TüV萊茵STL功能安全認(rèn)證
增強(qiáng)BQ26100認(rèn)證安全的方法

評(píng)論