91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

利用正確的靜態(tài)分析實(shí)現(xiàn)應(yīng)用

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Arthur Hicken,Wayne ? 2022-06-19 07:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一般來(lái)說(shuō),最佳實(shí)踐是平臺(tái)中立的——這就是為什么它們被稱為“最佳實(shí)踐”。盡管嵌入式開(kāi)發(fā)特有的微妙之處,有已知的標(biāo)準(zhǔn)來(lái)確保質(zhì)量,無(wú)論平臺(tái)如何。例如,避免內(nèi)存泄漏應(yīng)該是通用的。此外,靜態(tài)分析和軟件之間的關(guān)系不一定由應(yīng)用程序定義:它由設(shè)備的用途定義。也就是說(shuō),運(yùn)行靜態(tài)分析是嵌入式軟件開(kāi)發(fā)特別重要的最佳實(shí)踐。

傳統(tǒng)上,嵌入式軟件在發(fā)布后訪問(wèn)起來(lái)非常昂貴且痛苦。出于這個(gè)原因,大多數(shù)質(zhì)量或驗(yàn)證活動(dòng)都集中在消除修補(bǔ)或重構(gòu)嵌入式代碼的需要上。發(fā)布后修復(fù)錯(cuò)誤不僅對(duì)品牌而且對(duì)利潤(rùn)構(gòu)成最大風(fēng)險(xiǎn)。在某些行業(yè),特別是在安全關(guān)鍵領(lǐng)域,與軟件缺陷相關(guān)的后果非常嚴(yán)重,以至于必須完美地執(zhí)行質(zhì)量和驗(yàn)證任務(wù)。嵌入到胰島素泵、武器控制系統(tǒng)、汽車(chē)制動(dòng)系統(tǒng)等關(guān)鍵設(shè)備中的軟件需要使用全方位靜態(tài)分析功能的預(yù)防策略;否則后果可能包括代價(jià)高昂的訴訟、C 級(jí)辭職,甚至喪生。這與敏捷相反,持續(xù)開(kāi)發(fā),Web 驅(qū)動(dòng)的軟件應(yīng)用程序,例如智能手機(jī)、電視等,對(duì)于這些應(yīng)用程序而言,預(yù)防策略不太重要。為此,在軟件開(kāi)發(fā)范圍的預(yù)防策略方面進(jìn)行了以下討論,檢查了各種靜態(tài)分析實(shí)現(xiàn):

積分時(shí)靜態(tài)分析

持續(xù)集成時(shí)間 (CI) 靜態(tài)分析

指標(biāo)分析

編輯時(shí)靜態(tài)分析

運(yùn)行時(shí)靜態(tài)分析

積分時(shí)靜態(tài)分析

在集成期間運(yùn)行靜態(tài)分析以檢測(cè)容易實(shí)現(xiàn)的目標(biāo)和嚴(yán)重錯(cuò)誤是實(shí)施預(yù)防策略的良好起點(diǎn)。集成時(shí)靜態(tài)分析在不實(shí)際執(zhí)行代碼的情況下模擬可行的應(yīng)用程序路徑,這對(duì)于無(wú)法進(jìn)行運(yùn)行時(shí)分析的系統(tǒng)非常有用。靜態(tài)分析可以跨多個(gè)函數(shù)和文件進(jìn)行測(cè)試,并捕獲常見(jiàn)的內(nèi)存問(wèn)題,例如未初始化的內(nèi)存、溢出、空指針等。

當(dāng)組織開(kāi)始在集成期間進(jìn)行測(cè)試時(shí),靜態(tài)分析在開(kāi)發(fā)策略方面有幾個(gè)目的。首先,工程師可以查看測(cè)試結(jié)果并確定它們對(duì)于特定應(yīng)用的重要性。靜態(tài)分析可能會(huì)發(fā)現(xiàn)可能對(duì)軟件安全性、可靠性或性能產(chǎn)生嚴(yán)重影響的潛在缺陷。另一方面,它可能會(huì)返回企業(yè)可能不關(guān)心的東西。例如,企業(yè)可能并不關(guān)心游戲控制臺(tái)中的缺陷會(huì)導(dǎo)致軟件在發(fā)生不太可能的操作序列時(shí)崩潰。用戶可以簡(jiǎn)單地重新啟動(dòng)并繼續(xù)享受他們的系統(tǒng)。然而,在其他情況下解決同類(lèi)問(wèn)題可能對(duì)于防止災(zāi)難性后果至關(guān)重要。

