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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

MATLAB ? 來(lái)源:djl ? 2019-09-18 15:41 ? 次閱讀


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

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

毫無(wú)疑問(wèn),發(fā)現(xiàn)錯(cuò)誤肯定是靜態(tài)代碼分析的一個(gè)重要方面。但是,靜態(tài)分析技術(shù)的范圍廣泛,從簡(jiǎn)單的語(yǔ)法檢查或基于啟發(fā)式的方法,到基于形式化方法的高級(jí)驗(yàn)證,不一而足。

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

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

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

生成代碼度量指標(biāo)以幫助您改進(jìn)代碼質(zhì)量。

此外,使用 Polyspace Code Prover,您還可以證明您的軟件不會(huì)由于特定類型的關(guān)鍵運(yùn)行時(shí)錯(cuò)誤而崩潰。

因此,這些工具已經(jīng)超出了簡(jiǎn)單的錯(cuò)誤發(fā)現(xiàn),在驗(yàn)證和確認(rèn)過(guò)程中非常有價(jià)值。例如,下圖中的代碼是形式驗(yàn)證的結(jié)果,該結(jié)果確認(rèn)在任何運(yùn)行條件下都不會(huì)發(fā)生溢出錯(cuò)誤:

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

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

使用非初始化變量或不受保護(hù)的共享變量可能在特定的測(cè)試用例中顯示意想不到的結(jié)果。然后,您可能會(huì)承擔(dān)調(diào)試任務(wù),花費(fèi)大量的時(shí)間試圖找出問(wèn)題所在。更糟糕的是,由于此類運(yùn)行時(shí)錯(cuò)誤的不可預(yù)知性,這些缺陷可能不會(huì)在測(cè)試過(guò)程中顯示出來(lái)。

靜態(tài)分析更為廣泛的優(yōu)勢(shì)并不廣為人知,因此它在軟件開(kāi)發(fā)工作流程的后期才被采用。因?yàn)樗缓?jiǎn)單地認(rèn)為是一種發(fā)現(xiàn)錯(cuò)誤的方法,所以它通常在軟件開(kāi)發(fā)的最后階段才被采用(例如,靜態(tài)分析是質(zhì)量工程團(tuán)隊(duì)發(fā)布代碼之前的最后一關(guān))。超過(guò)90%的潛在客戶在進(jìn)入了項(xiàng)目的結(jié)束階段后才與我們聯(lián)系,了解我們的靜態(tài)分析解決方案。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67770
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1602

    瀏覽量

    48896
  • 靜態(tài)分析
    +關(guān)注

    關(guān)注

    1

    文章

    36

    瀏覽量

    3867
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    對(duì)放大電路的分析方法介紹

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

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

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

    如何使用Polyspace Code Prover來(lái)統(tǒng)計(jì)堆棧

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

    神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)分析中的作用

    預(yù)測(cè)分析領(lǐng)域中表現(xiàn)出了卓越的性能。本文將深入探討神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)分析中的作用,結(jié)合具體案例和數(shù)字信息,詳細(xì)闡述其工作原理、優(yōu)勢(shì)以及應(yīng)用前景。
    的頭像 發(fā)表于 07-01 11:53 ?418次閱讀

    IAR通過(guò)多架構(gòu)認(rèn)證的靜態(tài)分析工具加速代碼質(zhì)量自動(dòng)化

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

    FPGA 高級(jí)設(shè)計(jì):時(shí)序分析和收斂

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

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

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

    信號(hào)分析和過(guò)濾器的作用

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

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

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

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

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

    如何在IC封裝中分析并解決與具體引線鍵合相關(guān)的設(shè)計(jì)問(wèn)題?

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

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

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

    頻譜分析儀的五種帶寬介紹

    頻譜分析儀無(wú)論在選型還是在使用中,都有各種帶寬選擇,比如頻譜儀測(cè)量帶寬,分辨率帶寬,分析帶寬等,本篇文章介紹一下各種帶寬的含義和作用。
    的頭像 發(fā)表于 10-23 11:58 ?3032次閱讀
    頻譜<b class='flag-5'>分析</b>儀的五種帶寬<b class='flag-5'>介紹</b>

    功率分析儀的功能和作用

    功率分析儀是一種專門(mén)用于測(cè)量、分析和評(píng)估電力系統(tǒng)的電力參數(shù)的儀器。它具有很多功能和作用,可以幫助用戶對(duì)電力系統(tǒng)進(jìn)行全面了解和管理。本文將詳細(xì)介紹功率
    的頭像 發(fā)表于 10-19 13:21 ?1130次閱讀