国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

靜態分析揭示了傳統軟件中的潛在缺陷

星星科技指導員 ? 來源:嵌入式 ? 作者:PAUL ANDERSON ? 2022-11-10 16:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

更新系統,揭示編碼缺陷

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

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

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

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

另一個危險區域:標準庫

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

靜態分析勝出,補充傳統測試

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

審核編輯:郭婷

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

    關注

    68

    文章

    20253

    瀏覽量

    252234
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51600
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鎖存器的時間借用概念與靜態時序分析

    對于基于鎖存器的設計,靜態時序分析會應用一個稱為時間借用的概念。本篇博文解釋時間借用的概念,若您的設計包含鎖存器且時序報告存在時間借用
    的頭像 發表于 12-31 15:25 ?5488次閱讀
    鎖存器<b class='flag-5'>中</b>的時間借用概念與<b class='flag-5'>靜態</b>時序<b class='flag-5'>分析</b>

    分析嵌入式軟件代碼的漏洞-代碼注入

    惡意的互聯網環境確保他們的嵌入式代碼能夠安全使用的開發人員,應該將這樣的代碼注入漏洞,在開發周期和嚴格的代碼檢查盡早消除。 上面提到的高級靜態分析工具是被推薦使用的。
    發表于 12-22 12:53

    芯片制造檢驗工藝的全數檢查

    在IC芯片制造的檢驗工藝,全數檢查原則貫穿于關鍵工序的缺陷篩查,而老化測試作為可靠性驗證的核心手段,通過高溫高壓環境加速潛在缺陷的暴露,確保芯片在生命周期內的穩定運行。以邏輯芯片與存
    的頭像 發表于 12-03 16:55 ?860次閱讀
    芯片制造檢驗工藝<b class='flag-5'>中</b>的全數檢查

    什么是CVE?如何通過SAST/靜態分析工具Perforce QAC 和 Klocwork應對CVE?

    本文將為您詳解什么是CVE、CVE標識符的作用,厘清CVE與CWE、CVSS的區別,介紹CVE清單內容,并說明如何借助合適的靜態分析工具(如Perforce QAC/Klocwork),在軟件開發早期發現并修復漏洞。
    的頭像 發表于 10-31 14:24 ?513次閱讀
    什么是CVE?如何通過SAST/<b class='flag-5'>靜態</b><b class='flag-5'>分析</b>工具Perforce QAC 和 Klocwork應對CVE?

    共聚焦顯微鏡如何檢測半導體增材膜形貌與缺陷

    能力,成為揭示半導體增材膜微觀形貌與內部缺陷的關鍵工具,為工藝優化與質量評估提供可靠依據。下文,光子灣科技將從測量原理、參數優化、形貌分析缺陷
    的頭像 發表于 09-30 18:05 ?2769次閱讀
    共聚焦顯微鏡如何檢測半導體增材膜形貌與<b class='flag-5'>缺陷</b>

    知識分享 | 使用MXAM進行AUTOSAR模型的靜態分析:Embedded Coder與TargetLink模型

    知識分享在知識分享欄目中,我們會定期與讀者分享來自MES模賽思的基于模型的軟件開發相關Know-How干貨,關注公眾號,隨時掌握基于模型的軟件設計的技術知識。使用MXAM進行AUTOSAR模型的靜態
    的頭像 發表于 08-27 10:04 ?719次閱讀
    知識分享 | 使用MXAM進行AUTOSAR模型的<b class='flag-5'>靜態</b><b class='flag-5'>分析</b>:Embedded Coder與TargetLink模型

    第三屆大會回顧第7期 | 面向OpenHarmony大規模代碼的路徑敏感的稀疏值流分析

    靜態分析(Static Analysis)是軟件開發不可或缺的一部分,它可以幫助開發人員提高代碼質量、減少缺陷和安全風險。
    的頭像 發表于 08-18 11:31 ?1011次閱讀
    第三屆大會回顧第7期 | 面向OpenHarmony大規模代碼的路徑敏感的稀疏值流<b class='flag-5'>分析</b>

    汽車軟件團隊必看:基于靜態代碼分析工具Perforce QAC的ISO 26262合規實踐

    ISO 26262合規指南,從ASIL分級到工具落地,手把手教你用靜態代碼分析(Perforce QAC)實現高效合規。
    的頭像 發表于 08-07 17:33 ?1140次閱讀
    汽車<b class='flag-5'>軟件</b>團隊必看:基于<b class='flag-5'>靜態</b>代碼<b class='flag-5'>分析</b>工具Perforce QAC的ISO 26262合規實踐

    協議分析儀能檢測藍牙設備的哪些潛在問題?

    協議分析儀能夠檢測藍牙設備從物理層到應用層的全鏈路潛在問題,具體涵蓋以下方面:一、物理層(PHY Layer)問題 信號衰減與遮擋 RSSI(接收信號強度)異常:識別設備距離過遠、金屬障礙物阻擋或
    發表于 07-21 14:27

    CMP工藝缺陷類型

    CMP是半導體制造關鍵的平坦化工藝,它通過機械磨削和化學腐蝕相結合的方式,去除材料以實現平坦化。然而,由于其復雜性,CMP工藝可能會出現多種缺陷。這些缺陷通常可以分為機械、化學和表
    的頭像 發表于 07-18 15:14 ?2649次閱讀

    動態BGP與靜態BGP的區別?

    的 IP,只要遠端發起 BGP 握手,且來自 AS 65002,即自動建立對等關系。四、實戰應用場景分析場景一:傳統運營商邊界路由器 使用靜態 BGP BGP 對等關系固定,變化極少 需要手動管理
    發表于 06-24 06:57

    揭秘ABAQUS強大到超乎想象的分析功能有哪些?

    和研究人員解決復雜工程問題的得力助手。本文將深入探討ABAQUS那些強大到超乎想象的分析功能,揭示它如何在不同領域發揮關鍵作用。 一、靜態與動態分析的雙劍合璧 ABAQUS的核心功能之
    的頭像 發表于 05-21 16:15 ?685次閱讀
    揭秘ABAQUS強大到超乎想象的<b class='flag-5'>分析</b>功能有哪些?

    高光譜相機在生物醫學的應用:病理分析、智慧中醫與成分分析

    企業,深圳市達瑞和科技有限公司依托自主研發的高光譜相機與光譜云平臺,在生物醫學領域實現多項突破性應用。本文聚焦其在病理分析、病毒檢測及成分分析
    的頭像 發表于 04-24 11:25 ?679次閱讀

    高光譜相機在工業檢測的應用:LED屏檢、PCB板缺陷檢測

    隨著工業檢測精度要求的不斷提升,傳統機器視覺技術逐漸暴露出對非可見光物質特性識別不足、復雜缺陷檢出率低等局限性。高光譜相機憑借其獨特的光譜分析能力,為工業檢測提供革命性的解決方案。以
    的頭像 發表于 04-23 16:36 ?923次閱讀

    【JVM開發者必看】IntelliJ IDEA代碼分析實踐指南:實時糾錯、冗余檢測、自動修復等

    【IntelliJ IDEA的代碼分析技巧】靜態代碼分析是指在不實際運行代碼的情況下掃描代碼以發現潛在問題。IntelliJ IDEA
    的頭像 發表于 03-13 10:34 ?1066次閱讀
    【JVM開發者必看】IntelliJ IDEA代碼<b class='flag-5'>分析</b>實踐指南:實時糾錯、冗余檢測、自動修復等