0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過覆蓋分析深入研究安全關(guān)鍵代碼測試

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Jay Thomas ? 2022-06-19 15:55 ? 次閱讀

對于安全關(guān)鍵代碼,確保應(yīng)用程序執(zhí)行它應(yīng)該執(zhí)行的操作并正確執(zhí)行這些操作的功能測試只是表面上的問題。應(yīng)用程序包含隱藏的復(fù)雜性,這些復(fù)雜性可能會在不可預(yù)測的條件下出現(xiàn)。如果編碼不正確,它們可能會導(dǎo)致災(zāi)難。開發(fā)人員必須深入挖掘以測試所有底層代碼是否存在細(xì)微錯誤。但這究竟是什么意思?

雖然可以從系統(tǒng)需求文檔手動生成基本功能測試,但使用自動化工具(生成測試工具和測試用例的工具、運行這些測試的工具以及評估測試有效性的工具)進行更深層次的測試會更有效。 最后,關(guān)鍵活動是通過覆蓋分析完成的。

在基本層面上,函數(shù)(或過程)覆蓋分析顯示每個函數(shù)是否已被調(diào)用。語句覆蓋更進一步,提供了一種方法來確保每一行代碼至少被執(zhí)行一次。但是雖然這些都很有用,但覆蓋分析不僅僅是函數(shù)和語句覆蓋。

安全關(guān)鍵代碼需要更深入的分析

可以在多個級別測試代碼,安全關(guān)鍵代碼需要深入、徹底的研究。分支/決策覆蓋提供了更徹底的檢查,旨在證明每個分支至少被采用一次,而分支條件組合覆蓋需要測試所有可能的條件組合。

這聽起來很簡單,但如果一個決定取決于四個或更多條件,那么測試每個組合的要求就會變得不合理。修改條件/決策覆蓋或 MC/DC 旨在提供一種實用的替代方案。MC/DC 確保:

調(diào)用每個入口和出口點

每一個決定都有每一個可能的結(jié)果

決策中的每個條件都包含所有可能的結(jié)果

決策中的每個條件都顯示為獨立地影響決策的結(jié)果

函數(shù)調(diào)用覆蓋擴展了該查詢線,并通過生成有關(guān)已執(zhí)行哪些函數(shù)調(diào)用的信息來構(gòu)建函數(shù)覆蓋概念。這很重要,因為錯誤通常發(fā)生在模塊之間的接口中。

在某些情況下,例如受 DO-178C 等標(biāo)準(zhǔn)約束的關(guān)鍵航空電子應(yīng)用,還需要進行更苛刻的測試。對于最關(guān)鍵的“DAL A”應(yīng)用,DO-178C 需要目標(biāo)代碼驗證,其中包括分析匯編代碼和源代碼的覆蓋信息。

動態(tài)測試通常使用軟件工具進行,該工具檢測源代碼的副本以在運行時提供覆蓋率數(shù)據(jù)。隨后分析該數(shù)據(jù)以準(zhǔn)確揭示代碼的哪些部分已被執(zhí)行,以及執(zhí)行到什么級別。它以數(shù)據(jù)和控制流程圖以及帶有符號的源代碼等顯示形式使開發(fā)人員可以看到結(jié)果(圖 1)。

poYBAGKu1oGAFoDPAAD6ZJmP9aY348.png

【圖1 | LDRA 的 TBvision 代碼覆蓋為 DO-178C 等安全關(guān)鍵標(biāo)準(zhǔn)提供語句、分支和 MC/DC 覆蓋。背景是一個分支/決策圖,交叉引用了帶注釋的源代碼。前景是每個功能和通過/失敗結(jié)果的覆蓋范圍摘要。]

使用自動化工具減輕瑣碎的測試任務(wù)