靜態(tài)分析還可以幫助軟件工程師發(fā)現(xiàn)在風(fēng)險(xiǎn)評(píng)估階段很難想到的潛在缺陷。工程師可以對(duì)潛在缺陷進(jìn)行分類(lèi),以改進(jìn)未來(lái)的風(fēng)險(xiǎn)評(píng)估迭代。

持續(xù)集成時(shí)間 (CI) 靜態(tài)分析

在運(yùn)行集成時(shí)靜態(tài)分析之后,軟件工程師應(yīng)該對(duì)代碼中潛在的系統(tǒng)問(wèn)題有更強(qiáng)烈的認(rèn)識(shí)。下一步是運(yùn)行 CI 靜態(tài)分析,以執(zhí)行規(guī)劃階段概述的編碼策略。這可以防止在集成時(shí)間分析期間發(fā)現(xiàn)的缺陷類(lèi)型。

對(duì)于靜態(tài)分析中發(fā)現(xiàn)的每個(gè)問(wèn)題,在代碼的其他地方至少還有 10 個(gè)完全相同的東西。靜態(tài)分析是同時(shí)解決所有同類(lèi)違規(guī)行為的理想工具。這與在代碼中追逐每一條可能的路徑相反。找到系統(tǒng)性問(wèn)題,創(chuàng)造一個(gè)bug無(wú)法生存的環(huán)境要好得多。

當(dāng)我們談?wù)撿o態(tài)分析時(shí),在很多情況下我們指的是反模式分析。積極的模式是應(yīng)該在代碼中的東西。例如,要求工程師在聲明函數(shù)指針時(shí)使用typedef的策略是正模式靜態(tài)分析規(guī)則。這與例如在與標(biāo)準(zhǔn) C 庫(kù)交互時(shí)禁止使用字符串類(lèi)中的data()成員函數(shù)的策略形成對(duì)比。

執(zhí)行兩種類(lèi)型(正模式和反模式)的靜態(tài)分析很重要,但值得一提的是這種區(qū)別,因?yàn)槿绻M織花時(shí)間基于正模式構(gòu)建編碼策略,這可以確保軟件工程師準(zhǔn)確地構(gòu)建代碼它應(yīng)該符合業(yè)務(wù)目標(biāo)或合規(guī)性要求。

指標(biāo)分析

指標(biāo)分析是一種靜態(tài)分析實(shí)現(xiàn),它評(píng)估代碼特征并提供有關(guān)代碼的洞察力,可以幫助軟件工程師識(shí)別弱點(diǎn)(圖 1)。它是一種關(guān)鍵傳感器,可以突出顯示可能容易出現(xiàn)邏輯錯(cuò)誤的應(yīng)用程序區(qū)域。指標(biāo)分析是一個(gè)基本的基線測(cè)量,應(yīng)該觸發(fā)進(jìn)一步的分析,例如代碼審查或其他一些補(bǔ)救活動(dòng)。

圖 1: Parasoft 靜態(tài)分析指標(biāo)報(bào)告

pYYBAGKsSD-AA41VAAzutAkeNas576.png

指標(biāo)分析最好盡早使用,因?yàn)樗赡軙?huì)影響軟件工程師編寫(xiě)代碼的方式。避免嘗試被動(dòng)地或在 QA 階段實(shí)施指標(biāo)分析。指標(biāo)分析的目標(biāo)不僅僅是檢測(cè)潛在的缺陷;它以允許工程師遵循可持續(xù)編碼軌跡的方式檢測(cè)它們。對(duì)潛在缺陷熱點(diǎn)運(yùn)行指標(biāo)分析,糾正任何違規(guī)行為,并實(shí)施基于模式的分析規(guī)則以防止將來(lái)發(fā)生。

任何與潛在問(wèn)題相關(guān)的指標(biāo)都是公平的游戲。例如,一家醫(yī)療設(shè)備公司可能會(huì)使用度量分析來(lái)衡量圈復(fù)雜度,因?yàn)楦叻直砻髟O(shè)備在正常運(yùn)行期間需要處理的決策點(diǎn)太多。當(dāng)有 10 個(gè)分支需要削減時(shí),知道復(fù)雜性分?jǐn)?shù)超過(guò)了編碼策略中設(shè)置的閾值,而不是在 QA 階段發(fā)現(xiàn),這將有助于保持項(xiàng)目按時(shí)和按預(yù)算進(jìn)行。例如,組織可能想要測(cè)量公共變量,因?yàn)楦邤?shù)字可能與代碼中過(guò)多的依賴關(guān)系相關(guān)。每個(gè)組織都需要決定哪些指標(biāo)可以與代碼中可能的缺陷相關(guān)聯(lián)。

