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

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

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

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

什么是靜態(tài)分析?如何管理早期靜態(tài)分析報告

麥克泰技術 ? 來源:麥克泰技術 ? 作者:麥克泰技術 ? 2022-11-01 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Parasoft作為軟件測試工具,小編接觸過很多在這方面尋求幫助的人,所以有這方面疑惑的不止你一個人哦!

我們假定你已經(jīng)安裝了靜態(tài)分析工具并配置了所有初始設置。除此以外,如果剛開始沒有確定項目需要采取的策略,入門會比較困難。小編所說的“入門”是指深入理解將靜態(tài)分析集成到現(xiàn)有項目中的一般方法,以及如何提高靜態(tài)分析隨著時間的推移帶來的投資回報。

什么是靜態(tài)分析?

簡單來說,靜態(tài)分析是在不執(zhí)行代碼的情況下檢查源代碼和二進制代碼的過程,通常用于查找bug的前期準備或評估代碼質(zhì)量。與需要運行程序的動態(tài)分析(例如Parasoft Insure ++)不同,靜態(tài)分析可以直接分析源代碼而不需要執(zhí)行源代碼。

這意味著靜態(tài)分析可用于部分完整的代碼,庫和第三方源代碼。開發(fā)人員可以將靜態(tài)分析應用在編寫或修改代碼的過程中,甚至可以應用到任何代碼庫。

支持功能安全和編碼標準

在應用程序安全域中,靜態(tài)代碼分析采用了靜態(tài)應用程序安全性測試(SAST)技術。靜態(tài)分析可以支持安全漏洞檢測,同時支持bug檢測,質(zhì)量指標和編碼標準一致性檢測。

另外,靜態(tài)分析工具強制要求(在某些情況下“強烈推薦”)能夠支持安全標準(如ISO 26262或EN 50128)的檢測,因為這些標準能夠檢測難以發(fā)現(xiàn)的缺陷并提高軟件的安全性。當然,這又回歸到安全性的問題上,因為靜態(tài)分析工具還可以幫助軟件團隊遵守主要用于驗證安全編碼的編碼標準,例如CERT甚至MISRA。

靜態(tài)分析工具優(yōu)點及難點

靜態(tài)分析工具的一個優(yōu)點是它們可以在項目的任何階段引入和使用,即使項目是不完整的或者只有部分編碼是有效的。引入靜態(tài)分析的最大難點在于代碼量大會產(chǎn)生大量的警告。因此,將靜態(tài)分析應用到項目中時的重點應該是使團隊能夠盡快高效工作,并最大限度地減少團隊被靜態(tài)分析的警告困擾的情況。這并不是說這些警告不重要,但大多數(shù)開發(fā)人員都不會修復現(xiàn)有或遺留代碼缺陷,至少不是立即處理。

最重要的應該是將靜態(tài)分析運用到日常流程中,以便最大化靜態(tài)分析的使用效果和可用性,然后處理最危險的bug和安全漏洞。一旦團隊變得更加熟練,你就可以專注于優(yōu)化工具和流程,提高投資回報率。

如何管理早期靜態(tài)分析報告

一旦將靜態(tài)分析工具安裝到項目中,該工具通常會報告相當長的違規(guī)和警告報告。這可能是多到無法處理的,特別是在大型代碼庫中,因此如何管理這些報告將會直接影響到工具集成到項目中能否成功。

并非所有警告都是至關重要的,因此不需要立即處理所有警告。學習哪些需要立即解決而哪些需要推遲處理是成功的關鍵。如上所述,產(chǎn)品的成熟度和規(guī)模對方法有直接影響,下面將更詳細地概述。

底線方法

顧名思義,在這種方法中,開發(fā)人員決定在初步分析之后,他們不會讓任何更嚴重的警告和違規(guī)進入代碼庫。換句話說,他們需要分析每個警告來確定其準確性,并及時修復,如果它確實是一個bug。

團隊還可以決定在現(xiàn)有代碼中添加已發(fā)現(xiàn)的關鍵警告,并將其添加到報告工具中的bug列表中。這些類型的警告可能是嚴重的安全漏洞,如SQL注入,或嚴重的內(nèi)存錯誤,如緩沖區(qū)溢出。在大多數(shù)情況下,可以推遲不太嚴重的警告以供以后分析。你可能會想,“這不僅僅會增加我們的技術債務嗎?”如果你這樣想,那你就是對的!但在這個階段,我們對此表示滿意。這些警告中的任何潛在錯誤都已經(jīng)在技術債務堆中。至少現(xiàn)在,它們被識別出來并且以后更容易修復。

確認并推遲處理方法

