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

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

3天內不再提示

關于Polyspace的靜態分析的詳細解析和應用

MATLAB ? 來源:djl ? 作者:龔小平 ? 2019-09-16 17:15 ? 次閱讀

Polyspace是MathWorks產品家族的一員, 也許有人還不知道它能做什么以及作用原理是什么。簡單來說,Polyspace是基于抽象解釋原理的代碼級靜態分析和驗證工具。

的確,由于時間和成本的關系我們不可能做窮舉測試,但并不能就此推斷我們沒有測試的工況是安全的。

以汽車行業為例,已發生的多次召回事件經分析是因為軟件缺陷尤其是運行時錯誤(run-time error)造成的。所謂的運行時錯誤,是指在通常的調試過程中需要程序運行起來之后才可能顯現的錯誤,如指針越界、數據溢出等。換句話說,如果測試用例沒有覆蓋到特定的輸入條件時,這些問題可能就沒有機會被發現。

關于Polyspace的靜態分析的詳細解析和應用

Windows平臺下調試運行時錯誤發生的案例

除汽車行業以外,航空航天、鐵路、醫療等所謂高完整性系統行業,嵌入式軟件往往承載著系統大部分重要功能的實現,一旦發生問題會帶來異常嚴重的后果。軟件的靜態分析作為動態功能測試的重要補充,在這些行業應用非常廣泛。

所謂的靜態分析,指在不運行程序的情況下,基于數學方法的分析來驗證代碼是否滿足規范性、安全性、可靠性、可維護性等指標的一種代碼分析技術。通俗地說,靜態分析可以通過不寫測試用例達到動態窮舉測試的效果,是用來提高代碼魯棒性和證明軟件安全性的重要手段。

Polyspace所采用的靜態分析方法是抽象解釋,是軟件形式化驗證方法(Formal Verification)的一種,它在處理復雜的計算問題或模型的過程中通過對問題進行近似抽象,取出其中的關鍵部分進行分析,從而減少問題的復雜程度。

關于Polyspace的靜態分析的詳細解析和應用

抽象解釋

簡單舉例,判斷x/(x-y)是否有除零的風險的問題可以轉換為左下圖 x和y的取值范圍是否有可能落在y=x的紅線上。Polyspace基于程序控制結構、函數調用關系、多任務分析等,通過復雜的數據流析取過程抽象到右下圖綠色多面空間中來判斷是否有可能落在y=x上。

關于Polyspace的靜態分析的詳細解析和應用

Polyspace中的抽象解釋

經Polyspace分析后的代碼結果以不同顏色表:

綠色代表為安全代碼,無需花過多精力審查;

紅色代碼問題代碼,需要立刻解決;

灰色代表不可達代碼,需要審查是設計錯誤還是有意為之;

橙色代表有風險代碼,需要重點審查。

另外還可以設定編碼規范(如MISRA)和自定義代碼風格,違反之處以紫色顯示;同時可以看到代碼變量隨控制流的數據范圍變化情況,快速查找和定位問題原因。

關于Polyspace的靜態分析的詳細解析和應用

Polyspace的分析結果

不論是自動代碼還是手寫代碼甚或混合代碼,Polyspace可以承擔類似“質量門”的角色,幫助查找常見軟件缺陷、進行代碼規范檢查、提供軟件度量信息,更進一步通過證明不存在運行時錯誤交付安全代碼,大大提高代碼審查的效率并可提供安全認證所需的相關證據。

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

    關注

    30

    文章

    4575

    瀏覽量

    67135
  • 靜態分析
    +關注

    關注

    1

    文章

    34

    瀏覽量

    3852