編輯時(shí)靜態(tài)分析

靜態(tài)分析的最佳點(diǎn)是開(kāi)發(fā)人員在編輯器中工作時(shí)。在編輯時(shí)運(yùn)行靜態(tài)分析有幾個(gè)目的。首先,它將軟件工程師指出潛在的問(wèn)題。其次,它通過(guò)確保系統(tǒng)地修復(fù)任何問(wèn)題來(lái)實(shí)施風(fēng)險(xiǎn)評(píng)估策略。

但是什么時(shí)候應(yīng)該實(shí)施靜態(tài)分析呢?我們已經(jīng)討論了為什么太遲實(shí)施靜態(tài)分析是一個(gè)問(wèn)題。但是,它也可能實(shí)施得太早,因?yàn)殪o態(tài)分析必須有足夠的上下文才能提供有意義的信息。對(duì)字符、行甚至語(yǔ)句運(yùn)行靜態(tài)分析會(huì)產(chǎn)生太多噪音而無(wú)用。實(shí)施積極的設(shè)計(jì)模式可確保新代碼在編寫(xiě)時(shí)按預(yù)期構(gòu)建。在編輯時(shí)運(yùn)行靜態(tài)分析是在開(kāi)發(fā)團(tuán)隊(duì)中促進(jìn)正確行為的一種有效方式,因?yàn)榉答伿强焖俚牟⑶沂窃谡诰帉?xiě)的代碼的上下文中。利用這種類(lèi)型的分析可以提高代碼審查的效率,因?yàn)楣こ處煈?yīng)該能夠立即糾正基于策略的錯(cuò)誤。

運(yùn)行時(shí)靜態(tài)分析

一些靜態(tài)分析模式可以在運(yùn)行時(shí)檢測(cè)缺陷。如果嵌入式目標(biāo)可以容納開(kāi)銷(xiāo),則組織應(yīng)執(zhí)行運(yùn)行時(shí)靜態(tài)分析以完善其預(yù)防策略。運(yùn)行時(shí)靜態(tài)分析在代碼實(shí)際運(yùn)行時(shí)檢測(cè)錯(cuò)誤,這使軟件工程師能夠使用真實(shí)數(shù)據(jù)測(cè)試真實(shí)路徑。

關(guān)于靜態(tài)分析和 QA 的最后說(shuō)明

在理想的預(yù)防策略中,QA 運(yùn)行靜態(tài)分析時(shí)發(fā)現(xiàn)的錯(cuò)誤應(yīng)該已經(jīng)知道并確定為可接受的。這是因?yàn)檐浖こ處煈?yīng)該已經(jīng)針對(duì)設(shè)計(jì)模式進(jìn)行了測(cè)試和調(diào)整以強(qiáng)制執(zhí)行編碼策略。此階段的違規(guī)意味著流程存在問(wèn)題,例如不正確的靜態(tài)分析規(guī)則。在這些情況下,QA 需要將代碼發(fā)送回開(kāi)發(fā)人員,以便他們可以找到缺陷的系統(tǒng)原因并實(shí)施規(guī)則以防止將來(lái)發(fā)生。從這個(gè)角度來(lái)看,靜態(tài)分析是一個(gè)比錯(cuò)誤查找器更好的質(zhì)量門(mén)。

作者:Arthur Hicken,Wayne Ariola,Adam Trujillo

審核編輯:郭婷