動態(tài)分析可以應(yīng)用于完整的應(yīng)用程序(系統(tǒng)測試)或它的子集(單元測試,包括集成組件測試),并且通常在完整系統(tǒng)可用時使用這兩種方法的組合。一個集成的工具套件整理來自兩個來源的信息,以提供整體覆蓋率指標(biāo)。單元測試工具通過靜態(tài)分析代碼結(jié)構(gòu),然后圍繞應(yīng)用程序創(chuàng)建一個“線束”或框架,在測試期間注入輸入并接收輸出,從而減輕了設(shè)置測試環(huán)境的繁瑣工作。對于安全關(guān)鍵型應(yīng)用程序,“測試向量”必須基于要求,以提供證據(jù)證明代碼對預(yù)期和未預(yù)期的輸入都按預(yù)期執(zhí)行,但仍滿足要求,僅此而已。

還可以通過對源代碼的深入靜態(tài)分析自動生成測試向量,這通常會導(dǎo)致在運行時覆蓋 50% 到 75% 的代碼。顯然,這并不能提供正確功能的證據(jù),但它確實在非關(guān)鍵應(yīng)用程序中占有一席之地,否則覆蓋率分析可能不會發(fā)生。即使在關(guān)鍵應(yīng)用程序中,這種方法通過驗證面對邊界值、空指針和默認(rèn) switch 語句條件等數(shù)據(jù)的穩(wěn)健行為,將動態(tài)分析超越了基于需求的測試。

在開發(fā)周期中盡早開始單元測試是最具成本效益的,甚至可能在目標(biāo)硬件可供開發(fā)人員使用之前。這意味著使用在主機開發(fā)系統(tǒng)和目標(biāo)硬件上應(yīng)用相同測試向量的工具非常重要,以便生成一次測試用例,從而節(jié)省時間和金錢。

一個完整的工具套件還可以提供數(shù)據(jù)和控制流分析形式的分析,這是 DO-178C(航空電子)和 ISO 26262(汽車)等標(biāo)準(zhǔn)所要求的,以確保功能的每次調(diào)用都已執(zhí)行,并且對數(shù)據(jù)的每次訪問都已執(zhí)行。它通過源代碼跟蹤變量并報告異常使用(圖 2)。

poYBAGKu1oiAQYh6AAD-tLioVe8065.png

【圖2 | 基于當(dāng)前測試運行的變量和參數(shù)使用報告突出顯示文件中使用變量的文件和位置,并使用自定義過濾器進行更精細(xì)的測試。]

這種深層次的測試——以及對測試的徹底和嚴(yán)格的評估——只有使用一套集成的軟件分析工具才能可靠地完成。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 汽車電子
    +關(guān)注

    關(guān)注

    3028

    文章

    8021

    瀏覽量

    167666
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2946

    瀏覽量

    66894
  • 航空電子
    +關(guān)注

    關(guān)注

    15

    文章

    492

    瀏覽量

    45327
