遵守 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 庫測試和驗(yàn)證套件,SuperGuard 被設(shè)計(jì)為 C90 和 C99 庫的以需求為中心的測試解決方案,該解決方案與 ISO C 規(guī)范緊密結(jié)合,沒有為每個(gè) C 庫函數(shù)定義測試要求。SuperGuard 工具將此規(guī)范轉(zhuǎn)換為測試要求,這些要求說明了標(biāo)準(zhǔn) C 庫中條件函數(shù)的不同實(shí)現(xiàn),并調(diào)用了合規(guī)性所需的那些。
這些要求被記錄并鏈接到 SuperGuard 套件中的測試規(guī)范,然后進(jìn)一步鏈接到 SuperTest 工具中的 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í)行測試。
SuperGuard C 庫安全認(rèn)證套件在行動(dòng)
如前所述,SuperGuard 基于 SuperTest 套件,其中包含針對 ISO 標(biāo)準(zhǔn) C 庫規(guī)范的每個(gè)部分的庫測試。SuperGuard 測試需求源自這些測試,以生成可從原本含糊的定義中測試的案例。
例如,函數(shù)“strlen()”的參數(shù)必須指向一個(gè)有效的字符串。這是在 C 語言規(guī)范中定義的。它是 strlen() 函數(shù)的先決條件。如果應(yīng)用程序開發(fā)人員未能滿足此前提條件,則程序具有未定義的行為。這不好,但它是 C 的一個(gè)很好理解的屬性。strlen() 函數(shù)的實(shí)現(xiàn)不需要驗(yàn)證前提條件是否為真——這在 C 中根本不可能。所以,這個(gè) pre-條件是對程序員的要求。它不會導(dǎo)致測試 strlen() 的實(shí)現(xiàn)。
此過程會生成詳細(xì)的結(jié)構(gòu)化需求列表,然后將其轉(zhuǎn)換為可測試需求的測試規(guī)范。該套件還可以為單個(gè)需求生成多個(gè)測試規(guī)范。對于那些實(shí)現(xiàn)定義的元素,SuperGuard 為工程師提供了完全控制來添加他們自己的測試或調(diào)整生成的測試集。
然后可以將結(jié)構(gòu)代碼覆蓋工具應(yīng)用于庫實(shí)現(xiàn)。Solid Sands 使用這種方法為 MUSL-C 庫實(shí)現(xiàn)和高修改條件/決策覆蓋率實(shí)現(xiàn)了高達(dá) 100% 的代碼覆蓋率。
測試運(yùn)行后,SuperGuard 報(bào)告工具可以將結(jié)果鏈接回套件中先前生成的需求,并提供滿足需求和失敗的實(shí)現(xiàn)的概述。
從 ISO 標(biāo)準(zhǔn) C 庫規(guī)范到生成測試需求、創(chuàng)建測試規(guī)范和執(zhí)行測試一直到報(bào)告的鏈接和文檔是符合當(dāng)今安全關(guān)鍵標(biāo)準(zhǔn)所需的驗(yàn)證鏈。
SuperGuard C 庫安全認(rèn)證套件入門
總體而言,SuperGuard 測試套件允許開發(fā)人員將其軟件映射到安全關(guān)鍵系統(tǒng)的要求,從而簡化了安全認(rèn)證過程。完整的 SuperGuard C 庫安全認(rèn)證套件將于今年夏天作為獨(dú)立解決方案和 SuperTest 的附加組件提供。C++ 標(biāo)準(zhǔn)庫版本目前也在開發(fā)中。
審核編輯:郭婷
-
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75328 -
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70757 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50228
發(fā)布評論請先 登錄
PX5 FILE嵌入式文件系統(tǒng)通過功能安全認(rèn)證
鋰電芯有3C認(rèn)證電池組還要做3C認(rèn)證嗎

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

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

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

國芯科技MCU芯片榮獲ISO 26262 ASIL-D功能安全產(chǎn)品認(rèn)證
芯??萍糂MS系列:數(shù)字安全認(rèn)證,守護(hù)電池安全
恩智浦推出EdgeLock A30安全認(rèn)證器
博世商用車電機(jī)控制器通過ISO 26262 ASIL-C功能安全產(chǎn)品認(rèn)證
HighTec C/C++編譯器套件全面支持芯來RISC-V IP

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

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

評論