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

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

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

靜態(tài)分析揭示了傳統(tǒng)軟件中的潛在缺陷

星星科技指導(dǎo)員 ? 來源:嵌入式 ? 作者:PAUL ANDERSON ? 2022-11-10 16:31 ? 次閱讀

靜態(tài)分析工具可以幫助找到并發(fā)性和其他缺陷,以減少遺留的延遲。

從基于軟件的舊系統(tǒng)遷移到新技術(shù)時,能夠重用盡可能多的代碼非常重要。即使這些代碼已經(jīng)過徹底的測試,并且在舊系統(tǒng)中的實(shí)踐中被證明是可靠的,它仍然可能包含潛在的錯誤。這些錯誤可能從未在舊系統(tǒng)中觸發(fā),因?yàn)樵撓到y(tǒng)非常特定的屬性,例如用于編譯代碼的工具鏈、處理器體系結(jié)構(gòu)或主機(jī)操作系統(tǒng)。當(dāng)移植到這些屬性不同的新系統(tǒng)時,潛在缺陷可能表現(xiàn)為有害錯誤。但好消息是,先進(jìn)的靜態(tài)分析工具可以清除這些潛在的缺陷,以幫助應(yīng)對挑戰(zhàn)。

更新系統(tǒng),揭示編碼缺陷

遷移遺留系統(tǒng)最重要的動機(jī)之一是利用自原始系統(tǒng)首次部署以來硬件技術(shù)的進(jìn)步。由于采用了更新更快的處理器,最常見的好處可能是性能提高。從代碼的角度來看,這也是一個最重要的變化。新處理器可以具有不同的位寬或字節(jié)序,并且可用內(nèi)核的數(shù)量可以不同。在從舊平臺移植到下一個平臺的代碼期間,大部分重新編碼工作將用于使代碼適應(yīng)這些差異。

編譯器、工具鏈和潛在錯誤

與實(shí)現(xiàn)新處理器相比,還有許多其他不太明顯的差異,這些細(xì)微差別很容易被忽視。以用于編譯代碼的工具鏈為例。從表面上看,這應(yīng)該不會有太大區(qū)別。畢竟,如果代碼是編寫為符合 ANSI C 標(biāo)準(zhǔn),并且如果編譯器聲稱支持 ANSI C,那么當(dāng)由任一編譯器編譯時,代碼肯定會具有相同的語義嗎?不幸的是不是。C 和 C++ 標(biāo)準(zhǔn)充斥著“編譯器依賴”的子句,這意味著該標(biāo)準(zhǔn)并不確切規(guī)定如何編譯某些結(jié)構(gòu),選擇取決于編譯器編寫者。其中許多對于程序員來說是顯而易見和眾所周知的,例如計算操作數(shù)的順序,但其他的則非常微妙。潛在錯誤在舊系統(tǒng)上可能是無害的,因?yàn)榫幾g器選擇以特定方式編譯它,但在新系統(tǒng)上是危險的,因?yàn)樾戮幾g器會做出不同的選擇。

當(dāng)然,編譯器也是程序,它們本身并非沒有缺陷。最近一項(xiàng)針對 C 編譯器的研究發(fā)現(xiàn),他們測試的每個編譯器都有代碼生成缺陷[1]。易失性關(guān)鍵字的處理在嵌入式安全關(guān)鍵型軟件中至關(guān)重要,因?yàn)樗?jīng)常用于讀取傳感器數(shù)據(jù),特別容易出現(xiàn)編譯器錯誤,從而導(dǎo)致傳感器值的更改被靜默忽略。程序的正確運(yùn)行甚至可能依賴于這些缺陷。

另一個危險區(qū)域:標(biāo)準(zhǔn)庫

另一個可能導(dǎo)致潛在缺陷變得危險的細(xì)微軟件遷移差異涉及與操作系統(tǒng)接口的標(biāo)準(zhǔn)庫。人們可能希望這樣的庫在各個平臺上保持一致,但這種情況很少見。最顯著的區(qū)別是在錯誤處理方面。新平臺可能具有與舊平臺完全不同的故障模式,可能需要更改代碼才能處理這些差異。更糟糕的是,根據(jù)最近的一項(xiàng)研究,錯誤案例的記錄似乎非常糟糕[2]。

靜態(tài)分析勝出,補(bǔ)充傳統(tǒng)測試

