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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過覆蓋分析深入研究安全關鍵代碼測試

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Jay Thomas ? 2022-07-05 09:45 ? 次閱讀

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

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

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

安全關鍵代碼需要更深入的分析

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

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

調用每個入口和出口點

每一個決定都有每一個可能的結果

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

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

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

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

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

poYBAGLDl8WAfI2JAAD7GRVeO_8478.png

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

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

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

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

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

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

poYBAGLDl8yACjG8AAEAXKXEqFI141.png

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

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

審核編輯:郭婷

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

    關注

    96

    文章

    2946

    瀏覽量

    66830
  • 代碼
    +關注

    關注

    30

    文章

    4808

    瀏覽量

    68806
  • 應用程序
    +關注

    關注

    37

    文章

    3285

    瀏覽量

    57776
收藏 人收藏

    評論

    相關推薦

    如何提高嵌入式代碼質量?

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

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

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

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

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

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

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

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

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

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

    各種測試對象和方法的所有覆蓋率測量結果,并記錄在新的測試總結報告中。 了解更多TESSY新版本功能詳情或申請免費試用,歡迎咨詢TESSY中國授權分銷商——龍智。 新版本功能亮點速覽: 1、超級
    的頭像 發(fā)表于 07-08 16:20 ?458次閱讀
    單元<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>率審查

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

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

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

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

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

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

    開關電源安全測試項目有哪些?如何測試

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

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

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

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

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

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

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

    深開鴻推出的國產(chǎn)操作系統(tǒng)“KaihongOS”通過公安部安全檢測認證!

    近日,深開鴻推出的國產(chǎn)操作系統(tǒng)“KaihongOS”經(jīng)過嚴格的漏洞覆蓋安全測試,取得了國家網(wǎng)絡與信息系統(tǒng)安全產(chǎn)品質量檢驗檢測中心(公安部第三研究
    的頭像 發(fā)表于 03-17 09:34 ?902次閱讀
    深開鴻推出的國產(chǎn)操作系統(tǒng)“KaihongOS”<b class='flag-5'>通過</b>公安部<b class='flag-5'>安全</b>檢測認證!

    透射電鏡TEM測試解剖芯片結構:深入微觀世界的技術探索

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