99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內不再提示

關于Polyspace的靜態(tài)分析的詳細解析和應用

MATLAB ? 來源:djl ? 作者:龔小平 ? 2019-09-16 17:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

關于Polyspace的靜態(tài)分析的詳細解析和應用

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

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

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

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

關于Polyspace的靜態(tài)分析的詳細解析和應用

抽象解釋

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

關于Polyspace的靜態(tài)分析的詳細解析和應用

Polyspace中的抽象解釋

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

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

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

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

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

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

關于Polyspace的靜態(tài)分析的詳細解析和應用

Polyspace的分析結果

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

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

    關注

    30

    文章

    4900

    瀏覽量

    70724
  • 靜態(tài)分析

    關注

    1

    文章

    42

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    技術干貨 | ATX7006線性計算與AD/DA動態(tài)分析解析

    想知道如何在ATX7006上進行高精度線性度計算?如何通過傅里葉變換分析AD/DA轉換器的動態(tài)性能?本文詳細解析了線性計算的命令配置、結果獲取方法,以及動態(tài)測試中的信噪比、諧波失真等關鍵參數的計算原理。
    的頭像 發(fā)表于 06-30 10:13 ?504次閱讀
    技術干貨 | ATX7006線性計算與AD/DA動態(tài)<b class='flag-5'>分析</b><b class='flag-5'>解析</b>

    電磁環(huán)境動態(tài)監(jiān)測與分析平臺軟件全面解析

    電磁環(huán)境動態(tài)監(jiān)測與分析平臺軟件全面解析
    的頭像 發(fā)表于 04-28 16:28 ?249次閱讀
    電磁環(huán)境動態(tài)監(jiān)測與<b class='flag-5'>分析</b>平臺軟件全面<b class='flag-5'>解析</b>

    ?VLM(視覺語言模型)?詳細解析

    詳細解析: 1. 核心組成與工作原理 視覺編碼器 :提取圖像特征,常用CNN(如ResNet)或視覺Transformer(ViT)。 語言模型 :處理文本輸入/輸出,如GPT、BERT等,部分模型
    的頭像 發(fā)表于 03-17 15:32 ?4080次閱讀
    ?VLM(視覺語言模型)?<b class='flag-5'>詳細</b><b class='flag-5'>解析</b>

    機房托管費詳細分析

    機房托管費是一個復雜而多變的話題,它受到多種因素的影響,以下是對機房托管費用的詳細分析,主機推薦小編為您整理發(fā)布機房托管費詳細分析。
    的頭像 發(fā)表于 02-28 09:48 ?461次閱讀

    奶泡棒專用芯片詳細解析

    奶泡棒專用芯片詳細解析
    的頭像 發(fā)表于 02-24 11:23 ?347次閱讀

    集成電路設計中靜態(tài)時序分析介紹

    本文介紹了集成電路設計中靜態(tài)時序分析(Static Timing Analysis,STA)的基本原理、概念和作用,并分析了其優(yōu)勢和局限性。 ? 靜態(tài)時序
    的頭像 發(fā)表于 02-19 09:46 ?622次閱讀

    ADC的靜態(tài)指標有專用的分析工具嗎?

    請問:ADC的靜態(tài)指標有專用的分析工具嗎?該指標很少在評估ADC指標時使用,是否該指標不重要,應用中什么情況下需要評估該指標? 另外ADC的SNR = 6.02*N + 1.76 +10*log10(fs/2BW) 當被采樣信號為單音時 該BW為多少?
    發(fā)表于 02-08 08:13

    國外物理服務器詳細解析

    國外物理服務器是指位于國外數據中心的物理設備,用于提供互聯網服務。以下是對國外物理服務器的詳細解析,主機推薦小編為您整理發(fā)布國外物理服務器詳細解析。
    的頭像 發(fā)表于 02-07 09:36 ?405次閱讀

    硅谷云平臺詳細解析

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

    分享關于編譯器的科普

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

    解析:住宅靜態(tài)IP的益處與應用

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

    TPA3116靜態(tài)功耗靜態(tài)電流比較大是什么原因導致的?

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

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

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

    基于ANSYS的高速磨削電主軸動靜態(tài)性能分析

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

    如何使用Polyspace Code Prover來統(tǒng)計堆棧

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