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

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

3天內不再提示

關于Polyspace靜態(tài)分析的具體作用分析和介紹

MATLAB ? 來源:djl ? 2019-09-18 15:41 ? 次閱讀


更快地投放市場的趨勢容易產生以下誤解:靜態(tài)分析只是發(fā)現錯誤。軟件開發(fā)人員必須盡可能多地消除錯誤,并會使用錯誤快速發(fā)現工具,但很可能仍然存在一些錯誤。這種做法對于非安全關鍵型應用(如智能手機應用)可能足夠了,但對于安全關鍵型應用可能是不夠的。

因此,安全關鍵型應用需要更嚴格的方法來驗證安全性和穩(wěn)健性,這就是靜態(tài)分析可以帶來的其他好處。在本文中,我們將消除靜態(tài)分析只是發(fā)現錯誤這一誤解,并證明它可以幫助驗證是否符合編碼標準,生成有關代碼質量的指標,并可以在軟件開發(fā)的任何階段使用。

毫無疑問,發(fā)現錯誤肯定是靜態(tài)代碼分析的一個重要方面。但是,靜態(tài)分析技術的范圍廣泛,從簡單的語法檢查或基于啟發(fā)式的方法,到基于形式化方法的高級驗證,不一而足。

這一范圍還體現在市場上各種各樣的靜態(tài)分析工具。例如,一些高級編譯器有一個采用靜態(tài)分析形式的內置語法檢查器。在該范圍的另一端是基于形式化方法的工具,如可以執(zhí)行語義分析的 Polyspace,為您的軟件提供詳細的運行行為。

Polyspace Bug Finder 是一種可以幫助發(fā)現錯誤的靜態(tài)分析工具,但它還可用于:

檢查您的軟件是否符合編碼標準,如 MISRA C/C++、JSF++ 和自定義規(guī)則

生成代碼度量指標以幫助您改進代碼質量。

此外,使用 Polyspace Code Prover,您還可以證明您的軟件不會由于特定類型的關鍵運行時錯誤而崩潰。

因此,這些工具已經超出了簡單的錯誤發(fā)現,在驗證和確認過程中非常有價值。例如,下圖中的代碼是形式驗證的結果,該結果確認在任何運行條件下都不會發(fā)生溢出錯誤:

關于Polyspace靜態(tài)分析的具體作用分析和介紹

如前所述,您可以使用靜態(tài)分析來檢查您的代碼是否符合特定的編碼準則或標準,從而避免使用不安全或不可靠的結構。它還可以幫助您捕捉表明代碼質量的關鍵指標,如圈復雜度、執(zhí)行不到的代碼、使用共享全局變量和遞歸 、省去編寫測試用例的開銷。這些指標可以幫助您找出設計問題,例如可能最終影響軟件性能和可靠性的代碼架構。

使用非初始化變量或不受保護的共享變量可能在特定的測試用例中顯示意想不到的結果。然后,您可能會承擔調試任務,花費大量的時間試圖找出問題所在。更糟糕的是,由于此類運行時錯誤的不可預知性,這些缺陷可能不會在測試過程中顯示出來。

靜態(tài)分析更為廣泛的優(yōu)勢并不廣為人知,因此它在軟件開發(fā)工作流程的后期才被采用。因為它被簡單地認為是一種發(fā)現錯誤的方法,所以它通常在軟件開發(fā)的最后階段才被采用(例如,靜態(tài)分析是質量工程團隊發(fā)布代碼之前的最后一關)。超過90%的潛在客戶在進入了項目的結束階段后才與我們聯系,了解我們的靜態(tài)分析解決方案。

但是,如果您想利用上面討論的所有優(yōu)勢,則應在開發(fā)的早期階段引入靜態(tài)分析。實際上,使用編譯器就是一個這樣的例子,因為編譯器是一個非常簡單的靜態(tài)分析工具,可幫助開發(fā)代碼的語法和語義。研究發(fā)現,盡早發(fā)現和修復編碼錯誤可以獲得顯著的成本效益。還可以縮短您所開發(fā)軟件所需的測試時間。因此,靜態(tài)分析在早期引入您的工作流非常重要,它遠不是簡單地識別錯誤。

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

    關注

    30

    文章

    4700

    瀏覽量

    68110
  • 編譯器
    +關注

    關注

    1

    文章

    1608

    瀏覽量

    48981
  • 靜態(tài)分析

    關注

    1

    文章

    38

    瀏覽量

    3869