收藏 人收藏

    評論

    相關推薦

    頻率特性測試儀的詳細解析

    將對頻率特性測試儀進行全面詳細解析,包括其定義、工作原理、應用領域、類型以及特點等方面,以期為讀者提供全面的了解和認識。
    的頭像 發表于 05-21 17:59 ?439次閱讀

    如何設置靜態IP代理

    靜態IP
    jf_60146132
    發布于 :2024年04月29日 07:46:31

    MDK如何添加添加使用靜態庫.a?

    各位大神好,請教關于如何添加使用靜態庫。 已經將靜態庫和頭文件包括在里面,并且在Include Path中添加了該路徑,但編譯報錯。
    發表于 03-12 08:17

    高低溫試驗箱靜態與動態的區別解析

    在產品研發和質量控制過程中,高低溫試驗箱扮演著至關重要的角色。它能夠模擬產品在極端溫度環境下的表現,幫助工程師們評估產品的可靠性和耐久性。然而,在選擇高低溫試驗箱時,經常會遇到靜態和動態兩種不同類型的設備。本文將詳細探討高低溫試驗箱靜態
    的頭像 發表于 03-01 11:37 ?194次閱讀
    高低溫試驗箱<b class='flag-5'>靜態</b>與動態的區別<b class='flag-5'>解析</b>

    關于PSDR和DSPR遇到的兩個問題求解

    PSPR 主要用途放置靜態函數,提示高函數數執行效率 DSPR 主要用途于全局變量、場景保護的上下文管理與等數據 以上是我找到的關于 PSPR 和 DSPR 的解析,我有兩個問題: 1。PSPR
    發表于 02-26 07:57

    TCP協議詳細解析

    TCP是TCP/IP協議族中一個最核心的協議,它向下使用網絡層IP協議,向上為應用層HTTP、FTP、SMTP、POP3、SSH、Telnet等協議提供支持。本文給出TCP報文格式的詳細說明,介紹網絡數據包傳遞中如何進行地址解析、建立TCP連接的三次握手過程以及斷開TCP
    的頭像 發表于 11-03 09:14 ?2079次閱讀
    TCP協議<b class='flag-5'>詳細</b><b class='flag-5'>解析</b>

    詳細解析電動車輛技術問題

    電子發燒友網站提供《詳細解析電動車輛技術問題.pdf》資料免費下載
    發表于 11-02 09:44 ?2次下載
    <b class='flag-5'>詳細</b><b class='flag-5'>解析</b>電動車輛技術問題

    什么是靜態?收音機放大電路的靜態分析指標是什么?

    未加信號時三極管的直流工作狀態被稱為靜態,也可以說成放大電路沒有輸入信號時的工作狀態,放大電路的質量與靜態值的關系很大。
    的頭像 發表于 09-27 16:46 ?1891次閱讀
    什么是<b class='flag-5'>靜態</b>?收音機放大電路的<b class='flag-5'>靜態</b><b class='flag-5'>分析</b>指標是什么?

    為什么放大電路的靜態工作點要設計在Q點?

    個點上,電路處于一種穩定的狀態,并且信號可以被放大。Q點是一個很重要的指標,用來表征放大電路的靜態工作點。放大電路的靜態工作點與電壓、電流相關,因此設計Q點至關重要。 本文將從以下幾個方面詳細介紹放大電路的
    的頭像 發表于 09-13 14:16 ?2132次閱讀

    詳細解析CW32F030C8T6的時鐘樹

    本章針對CW32F030C8T6的時鐘樹進行詳細解析,續第一章啟動文件的相關講解。
    的頭像 發表于 08-17 11:42 ?1327次閱讀
    <b class='flag-5'>詳細</b><b class='flag-5'>解析</b>CW32F030C8T6的時鐘樹

    嵌入軟件靜態解析工具

    模塊(函數)說明書?模塊結構圖?模塊(函數)表?structure說明書,structure表 根據靜態解析功能,生成外部變量對照表,typedef表,各種參照表 具有通過靜態分析
    發表于 08-02 11:51

    什么是靜態代碼分析?靜態代碼分析概述

    靜態分析可幫助面臨壓力的開發團隊。高質量的版本需要按時交付。需要滿足編碼和合規性標準。錯誤不是一種選擇。 這就是開發團隊使用靜態分析工具/源代碼分析
    的頭像 發表于 07-19 12:09 ?1149次閱讀
    什么是<b class='flag-5'>靜態</b>代碼<b class='flag-5'>分析</b>?<b class='flag-5'>靜態</b>代碼<b class='flag-5'>分析</b>概述

    靜態時序分析的相關概念

    ??本文主要介紹了靜態時序分析 STA。
    的頭像 發表于 07-04 14:40 ?663次閱讀
    <b class='flag-5'>靜態</b>時序<b class='flag-5'>分析</b>的相關概念

    靜態時序分析的基本概念和方法

    引言 在同步電路設計中,時序是一個非常重要的因素,它決定了電路能否以預期的時鐘速率運行。為了驗證電路的時序性能,我們需要進行 靜態時序分析 ,即 在最壞情況下檢查所有可能的時序違規路徑,而不需要測試
    的頭像 發表于 06-28 09:38 ?921次閱讀
    <b class='flag-5'>靜態</b>時序<b class='flag-5'>分析</b>的基本概念和方法

    STA-0.靜態時序分析概述

    靜態時序分析(Static Timing Analysis, 以下統一簡稱 **STA** )是驗證數字集成電路時序是否合格的一種方法,其中需要進行大量的數字計算,需要依靠工具進行,但是我們必須了解其中的原理。
    的頭像 發表于 06-27 11:43 ?629次閱讀
    STA-0.<b class='flag-5'>靜態</b>時序<b class='flag-5'>分析</b>概述
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>