收藏 人收藏

    評論

    相關(guān)推薦

    電容器深入研究:電路保護、濾波和能量存儲

    校參加了一些課程,并獲得了一些關(guān)于何時使用電容器以及它們?nèi)绾喂ぷ鞯恼鎸嵤纠?。從電路保護到濾波,從能量存儲到傳感,我正在深入研究簡單而復(fù)雜的電容器世界。 這些東西是如何運作的? 事實上,構(gòu)成電容器的只是由絕緣體隔開的兩個導(dǎo)體。
    的頭像 發(fā)表于 01-25 15:13 ?85次閱讀
    電容器<b class='flag-5'>深入研究</b>:電路保護、濾波和能量存儲

    如何提高嵌入式代碼質(zhì)量?

    技術(shù) 現(xiàn)代的嵌入式開發(fā)工具和測試技術(shù)可以極大地提升代碼質(zhì)量和開發(fā)效率: 1. 靜態(tài)分析工具:如Coverity、Lint等,能夠幫助發(fā)現(xiàn)潛在的代碼缺陷和
    發(fā)表于 01-15 10:48

    時域網(wǎng)絡(luò)分析儀的原理和應(yīng)用場景

    產(chǎn)品質(zhì)量和生產(chǎn)效率。 科研領(lǐng)域:科研人員可以利用網(wǎng)絡(luò)分析儀進行網(wǎng)絡(luò)特性的深入研究,通過提供精確的實驗數(shù)據(jù),推動相關(guān)領(lǐng)域的科技進步。 網(wǎng)絡(luò)故障排查:網(wǎng)絡(luò)分析儀可以用來檢測和定位網(wǎng)絡(luò)故障,
    發(fā)表于 01-13 16:03

    可回饋式電網(wǎng)模擬器的使用方法有哪些?

    電網(wǎng)模擬器的使用方法主要包括連接設(shè)備、設(shè)置參數(shù)、運行模擬、分析結(jié)果、故障模擬和培訓(xùn)操作人員等步驟。通過使用回饋式電網(wǎng)模擬器,可以對電力系統(tǒng)的運行進行深入研究,提高電力系統(tǒng)的運行效率和安全
    發(fā)表于 10-16 10:50

    如何使用 IOTA?分析安全漏洞的連接嘗試

    在當(dāng)今數(shù)字化世界中,網(wǎng)絡(luò)安全變得至關(guān)重要。本文將探討如何利用流量數(shù)據(jù)分析工具來發(fā)現(xiàn)和阻止安全漏洞和惡意連接。通過分析 IOTA 流量,您可以了解如何識別不當(dāng)行為,并采取適當(dāng)?shù)拇胧﹣肀Wo
    的頭像 發(fā)表于 09-29 10:19 ?292次閱讀
    如何使用 IOTA?<b class='flag-5'>分析</b><b class='flag-5'>安全</b>漏洞的連接嘗試

    汽車電子芯片推拉力測試測試流程的幾個關(guān)鍵步驟

    在現(xiàn)代汽車技術(shù)迅猛發(fā)展的今天,汽車電子產(chǎn)品的可靠性已成為確保車輛性能和乘客安全關(guān)鍵因素。標(biāo)準(zhǔn)下的鍵合線剪切試驗,作為評估這些產(chǎn)品中關(guān)鍵連接點強度的一項測試,扮演著至關(guān)重要的角色。本文
    的頭像 發(fā)表于 08-07 18:00 ?707次閱讀
    汽車電子芯片推拉力<b class='flag-5'>測試</b>機<b class='flag-5'>測試</b>流程的幾個<b class='flag-5'>關(guān)鍵</b>步驟

    單元測試工具TESSY 新版本亮點速覽:提供測試駕駛艙視圖、超級覆蓋率、代碼訪問分析、增強覆蓋率審查

    各種測試對象和方法的所有覆蓋率測量結(jié)果,并記錄在新的測試總結(jié)報告中。 了解更多TESSY新版本功能詳情或申請免費試用,歡迎咨詢TESSY中國授權(quán)分銷商——龍智。 新版本功能亮點速覽: 1、超級
    的頭像 發(fā)表于 07-08 16:20 ?483次閱讀
    單元<b class='flag-5'>測試</b>工具TESSY 新版本亮點速覽:提供<b class='flag-5'>測試</b>駕駛艙視圖、超級<b class='flag-5'>覆蓋</b>率、<b class='flag-5'>代碼</b>訪問<b class='flag-5'>分析</b>、增強<b class='flag-5'>覆蓋</b>率審查

    信息安全驅(qū)動汽車行業(yè)快速向數(shù)字化轉(zhuǎn)型

    經(jīng)緯恒潤針對ISO/SAE 21434、WP.29 R155等法規(guī)進行了深入研究,結(jié)合多年功能安全、信息安全經(jīng)驗,可以為客戶提供信息安全全流程解決方案。
    的頭像 發(fā)表于 07-05 14:35 ?1541次閱讀
    信息<b class='flag-5'>安全</b>驅(qū)動汽車行業(yè)快速向數(shù)字化轉(zhuǎn)型

    倫敦商學(xué)院深入研究中國神州數(shù)碼戰(zhàn)略轉(zhuǎn)型

    China)數(shù)字化轉(zhuǎn)型歷程的深入研究為基礎(chǔ),共同撰寫了案例研究「神州數(shù)碼的轉(zhuǎn)型:駕馭數(shù)據(jù)、云和人工智能的潛力(The Transformation of Digital China
    的頭像 發(fā)表于 07-02 11:25 ?547次閱讀
    倫敦商學(xué)院<b class='flag-5'>深入研究</b>中國神州數(shù)碼戰(zhàn)略轉(zhuǎn)型

    功能測試覆蓋中最常見的是什么方法

    常見的方法,包括黑盒測試、白盒測試、灰盒測試、等價類劃分、邊界值分析、錯誤推測法、因果圖法、狀態(tài)遷移測試、場景法、決策表
    的頭像 發(fā)表于 05-30 14:55 ?817次閱讀

    開關(guān)電源安全測試項目有哪些?如何測試?

    總結(jié)而言,通過對開關(guān)電源進行過壓保護、過流保護、短路保護、絕緣電阻測試、高壓測試以及溫升測試等一系列全面的安全性檢測,可以充分評估電源的可靠
    的頭像 發(fā)表于 05-23 17:41 ?1036次閱讀
    開關(guān)電源<b class='flag-5'>安全</b>性<b class='flag-5'>測試</b>項目有哪些?如何<b class='flag-5'>測試</b>?

    深入研究:我國工業(yè)實時操作系統(tǒng)的核心技術(shù)與演進路徑

    RTOS廣泛應(yīng)用于各類關(guān)鍵場景,且相較于傳統(tǒng)軟件單品,更需要通過建設(shè)豐富的軟、硬件生態(tài),進一步滿足廣泛連接和多樣化負(fù)載的需求。在此背景下,統(tǒng)一而規(guī)范的接口和基礎(chǔ)設(shè)施是代碼移植和復(fù)用的前提,也是各種
    的頭像 發(fā)表于 04-07 17:24 ?1094次閱讀
    <b class='flag-5'>深入研究</b>:我國工業(yè)實時操作系統(tǒng)的核心技術(shù)與演進路徑

    邁威通信工業(yè)以太網(wǎng)交換機通過軟件源代碼安全審定

    深入測試,MISCOM7000交換機的軟件源代碼安全審定中表現(xiàn)出色,不僅未發(fā)現(xiàn)任何明顯的安全漏洞和缺陷,更展現(xiàn)出強大的防御能力,能夠有效
    的頭像 發(fā)表于 03-29 10:43 ?391次閱讀
    邁威通信工業(yè)以太網(wǎng)交換機<b class='flag-5'>通過</b>軟件源<b class='flag-5'>代碼</b><b class='flag-5'>安全</b>審定

    深開鴻首個通過公安部安全檢測認(rèn)證的開源鴻蒙安全操作系統(tǒng)發(fā)行版!

    近日,深開鴻基于開源鴻蒙打造的國產(chǎn)操作系統(tǒng)“KaihongOS”經(jīng)過嚴(yán)格的漏洞覆蓋安全測試,取得了國家網(wǎng)絡(luò)與信息系統(tǒng)安全產(chǎn)品質(zhì)量檢驗檢測中心(公安部第三
    的頭像 發(fā)表于 03-20 10:12 ?700次閱讀
    深開鴻首個<b class='flag-5'>通過</b>公安部<b class='flag-5'>安全</b>檢測認(rèn)證的開源鴻蒙<b class='flag-5'>安全</b>操作系統(tǒng)發(fā)行版!

    透射電鏡TEM測試解剖芯片結(jié)構(gòu):深入微觀世界的技術(shù)探索

    在芯片制造領(lǐng)域,透射電鏡TEM技術(shù)發(fā)揮著至關(guān)重要的作用。通過TEM測試,科學(xué)家可以觀察芯片中晶體結(jié)構(gòu)的變化,分析晶體缺陷,研究材料界面結(jié)構(gòu),從而深入
    的頭像 發(fā)表于 02-27 16:48 ?1390次閱讀
    透射電鏡TEM<b class='flag-5'>測試</b>解剖芯片結(jié)構(gòu):<b class='flag-5'>深入</b>微觀世界的技術(shù)探索