那曲檬骨新材料有限公司

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

    文章

    4824

    瀏覽量

    69035
  • 靜態分析
    +關注

    關注

    1

    文章

    41

    瀏覽量

    3903
收藏 人收藏

    評論

    相關推薦

    功率分析儀的功率是怎么算的

    功率分析儀的功率計算主要基于電壓和電流的測量值。以下是關于功率分析儀功率計算的詳細解釋:
    的頭像 發表于 01-28 15:06 ?130次閱讀

    硅谷云平臺詳細解析

     硅谷云平臺作為硅谷地區領先的云計算服務提供商,在數字化時代發揮著舉足輕重的作用。主機推薦小編為您整理發布硅谷云平臺的詳細解析
    的頭像 發表于 01-24 09:24 ?83次閱讀

    分享關于編譯器的科普

    ? Clang和GCC的主要區別如下所示: Clang比GCC編譯用的時間更短,包括預處理、語法分析解析、語義分析、抽象語法樹生成的時間。 Clang比GCC的內存占用更小。 Clang生成的中間
    的頭像 發表于 12-09 09:49 ?170次閱讀

    深入解析:住宅靜態IP與動態IP的區別

    住宅靜態IP與動態IP是兩種不同類型的IP分配方式,它們在多個方面存在顯著差異。
    的頭像 發表于 11-20 08:37 ?369次閱讀

    深入解析:海外靜態IP的優勢與應用場景

    海外靜態IP作為一種強大的網絡工具,在全球互聯中扮演著至關重要的角色。
    的頭像 發表于 11-13 07:38 ?282次閱讀

    解析:住宅靜態IP的益處與應用

    住宅靜態IP是指專為家庭網絡環境設計的固定IP地址,通常由互聯網服務提供商(ISP)為家庭用戶提供。這種IP地址不會頻繁更改,為家庭網絡提供了一個穩定的、可預測的標識。
    的頭像 發表于 10-18 07:41 ?210次閱讀

    TPA3116靜態功耗靜態電流比較大是什么原因導致的?

    關于TPA3116靜態功耗大,在TI的論壇里面發現幾乎所有的電感發熱都是說是因為輸出LC電路導致 1,想問一下這個靜態功耗靜態電流比較大是什么原因導致的? 2,除了LC電路會導致,
    發表于 10-12 08:35

    自動售貨機MDB協議中文解析(七)MDB-RS232控制紙幣器的詳細流程和解析

    自動售貨機MDB協議中文解析(七)MDB-RS232控制紙幣器的詳細流程和解析
    的頭像 發表于 09-09 10:04 ?708次閱讀

    基于ANSYS的高速磨削電主軸動靜態性能分析

    以國產120MD60Y6型高速磨削電主軸為研究對象,使用有限元分析方法,基于ANSYS Workbench建立高速電主軸模型,先分析靜態特性,計算工作條件下電主軸前端所受徑向力和軸承徑向剛度;然后
    的頭像 發表于 08-05 11:20 ?152次閱讀
    基于ANSYS的高速磨削電主軸動<b class='flag-5'>靜態</b>性能<b class='flag-5'>分析</b>

    如何使用Polyspace Code Prover來統計堆棧

    前一篇文章介紹了堆棧和內存的一些背景知識。本次介紹如何使用 Polyspace Code Prover來統計堆棧,如何使用這些數據為軟件優化服務。
    的頭像 發表于 07-25 14:06 ?593次閱讀
    如何使用<b class='flag-5'>Polyspace</b> Code Prover來統計堆棧

    esp32在靜態IP下,域名無法解析怎么解決?

    1esp32使用dhcp,正常獲取IP連接網絡,可以解析域名. 2esp32使用靜態IP,正常獲取IP連接網絡,無法解析域名。
    發表于 06-25 07:56

    如何設置靜態IP代理

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

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

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

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

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

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

    PSPR 主要用途放置靜態函數,提示高函數數執行效率 DSPR 主要用途于全局變量、場景保護的上下文管理與等數據 以上是我找到的關于 PSPR 和 DSPR 的解析,我有兩個問題: 1。PSPR
    發表于 02-26 07:57
    百家乐官网游戏| 大发888casino下载| 百家乐官网的路单怎样看| 百家乐游戏怎么刷钱| 千亿国际| 百家乐销售视频| 尊龙网站| 百家乐3号眨眼技术| 斗地主百家乐的玩法技巧和规则 | 伟博| 网上百家乐官网有人赢过嘛| 梦幻城百家乐的玩法技巧和规则| 百家乐官网注册送彩金平台| 海港城百家乐的玩法技巧和规则| 百家乐官网博彩通博彩网皇冠网澳门赌场真人赌博 | 赌博百家乐官网作弊法| 百家乐技巧何为百家乐之路| 百家乐官网赢家公式| 百家乐路技巧| 香港百家乐官网六合彩| 大发888游戏平台 df888ylc3403| 百家乐官网赌博器| 大发888账号注册| 网上百家乐作弊不| 真人百家乐官网信誉| 百家乐永利赌场娱乐网规则| 大发百家乐官网游戏| 百家乐网站| 大哥大百家乐官网的玩法技巧和规则 | 网上赌博游戏| 网上百家乐做假| 百家乐官网mediacorp| 大发888注册送58网站| 百家乐休闲游戏| 百家乐官网博彩策略论坛| 威尼斯人娱乐场 新葡京| 百家乐官网套利| 竹北市| 劳力士百家乐的玩法技巧和规则| 百家乐官网变牌桌| 宝胜娱乐城|