顯然,任何遺留遷移項(xiàng)目都必須包括大量時間來測試軟件的新版本。但是,測試結(jié)果僅與測試輸入一樣好。如果測試用例未能執(zhí)行發(fā)生錯誤的路徑,則該缺陷可能無法檢測到。生成新的測試用例也很昂貴。因此,清除這些潛在缺陷的明智策略是使用高級靜態(tài)分析工具作為遺留轉(zhuǎn)換工作的一部分。此類工具能夠發(fā)現(xiàn)本文所述的缺陷,包括那些依賴于平臺微妙之處的缺陷。他們特別擅長發(fā)現(xiàn)并發(fā)缺陷,例如使用傳統(tǒng)測試方法極難發(fā)現(xiàn)的數(shù)據(jù)爭用。他們還擅長查找代碼實(shí)例,這些代碼雖然不是絕對錯誤的,但與錯誤高度相關(guān),或者在移植到不同環(huán)境時特別危險。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19387

    瀏覽量

    230517
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1640

    瀏覽量

    49200
收藏 人收藏

    評論

    相關(guān)推薦

    熱重分析儀:揭示物質(zhì)熱特性的精密儀器

    變化,揭示材料的組成、穩(wěn)定性以及熱分解特性等重要信息。上海和晟HS-TGA-101熱重分析儀在熱重分析,樣品在升溫過程可能因物理或化學(xué)變
    的頭像 發(fā)表于 11-20 13:55 ?284次閱讀
    熱重<b class='flag-5'>分析</b>儀:<b class='flag-5'>揭示</b>物質(zhì)熱特性的精密儀器

    eda與傳統(tǒng)數(shù)據(jù)分析的區(qū)別

    進(jìn)行初步的探索和理解,發(fā)現(xiàn)數(shù)據(jù)潛在的模式、關(guān)系、異常值等,為后續(xù)的分析和建模提供線索和基礎(chǔ)。 方法論 :EDA強(qiáng)調(diào)數(shù)據(jù)的真實(shí)分布和可視化,使用多種圖表和可視化工具來展示數(shù)據(jù)的特征和趨勢。分析
    的頭像 發(fā)表于 11-13 10:52 ?381次閱讀

    主線科技榮登中國潛在獨(dú)角獸企業(yè)榜單

    獨(dú)角獸企業(yè)榜單是長城咨詢依據(jù)《高成長企業(yè)分類導(dǎo)引》潛在獨(dú)角獸企業(yè)標(biāo)準(zhǔn)評選,旨在揭示中國潛在獨(dú)角獸企業(yè)群體最新發(fā)展態(tài)勢的專業(yè)榜單。此榜單基于嚴(yán)謹(jǐn)?shù)脑u選標(biāo)準(zhǔn)和專業(yè)的評審機(jī)制,在行業(yè)內(nèi)贏得
    的頭像 發(fā)表于 11-12 17:17 ?598次閱讀

    萬協(xié)通亮相2024潛在獨(dú)角獸企業(yè)發(fā)展大會

    近日,2024潛在獨(dú)角獸企業(yè)發(fā)展大會成功舉辦,會上重磅發(fā)布《GEI中國潛在獨(dú)角獸企業(yè)研究報告2024》揭示中國
    的頭像 發(fā)表于 11-04 11:20 ?387次閱讀

    汽車異構(gòu)硬件平臺開發(fā)如何進(jìn)行靜態(tài)代碼分析

    先進(jìn)的靜態(tài)代碼分析工具,其新版本引入的多CCT功能為開發(fā)人員提供強(qiáng)大的支持,該功能不僅簡化了多編譯器環(huán)境下的代碼分析過程,還可以極大增強(qiáng)
    的頭像 發(fā)表于 10-09 16:15 ?555次閱讀
    汽車異構(gòu)硬件平臺開發(fā)如何進(jìn)行<b class='flag-5'>靜態(tài)</b>代碼<b class='flag-5'>分析</b>

    Lint靜態(tài)驗(yàn)證工具如何助力IC設(shè)計

    靜態(tài)驗(yàn)證方法實(shí)現(xiàn)將原本在仿真、綜合、布局布線階段出現(xiàn)的問題移動到RTL階段進(jìn)行檢測和分析,幫助IC設(shè)計者在早期發(fā)現(xiàn)和診斷設(shè)計缺陷,縮短芯片整體開發(fā)周期,降低成本。
    的頭像 發(fā)表于 09-03 10:15 ?790次閱讀
    Lint<b class='flag-5'>靜態(tài)</b>驗(yàn)證工具如何助力IC設(shè)計

    黑盤缺陷分析-Black-Pad-Defect PPT

    黑盤缺陷分析-Black-Pad-Defect PPT
    的頭像 發(fā)表于 08-22 16:24 ?454次閱讀
    黑盤<b class='flag-5'>缺陷</b><b class='flag-5'>分析</b>-Black-Pad-Defect PPT

    靜態(tài) ARP 表項(xiàng)的潛在問題

    在計算機(jī)網(wǎng)絡(luò),地址解析協(xié)議(ARP)將 IP 地址轉(zhuǎn)換為物理地址(MAC 地址),以便在局域網(wǎng)實(shí)現(xiàn)數(shù)據(jù)的傳輸。靜態(tài) ARP 表項(xiàng)的設(shè)置為網(wǎng)絡(luò)管理員提供一種手動控制地址映射的方式,
    的頭像 發(fā)表于 07-29 11:51 ?410次閱讀
    <b class='flag-5'>靜態(tài)</b> ARP 表項(xiàng)的<b class='flag-5'>潛在</b>問題

    第二屆大會回顧第22期 軟件缺陷漏洞分析

    哩嗶哩APP,觀看更清晰視頻 正文內(nèi)容 軟件缺陷是影響軟件質(zhì)量的關(guān)鍵因素,軟件缺陷分析能夠幫助開發(fā)和測試團(tuán)隊(duì)及時識別和分析
    的頭像 發(fā)表于 06-27 08:42 ?383次閱讀
    第二屆大會回顧第22期  <b class='flag-5'>軟件缺陷</b>漏洞<b class='flag-5'>分析</b>

    德國Embedded World 2024大會關(guān)鍵盤點(diǎn):亮點(diǎn)演講Static Sentiment Analysis(靜態(tài)情感分析)和汽車軟件開發(fā)的現(xiàn)狀

    Sentiment Analysis(靜態(tài)情感分析)和汽車軟件開發(fā)的現(xiàn)狀 今年,Perforce參與兩場演講,討論2024年的嵌入式
    的頭像 發(fā)表于 04-28 23:27 ?1110次閱讀
    德國Embedded World 2024大會關(guān)鍵盤點(diǎn):亮點(diǎn)演講Static Sentiment Analysis(<b class='flag-5'>靜態(tài)</b>情感<b class='flag-5'>分析</b>)和汽車<b class='flag-5'>軟件</b>開發(fā)的現(xiàn)狀

    英特爾處理器+Linux發(fā)行版設(shè)備出現(xiàn)新型側(cè)信道缺陷,修復(fù)難度較大

    來自阿姆斯特丹VU VUSec安全團(tuán)隊(duì)的研究人員揭示Spectre v2漏洞,他們同時提供一款檢測工具,用以通過符號執(zhí)行方法,識別Linux內(nèi)核
    的頭像 發(fā)表于 04-11 11:21 ?374次閱讀

    如何應(yīng)對工業(yè)缺陷檢測數(shù)據(jù)短缺問題?

    這篇論文介紹一種文本引導(dǎo)的變分圖像生成方法,旨在解決工業(yè)制造的異常檢測和分割問題。傳統(tǒng)方法通過訓(xùn)練非缺陷數(shù)據(jù)的分布來進(jìn)行異常檢測,但這需要大量且多樣化的非
    發(fā)表于 03-14 10:15 ?527次閱讀
    如何應(yīng)對工業(yè)<b class='flag-5'>缺陷</b>檢測數(shù)據(jù)短缺問題?

    車載信息娛樂系統(tǒng)的網(wǎng)絡(luò)安全考慮因素

    靜態(tài)應(yīng)用程序安全測試 ( SAST ) 軟件測試方法檢查和分析應(yīng)用程序源代碼、字節(jié)碼和二進(jìn)制文件的編碼和設(shè)計條件,以發(fā)現(xiàn) IVI 系統(tǒng)軟件
    的頭像 發(fā)表于 03-06 17:14 ?1181次閱讀
    車載信息娛樂系統(tǒng)的網(wǎng)絡(luò)安全考慮因素

    基于深度學(xué)習(xí)的芯片缺陷檢測梳理分析

    雖然表面缺陷檢測技術(shù)已經(jīng)不斷從學(xué)術(shù)研究走向成熟的工業(yè)應(yīng)用,但是依然有一些需要解決的問題。基于以上分析可以發(fā)現(xiàn),由于芯片表面缺陷的獨(dú)特性質(zhì),通用目標(biāo)檢測算法不適合直接應(yīng)用于芯片表面缺陷
    發(fā)表于 02-25 14:30 ?1646次閱讀
    基于深度學(xué)習(xí)的芯片<b class='flag-5'>缺陷</b>檢測梳理<b class='flag-5'>分析</b>

    機(jī)器視覺在織物缺陷圖像識別的應(yīng)用與分析

    基于圖像的織物疵點(diǎn)自動檢測技術(shù)已成為了該領(lǐng)域近年來的的研究熱點(diǎn),其代替人工織物疵點(diǎn)檢測的研究算法也逐漸成為可能,主流方法一般分為兩大類, 一是基于傳統(tǒng)圖像處理的織物缺陷檢測方法,二是基于深度學(xué)習(xí)算法的織物缺陷檢測定位方法。
    發(fā)表于 02-20 14:24 ?634次閱讀
    機(jī)器視覺在織物<b class='flag-5'>缺陷</b>圖像識別<b class='flag-5'>中</b>的應(yīng)用與<b class='flag-5'>分析</b>