收藏 人收藏

    評論

    相關推薦

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

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

    Cadence Allegro 17.4PCB阻抗分析功能操作說

    Cadence Allegro 17.4布線阻抗分析可以讓工程師能直觀的分析出阻抗的具體情況,能夠評估每根走線上的阻抗變化情況,對工程師衡量信號的質量起著關鍵性的作用。
    發(fā)表于 09-23 17:11 ?0次下載

    基于VSS軟件的汽車座椅舒適性仿真分析

    本文介紹了應用ESI的Virtual Seat Solution(VSS)對汽車座椅舒適性仿真分析。在設計前期對座椅H點及靜態(tài)舒適性進行分析,并通過實驗對標,確定了
    的頭像 發(fā)表于 09-20 14:37 ?206次閱讀
    基于VSS軟件的汽車座椅舒適性仿真<b class='flag-5'>分析</b>

    對放大電路的分析方法介紹

    放大電路是電子技術中非常重要的組成部分,它廣泛應用于信號處理、通信、測量等領域。對于放大電路的分析,通??梢苑譃橹绷?b class='flag-5'>分析和交流分析兩種情況。下面我們將介紹這兩種
    的頭像 發(fā)表于 08-07 10:08 ?382次閱讀

    基于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 ?349次閱讀
    如何使用<b class='flag-5'>Polyspace</b> Code Prover來統(tǒng)計堆棧

    神經網絡在預測分析中的作用

    預測分析領域中表現出了卓越的性能。本文將深入探討神經網絡在預測分析中的作用,結合具體案例和數字信息,詳細闡述其工作原理、優(yōu)勢以及應用前景。
    的頭像 發(fā)表于 07-01 11:53 ?496次閱讀

    IAR通過多架構認證的靜態(tài)分析工具加速代碼質量自動化

    公司推出經TüV SüD認證的C-STAT靜態(tài)分析工具,適用于最新發(fā)布的IAR Embedded Workbench for RISC-V V3.30.2功能安全版。
    的頭像 發(fā)表于 06-19 15:49 ?300次閱讀

    FPGA 高級設計:時序分析和收斂

    今天給大俠帶來FPGA 高級設計:時序分析和收斂,話不多說,上貨。 這里超鏈接一篇之前的STA的文章,僅供各位大俠參考。 FPGA STA(靜態(tài)時序分析) 什么是靜態(tài)時序
    發(fā)表于 06-17 17:07

    頻譜分析儀使用方法 頻譜分析儀的作用

    頻譜分析儀是一種用于測量信號頻譜成分的電子測量儀器,廣泛應用于通信、電子、電力、科研等領域。本文將詳細介紹頻譜分析儀的使用方法和作用。 一、頻譜分析
    的頭像 發(fā)表于 05-31 17:17 ?775次閱讀

    信號分析和過濾器的作用

    在通信、電子工程、計算機科學等多個領域,信號分析與過濾器扮演著舉足輕重的角色。信號分析不僅涉及信號的獲取、處理、分析和判斷,更是從復雜的信號中提取有用信息,進行精確解讀的關鍵過程。而過濾器,作為一種特定的信號處理技術,則在此過程
    的頭像 發(fā)表于 05-16 17:20 ?547次閱讀

    如下電流檢測電路具體是怎么分析的?

    在如圖電路中,+和DC+之間串接低值電阻,檢測正母線流過電流。 請教該電路具體是怎么工作的?尤其是在這兩個三極管的工作過程?如果電流從左往右流過,+點電壓高于DC+,該怎么分析? 如果電流是回饋
    發(fā)表于 03-03 11:29

    生物信號采集與分析系統(tǒng)用戶手冊

    詳細介紹了BL-420N型生物信號采集與分析系統(tǒng)的功能以及具體的操作方法。
    發(fā)表于 12-07 09:54 ?4次下載

    如何在IC封裝中分析并解決與具體引線鍵合相關的設計問題?

    如何在IC 封裝中分析并解決與具體引線鍵合相關的設計問題?
    的頭像 發(fā)表于 11-28 17:08 ?695次閱讀
    如何在IC封裝中<b class='flag-5'>分析</b>并解決與<b class='flag-5'>具體</b>引線鍵合相關的設計問題?

    LTspice的常用的幾種電路分析功能和操作

    。 ” 01 — 直流分析 直流分析是最基本的分析功能,可以分析直流電壓源和電流源作用于電路的工作狀態(tài)。它包括
    的頭像 發(fā)表于 11-03 16:16 ?1.6w次閱讀
    LTspice的常用的幾種電路<b class='flag-5'>分析</b>功能和操作