如果產(chǎn)品已經(jīng)在市場上并且正在維護中,那么識別代碼中的任何bug和安全漏洞仍然是有益的,但讓開發(fā)人員分析(更不用說修復)所有這些警告是不可行的。

在這種情況下,查看最重要的報告并確定行動方案是有意義的。其余的警告只需要確認,因為軟件團隊認識到它們存在,但它們大多數(shù)都被推遲了。(這再次增加了該組織的技術債務,但如上所述,這些漏洞在技術上已經(jīng)存在作為技術債務。)這種方法不同于底線方法的地方在于確定關鍵警告后,你會推遲其余的警告,而不需要所有的都分析。

綠地方法

現(xiàn)有代碼很少的項目是靜態(tài)分析的理想起點。在這種情況下,軟件團隊可以調(diào)查出現(xiàn)的所有警告并修復發(fā)現(xiàn)的錯誤。與其他方法不同,你只需要管理很少的警告,因此開發(fā)人員可以解決額外的工作。這也是通過這些工具實現(xiàn)和實施編碼標準的理想時間,因為可以在IDE中以及在將任何代碼提交到版本控制之前識別和修復違規(guī)(你可以在此處描述的其他方案中執(zhí)行此操作)。

在三個主要階段采用何種靜態(tài)分析,可以通過如何處理積壓的警告來區(qū)分,如下所示:

732f3bc4-5992-11ed-a3b6-dac502259ad0.jpg

在三個主要階段采用靜態(tài)分析:在綠地項目中,大多數(shù)報告的警告都經(jīng)過調(diào)查和修復,幾乎沒有進入技術債務堆。正在開發(fā)的項目往往會積壓大量的警告,這些警告大部分都是推遲處理,只處理嚴重警告,維護中的產(chǎn)品往往會推遲大多數(shù)警告。

配置與過濾

開源或輕量級靜態(tài)分析工具與商業(yè)高級靜態(tài)分析工具之間的主要區(qū)別之一在于能否配置為分析啟用哪組檢查器,并根據(jù)警告類別,文件名,嚴重性等過濾掉報告的結(jié)果屬性。這有助于突出目標——開發(fā)人員可以專注于他們感興趣的警告類型,并減少在任何時間產(chǎn)生的垃圾信息量。

配置檢查器和過濾結(jié)果之間也存在差異。盡管一開始限制全局配置中的規(guī)則數(shù)量似乎更好,但通常應使用過濾來限制報告范圍,而不是完全消除檢查程序。如果在配置中關閉后來證明是重要的規(guī)則,則警告存儲庫中將沒有歷史記錄,因此你將無法確定錯誤是由最近的更改引入還是在靜態(tài)分析之前已經(jīng)在代碼中。

我建議使用配置將規(guī)則集限制為可預見對軟件團隊有用的規(guī)則。同樣,以最終目標為出發(fā)點:如果提高安全性是關鍵目標,那么啟用所有與安全相關的規(guī)則,禁用不太重要的規(guī)則,啟用CERT C等內(nèi)置安全編碼標準。如果你正在使用Parasoft C/C++test等高級靜態(tài)分析解決方案,你可以利用其內(nèi)置的管理工具來處理靜態(tài)分析報告中生成的數(shù)據(jù),并推進未來的重點開發(fā)工作。

總結(jié)

靜態(tài)分析工具使團隊無需執(zhí)行代碼,就能夠檢測和跟蹤錯誤安全漏洞。這些工具可應用于現(xiàn)有、傳統(tǒng)和第三方代碼并提供質(zhì)量審查結(jié)果。

采用何種靜態(tài)分析方法在一定程度上取決于項目的成熟度。大量代碼確實會產(chǎn)生大量警告。但這完全是可管理的,能否成功取決于團隊如何決定處理結(jié)果。好好考慮為項目的每個成熟度階段引入不同的技術,以及如何將這些工具集成到開發(fā)人員,團隊負責人和經(jīng)理的日常工作流程中。

審核編輯 :李倩

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

    關注

    30

    文章

    4968

    瀏覽量

    74014
  • 應用程序
    +關注

    關注

    38

    文章

    3344

    瀏覽量

    60279
  • 靜態(tài)分析

    關注

    1

    文章

    45

    瀏覽量

    4206

