遵守 ISO 26262、EN 50128 和 IEC 61508 等復(fù)雜功能安全標(biāo)準(zhǔn)的要求非常復(fù)雜。只需考慮這需要的代碼覆蓋量,從應(yīng)用軟件到所有 C 編譯器中使用的 C90 和 C99 等庫中存在的各種條件。這意味著為您甚至沒有編寫的代碼提供代碼覆蓋!
這就是為什么 Solid Sands 開發(fā)了 SuperGuard,這是一個(gè)用于安全關(guān)鍵和安全相關(guān)系統(tǒng)的 C 庫安全認(rèn)證套件。基于 Solid Sands 的 SuperTest 庫測(cè)試和驗(yàn)證套件,SuperGuard 被設(shè)計(jì)為 C90 和 C99 庫的以需求為中心的測(cè)試解決方案,該解決方案與 ISO C 規(guī)范緊密結(jié)合,沒有為每個(gè) C 庫函數(shù)定義測(cè)試要求。SuperGuard 工具將此規(guī)范轉(zhuǎn)換為測(cè)試要求,這些要求說明了標(biāo)準(zhǔn) C 庫中條件函數(shù)的不同實(shí)現(xiàn),并調(diào)用了合規(guī)性所需的那些。
這些要求被記錄并鏈接到 SuperGuard 套件中的測(cè)試規(guī)范,然后進(jìn)一步鏈接到 SuperTest 工具中的 C 庫測(cè)試。SuperGuard 驗(yàn)證和文檔鏈為必須向國際認(rèn)證機(jī)構(gòu)證明應(yīng)用軟件、工具鏈、方法和流程符合安全標(biāo)準(zhǔn)的開發(fā)人員提供完整的可追溯性。
該套件與 Windows 和 Linux 系統(tǒng)兼容,可與任何 C 或 C++ 編譯器(包括裸機(jī)目標(biāo))一起使用,支持配置插件,并且可以利用多處理功能來傳播驗(yàn)證運(yùn)行,以便更快地執(zhí)行測(cè)試。
SuperGuard C 庫安全認(rèn)證套件在行動(dòng)
如前所述,SuperGuard 基于 SuperTest 套件,其中包含針對(duì) ISO 標(biāo)準(zhǔn) C 庫規(guī)范的每個(gè)部分的庫測(cè)試。SuperGuard 測(cè)試需求源自這些測(cè)試,以生成可從原本含糊的定義中測(cè)試的案例。
例如,函數(shù)“strlen()”的參數(shù)必須指向一個(gè)有效的字符串。這是在 C 語言規(guī)范中定義的。它是 strlen() 函數(shù)的先決條件。如果應(yīng)用程序開發(fā)人員未能滿足此前提條件,則程序具有未定義的行為。這不好,但它是 C 的一個(gè)很好理解的屬性。strlen() 函數(shù)的實(shí)現(xiàn)不需要驗(yàn)證前提條件是否為真——這在 C 中根本不可能。所以,這個(gè) pre-條件是對(duì)程序員的要求。它不會(huì)導(dǎo)致測(cè)試 strlen() 的實(shí)現(xiàn)。

此過程會(huì)生成詳細(xì)的結(jié)構(gòu)化需求列表,然后將其轉(zhuǎn)換為可測(cè)試需求的測(cè)試規(guī)范。該套件還可以為單個(gè)需求生成多個(gè)測(cè)試規(guī)范。對(duì)于那些實(shí)現(xiàn)定義的元素,SuperGuard 為工程師提供了完全控制來添加他們自己的測(cè)試或調(diào)整生成的測(cè)試集。
然后可以將結(jié)構(gòu)代碼覆蓋工具應(yīng)用于庫實(shí)現(xiàn)。Solid Sands 使用這種方法為 MUSL-C 庫實(shí)現(xiàn)和高修改條件/決策覆蓋率實(shí)現(xiàn)了高達(dá) 100% 的代碼覆蓋率。
測(cè)試運(yùn)行后,SuperGuard 報(bào)告工具可以將結(jié)果鏈接回套件中先前生成的需求,并提供滿足需求和失敗的實(shí)現(xiàn)的概述。
從 ISO 標(biāo)準(zhǔn) C 庫規(guī)范到生成測(cè)試需求、創(chuàng)建測(cè)試規(guī)范和執(zhí)行測(cè)試一直到報(bào)告的鏈接和文檔是符合當(dāng)今安全關(guān)鍵標(biāo)準(zhǔn)所需的驗(yàn)證鏈。
SuperGuard C 庫安全認(rèn)證套件入門
總體而言,SuperGuard 測(cè)試套件允許開發(fā)人員將其軟件映射到安全關(guān)鍵系統(tǒng)的要求,從而簡(jiǎn)化了安全認(rèn)證過程。完整的 SuperGuard C 庫安全認(rèn)證套件將于今年夏天作為獨(dú)立解決方案和 SuperTest 的附加組件提供。C++ 標(biāo)準(zhǔn)庫版本目前也在開發(fā)中。
審核編輯:郭婷
-
C++
+關(guān)注
關(guān)注
22文章
2124瀏覽量
77117 -
代碼
+關(guān)注
關(guān)注
30文章
4968瀏覽量
73973 -
編譯器
+關(guān)注
關(guān)注
1文章
1672瀏覽量
51614
發(fā)布評(píng)論請(qǐng)先 登錄
極海APM32F427系列MCU榮獲IEC 60730/60335功能安全認(rèn)證
數(shù)字標(biāo)準(zhǔn)單元庫的工藝設(shè)計(jì)套件生成步驟
NTAG X DNA 快速上手:安全認(rèn)證 IC 的開發(fā)指南
電源3C認(rèn)證標(biāo)準(zhǔn)要求
使用SAFERTOS與LDRA工具套件提升功能安全
東風(fēng)商用車榮獲DEKRA德凱ASIL-C功能安全產(chǎn)品認(rèn)證
鋰電池3c認(rèn)證需要滿足哪些
3C認(rèn)證如何辦理,流程是什么
3c認(rèn)證怎么辦理
3C認(rèn)證派生是什么意思?
充電寶的3C認(rèn)證是什么?為什么要進(jìn)行3C認(rèn)證?
鋰電芯有3C認(rèn)證電池組還要做3C認(rèn)證嗎
Analog Devices / Maxim Integrated MAX66301評(píng)估套件數(shù)據(jù)手冊(cè)
小鵬汽車斬獲兩項(xiàng)國際頂級(jí)安全認(rèn)證 ISO 26262功能安全流程認(rèn)證和ISO 21448預(yù)期功能安全(SOTIF)流程認(rèn)證
汽車芯片廠商芯弦半導(dǎo)體NSSineTM系列實(shí)時(shí)控制MCU通過IEC 60730 Class B功能安全認(rèn)證
Solid Sands SuperGuard C庫安全認(rèn)證套件
評(píng)論