聲明:本文內(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)注

    2576

    文章

    55070

    瀏覽量

    791551
  • 智能手機(jī)
    +關(guān)注

    關(guān)注

    66

    文章

    18693

    瀏覽量

    186111
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4968

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鎖存器中的時(shí)間借用概念與靜態(tài)時(shí)序分析

    對(duì)于基于鎖存器的設(shè)計(jì),靜態(tài)時(shí)序分析會(huì)應(yīng)用一個(gè)稱為時(shí)間借用的概念。本篇博文解釋了時(shí)間借用的概念,若您的設(shè)計(jì)中包含鎖存器且時(shí)序報(bào)告中存在時(shí)間借用,即可適用此概念。
    的頭像 發(fā)表于 12-31 15:25 ?5509次閱讀
    鎖存器中的時(shí)間借用概念與<b class='flag-5'>靜態(tài)</b>時(shí)序<b class='flag-5'>分析</b>

    請(qǐng)問(wèn)如何利用 Keil 分析 MCU 堆??臻g?

    如何利用 Keil 分析 MCU 堆棧空間?
    發(fā)表于 11-26 07:38

    什么是CVE?如何通過(guò)SAST/靜態(tài)分析工具Perforce QAC 和 Klocwork應(yīng)對(duì)CVE?

    本文將為您詳解什么是CVE、CVE標(biāo)識(shí)符的作用,厘清CVE與CWE、CVSS的區(qū)別,介紹CVE清單內(nèi)容,并說(shuō)明如何借助合適的靜態(tài)分析工具(如Perforce QAC/Klocwork),在軟件開(kāi)發(fā)早期發(fā)現(xiàn)并修復(fù)漏洞。
    的頭像 發(fā)表于 10-31 14:24 ?541次閱讀
    什么是CVE?如何通過(guò)SAST/<b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b>工具Perforce QAC 和 Klocwork應(yīng)對(duì)CVE?

    如何利用Trace機(jī)制實(shí)現(xiàn)LLCP預(yù)覽功能

    在藍(lán)牙協(xié)議棧開(kāi)發(fā)過(guò)程中,有時(shí)需要預(yù)先知道 LLCP。本文將介紹如何利用 Trace 機(jī)制實(shí)現(xiàn) LLCP 預(yù)覽功能。
    的頭像 發(fā)表于 10-09 17:55 ?1957次閱讀

    知識(shí)分享 | 使用MXAM進(jìn)行AUTOSAR模型的靜態(tài)分析:Embedded Coder與TargetLink模型

    知識(shí)分享在知識(shí)分享欄目中,我們會(huì)定期與讀者分享來(lái)自MES模賽思的基于模型的軟件開(kāi)發(fā)相關(guān)Know-How干貨,關(guān)注公眾號(hào),隨時(shí)掌握基于模型的軟件設(shè)計(jì)的技術(shù)知識(shí)。使用MXAM進(jìn)行AUTOSAR模型的靜態(tài)
    的頭像 發(fā)表于 08-27 10:04 ?738次閱讀
    知識(shí)分享 | 使用MXAM進(jìn)行AUTOSAR模型的<b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b>:Embedded Coder與TargetLink模型

    CoolSiC? MOSFET G2如何正確選型 硬開(kāi)關(guān)與軟開(kāi)關(guān)場(chǎng)景解析

    在功率電子領(lǐng)域,英飛凌的CoolSiCMOSFETG2以其卓越性能備受關(guān)注。本文將重點(diǎn)分析如何在硬開(kāi)關(guān)和軟開(kāi)關(guān)兩種應(yīng)用場(chǎng)景下,正確選型CoolSiCMOSFETG2,以實(shí)現(xiàn)最佳系統(tǒng)性能。
    的頭像 發(fā)表于 08-26 09:04 ?5278次閱讀
    CoolSiC? MOSFET G2如何<b class='flag-5'>正確</b>選型 硬開(kāi)關(guān)與軟開(kāi)關(guān)場(chǎng)景解析

    網(wǎng)段隔離器實(shí)現(xiàn)靜態(tài)NAT網(wǎng)絡(luò)通信

    在許多網(wǎng)絡(luò)場(chǎng)景中,不同網(wǎng)段之間需要進(jìn)行通信,但又要保證各網(wǎng)段的相對(duì)獨(dú)立性和安全性。如果缺少網(wǎng)絡(luò)規(guī)劃與網(wǎng)段隔離,會(huì)使網(wǎng)絡(luò)面臨巨大的安全風(fēng)險(xiǎn),各類(lèi)網(wǎng)絡(luò)攻擊更容易傳播。而靜態(tài)NAT能夠在實(shí)現(xiàn)網(wǎng)段隔離的前提下,建立起不同網(wǎng)段間的通信橋梁,十分適用于需要固定IP地址進(jìn)行通信的系統(tǒng)中
    的頭像 發(fā)表于 08-16 13:44 ?956次閱讀

    汽車(chē)軟件團(tuán)隊(duì)必看:基于靜態(tài)代碼分析工具Perforce QAC的ISO 26262合規(guī)實(shí)踐

    ISO 26262合規(guī)指南,從ASIL分級(jí)到工具落地,手把手教你用靜態(tài)代碼分析(Perforce QAC)實(shí)現(xiàn)高效合規(guī)。
    的頭像 發(fā)表于 08-07 17:33 ?1162次閱讀
    汽車(chē)軟件團(tuán)隊(duì)必看:基于<b class='flag-5'>靜態(tài)</b>代碼<b class='flag-5'>分析</b>工具Perforce QAC的ISO 26262合規(guī)實(shí)踐

    如何正確選購(gòu)功率半導(dǎo)體器件靜態(tài)參數(shù)測(cè)試機(jī)?

    主要的功率半導(dǎo)體器件特性分為靜態(tài)特性、動(dòng)態(tài)特性、開(kāi)關(guān)特性。這些測(cè)試中最基本的測(cè)試就是靜態(tài)參數(shù)測(cè)試。靜態(tài)參數(shù)主要是指本身固有的,與其工作條件無(wú)關(guān)的相關(guān)參數(shù)。主要包括:柵極開(kāi)啟電壓、柵極擊穿電壓、源極漏
    的頭像 發(fā)表于 08-05 16:06 ?813次閱讀
    如何<b class='flag-5'>正確</b>選購(gòu)功率半導(dǎo)體器件<b class='flag-5'>靜態(tài)</b>參數(shù)測(cè)試機(jī)?

    請(qǐng)問(wèn)如何設(shè)置藍(lán)牙靜態(tài)隨機(jī)地址?

    您好,我想實(shí)現(xiàn)藍(lán)牙地址除了燒錄其他場(chǎng)景保持不變,那么想問(wèn)一下如何將藍(lán)牙地址類(lèi)型設(shè)置為靜態(tài)隨機(jī)地址? 我使用了 CYW20835。
    發(fā)表于 07-07 08:12

    動(dòng)態(tài)BGP與靜態(tài)BGP的區(qū)別?

    的 IP,只要遠(yuǎn)端發(fā)起 BGP 握手,且來(lái)自 AS 65002,即自動(dòng)建立對(duì)等關(guān)系。四、實(shí)戰(zhàn)應(yīng)用場(chǎng)景分析場(chǎng)景一:傳統(tǒng)運(yùn)營(yíng)商邊界路由器 使用靜態(tài) BGP BGP 對(duì)等關(guān)系固定,變化極少 需要手動(dòng)管理
    發(fā)表于 06-24 06:57

    SiC MOSFET并聯(lián)運(yùn)行實(shí)現(xiàn)靜態(tài)均流的基本要求和注意事項(xiàng)

    通過(guò)并聯(lián)SiC MOSFET功率器件,可以獲得更高輸出電流,滿足更大功率系統(tǒng)的要求。本章節(jié)主要介紹了SiC MOSFET并聯(lián)運(yùn)行實(shí)現(xiàn)靜態(tài)均流的基本要求和注意事項(xiàng)。
    的頭像 發(fā)表于 05-23 10:52 ?1840次閱讀
    SiC MOSFET并聯(lián)運(yùn)行<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>靜態(tài)</b>均流的基本要求和注意事項(xiàng)

    如何利用EPR分析USB PD?

    /ref_xdps2222_240w1/)。 我想知道是否有適用于 CY4500 或任何其他分析儀的新固件可以用于進(jìn)行一些測(cè)試。 或者,您建議我們?nèi)绾?b class='flag-5'>利用 EPR 分析 USB PD?
    發(fā)表于 05-21 06:40

    利用邊緣計(jì)算和工業(yè)計(jì)算機(jī)實(shí)現(xiàn)智能視頻分析

    IVA的好處、實(shí)際部署應(yīng)用程序以及工業(yè)計(jì)算機(jī)如何實(shí)現(xiàn)這些解決方案。一、什么是智能視頻分析(IVA)?智能視頻分析(IVA)集成了復(fù)雜的計(jì)算機(jī)視覺(jué),通常與卷積神經(jīng)網(wǎng)
    的頭像 發(fā)表于 05-16 14:37 ?851次閱讀
    <b class='flag-5'>利用</b>邊緣計(jì)算和工業(yè)計(jì)算機(jī)<b class='flag-5'>實(shí)現(xiàn)</b>智能視頻<b class='flag-5'>分析</b>

    如何利用高光譜相機(jī)實(shí)現(xiàn)精確的光譜分析

    空間信息基礎(chǔ)上增加第三維的光譜信息。 這種技術(shù)基于物質(zhì)對(duì)不同波長(zhǎng)光的吸收、反射特性具有"指紋"效應(yīng)的原理。每種物質(zhì)都有其獨(dú)特的光譜特征,通過(guò)分析這些特征,我們能夠準(zhǔn)確識(shí)別物質(zhì)的成分和狀態(tài)。 一、實(shí)現(xiàn)精確光譜分析的關(guān)鍵
    的頭像 發(fā)表于 03-28 17:05 ?1099次閱讀
    如何<b class='flag-5'>利用</b>高光譜相機(jī)<b class='flag-5'>實(shí)現(xiàn)</b>精確的光譜<b class='flag-5'>分析</b>?