原文標題:如何使用靜態(tài)分析,減輕團隊壓力?

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    變頻器的靜態(tài)調(diào)試步驟

    變頻器的“靜態(tài)調(diào)試”通常有兩種理解:一種是指電機 不旋轉(zhuǎn) 的情況下,讓變頻器自動測量電機電氣參數(shù)的 “靜態(tài)自學習” (或靜態(tài)辨識);另一種更廣泛的含義是指變頻器在 帶電機但不帶負載 的情況下,進行
    的頭像 發(fā)表于 03-11 07:36 ?7次閱讀
    變頻器的<b class='flag-5'>靜態(tài)</b>調(diào)試步驟

    2.7VIN,5VOUT,300KHz,電荷泵升壓芯片,XZ3121 靜態(tài)電流:400uA#RTT設計大賽

    靜態(tài)電流
    jf_56831014
    發(fā)布于 :2026年01月16日 09:49:56

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

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

    關于晶振的靜態(tài)電容與動態(tài)電容

    靜態(tài)電容與動態(tài)電容 C0與C1 的區(qū)別是什么呢?
    的頭像 發(fā)表于 11-21 15:38 ?4388次閱讀
    關于晶振的<b class='flag-5'>靜態(tài)</b>電容與動態(tài)電容

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

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

    vivado時序分析相關經(jīng)驗

    -fanout_greater_than 100 -max_nets 100“此tcl命令可以報告扇出大于100的100條最長路徑。 命令生成的報告如上,可以分析fanout和驅(qū)動類型。對于較大的fanout,最好
    發(fā)表于 10-30 06:58

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

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

    汽車軟件團隊必看:基于靜態(tài)代碼分析工具Perforce QAC的ISO 26262合規(guī)實踐

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

    D3502C:低靜態(tài)電流設計,延長設備續(xù)航能力

    ? ? ? ? 在當今電子設備日益便攜化和智能化的背景下,電源管理芯片的低功耗設計成為提升設備續(xù)航能力的關鍵因素之一。D3502C?高壓降壓轉(zhuǎn)換器,憑借其低靜態(tài)電流設計,顯著延長了電池供電設備
    的頭像 發(fā)表于 07-14 14:53 ?616次閱讀

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

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

    詳解ADC電路的靜態(tài)仿真和動態(tài)仿真

    ADC電路主要存在靜態(tài)仿真和動態(tài)仿真兩類仿真,針對兩種不同的仿真,我們存在不同的輸入信號和不同的數(shù)據(jù)采樣,因此靜態(tài)仿真和動態(tài)仿真是完全不同的兩個概念,所以設置的參數(shù)不同。
    的頭像 發(fā)表于 06-05 10:19 ?2012次閱讀
    詳解ADC電路的<b class='flag-5'>靜態(tài)</b>仿真和動態(tài)仿真

    有償邀請企業(yè)或個人分析此圖,并提供分析報告

    有償邀請企業(yè)或個人分析此圖,并提供分析報告,
    發(fā)表于 06-01 18:40

    揭秘ABAQUS強大到超乎想象的分析功能有哪些?

    和研究人員解決復雜工程問題的得力助手。本文將深入探討ABAQUS那些強大到超乎想象的分析功能,揭示它如何在不同領域發(fā)揮關鍵作用。 一、靜態(tài)與動態(tài)分析的雙劍合璧 ABAQUS的核心功能之一是其強大的
    的頭像 發(fā)表于 05-21 16:15 ?700次閱讀
    揭秘ABAQUS強大到超乎想象的<b class='flag-5'>分析</b>功能有哪些?

    DA9233高效、超低靜態(tài)電流降壓穩(wěn)壓器和超低靜態(tài)電流 LDO數(shù)據(jù)手冊

    DA9233 是一款高效、超低靜態(tài)電流降壓穩(wěn)壓器和超低靜態(tài)電流 LDO,采用緊湊型 I2C 可配置 WLCSP 封裝。降壓穩(wěn)壓器還具有超低輸出紋波(10mV)。 該器件適用于需要低紋波和高效電源
    的頭像 發(fā)表于 04-08 18:07 ?809次閱讀
    DA9233高效、超低<b class='flag-5'>靜態(tài)</b>電流降壓穩(wěn)壓器和超低<b class='flag-5'>靜態(tài)</b>電流 LDO數(shù)據(jù)手冊

    高度集成、可配置的低靜態(tài)電流電源管理IC DA9072數(shù)據(jù)手冊

    DA9072 是一款高度集成、可配置的低靜態(tài)電流電源管理 IC(PMIC),集成了可穿戴設備、家庭自動化和低功耗電池應用的最常見需求。 PMIC包括一個具有電源路徑管理功能的線性充電器、超低
    的頭像 發(fā)表于 04-02 11:39 ?917次閱讀
    高度集成、可配置的低<b class='flag-5'>靜態(tài)</b>電流電源<b class='flag-5'>管理</b>IC DA9072數(shù)據(jù)手冊