国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

靜態分析有助于管理Java中的風險

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Jon Jarboe ? 2022-06-19 07:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天的軟件開發團隊承受著巨大的壓力;市場對高質量、安全版本的需求不斷加快,而安全威脅也變得越來越復雜。考慮到產品故障和安全漏洞的高成本,在整個軟件開發過程中解決這些風險比以往任何時候都更加重要。需要盡早發現潛在問題,以防止發布延遲或更糟糕的是,發布后失敗。

幸運的是,有許多工具可以幫助開發人員管理這些風險,幫助在開發階段早期識別潛在問題,此時問題的破壞性較小且更容易修復。開發人員可以輕松訪問它們,并且在許多開發環境中易于使用。這適用于使用任何語言進行編程的開發人員;但是,我們在本次討論中關注 Java

靜態分析有助于降低風險

在考慮 Java 或其他方面的靜態分析工具時,了解這些工具是什么很重要。術語“靜態分析”是指在不執行程序的情況下分析程序的方法。正如我們將在下一節中看到的,靜態分析工具可用于生成從編碼標準違規到特定錯誤或漏洞的任何報告。簡而言之,靜態分析工具分析源代碼以找到對管理風險有用的信息。

靜態分析的一個好處是它可以在開發周期的早期執行,通常在應用程序執行之前。它通常集成到自動構建中,因此幾乎沒有運行頻繁分析的開銷。通過將靜態分析集成到內部開發循環中,用戶可以最大化他們從此類工具中獲得的價值。

當與精心設計的開發過程結合使用時,靜態分析工具可以提供對軟件狀態的關鍵可見性。這使開發團隊能夠了解其代碼中的風險級別以及風險所在的位置,以便他們可以采取行動來減輕或完全消除它(表 1)。單個工具通常專注于軟件開發團隊面臨的特定問題,團隊經常使用這些工具的組合來全面了解他們的開發工作。

表 1:靜態分析工具通常會發現特定類型的問題,每種類型代表不同類型的風險并需要不同類型的操作。

poYBAGKsSe6AMiHKAACpYcHfp3k480.png

開發人員傳統上通過簡單的 IDE 集成或作為獨立工具使用靜態分析工具。雖然這些工具為開發工作增加了重要價值,但隨著開發人員花費越來越多的時間使用和維護不同的工具以及篩選越來越多的結果,工具的激增也帶來了效率問題。為了明智地管理開發資源,團隊必須能夠有效地管理、過濾和優先考慮所有這些問題。

為了解決這些問題,開發測試平臺應運而生,以便在一個地方統一和管理所有這些靜態分析信息,從而簡化用戶體驗并在更大范圍內提高可見性和效率,同時提供相關的訪問控制和報告。開發測試平臺甚至開始通過在靜態分析過程中利用早期程序運行期間生成的工件來模糊靜態分析和其他類型分析之間的界限。例如,這些平臺可以在靜態分析期間使用來自測試運行的代碼覆蓋率信息來有效地自動識別缺失的測試用例。解決這個問題的傳統方法需要基于簡單的覆蓋閾值的大量手動工作。通過利用不同來源的數據,

為 Java 選擇靜態分析工具

Java 最流行的免費靜態分析工具可能是 Checkstyle、PMD 和 FindBugs。雖然它們都屬于“靜態分析”的范疇,但它們的優勢是如此不同,以至于許多人認為這些工具是互補的,而不是替代品。

格紋風格

Checkstyle 被稱為“一種開發工具,可幫助程序員編寫符合編碼標準的 Java 代碼 [1]”,盡管它并不嚴格限制自己執行編碼標準。它為用戶提供了一個文檔化的 API 來定義他們自己的自定義檢查。典型的編碼標準利用基本規則使代碼更具可讀性,并減少未來代碼更改引入錯誤的可能性。標準傾向于定義有關格式(空格、括號、命名、注釋等)、繼承和可見性的約定。如果得到充分執行,設計良好的編碼標準可以幫助開發人員降低風險。但是,執行起來可能很困難,因為編碼標準會產生很多違規行為,并且可能存在忽略嘈雜規則的巨大壓力。使用遺留代碼,這會使執行新的編碼標準變得不可行。雖然 Checkstyle 發現的大多數問題不會影響代碼的正確性、健壯性或性能,但幫助開發人員快速理解其他人編寫的代碼具有真正的價值。如何量化這些違規所代表的風險并不總是顯而易見的,直接從違規計數衡量風險是有問題的,但這些計數的變化可以作為風險變化的合理代理。

PMD

PMD 被描述為“……源代碼分析器。它會發現未使用的變量、空的 catch 塊、不必要的對象創建等等[2]。” 它也在不斷發展,目前的檢查主要集中在可能掩蓋開發人員錯誤的語法異常上,例如過于復雜的表達式、空塊、未使用的變量、參數和類成員。它還有一個流行的模塊來識別重復的代碼。因為它通常報告“可疑代碼”而不是特定的編碼錯誤或違反標準的情況,所以用戶需要仔細選擇為日常使用啟用的檢查。因為強制規則是由用戶選擇的,所以這個工具對遺留項目和新建項目都很有用,而且通常很容易將這些計數與風險相關聯。很遺憾,

查找錯誤

FindBugs 可能是這些工具中最受歡迎的。它查找代碼中的實際錯誤,以及可疑代碼和標準違規。由于報告的問題范圍廣泛,因此使用包含項目最相關檢查的配置非常重要。對于遺留項目尤其如此,因為從一開始就更容易保持新項目的清潔。與 PMD 一樣,任何團隊都可以從使用 FindBugs 中受益,并且將問題計數與風險相關聯非常簡單。

商業靜態分析工具顯示出類似的多樣性,可以識別從標準違規到實際缺陷和安全漏洞的所有內容。為了說明商業工具與免費工具的比較,我使用專有的靜態分析解決方案和 FindBugs 的 2.0.1 版分析了 Jenkins 作業管理系統 (www.jenkins-ci.org) 的 1.496 版,啟用了所有檢查。 在此代碼庫中,識別出 852 個獨特問題——兩種產品僅識別出 28 個問題。該專有解決方案發現了 197 個獨特問題,其中 188 個來自影響較大的類別(安全和并發錯誤、資源泄漏和未處理的異常,如 null 取消引用)。FindBugs 發現了 627 個獨特問題,其中 29 個來自這些高影響類別。簡而言之,

開發測試——將所有內容捆綁在一起

靜態分析工具是 Java 開發人員軟件開發工作中的強大盟友,因為這些工具使開發人員能夠深入了解整個軟件開發生命周期的風險。它們通常很容易自動化,使用戶能夠花時間解決問題而不是運行工具。

在管理風險方面,通常信息越多越好——只要這些信息能夠闡明開發人員關心的實際風險來源。在決定采用哪些工具時,請記住不僅要考慮分析工具識別的問題類型,還要考慮這些工具如何協同工作以提供額外價值。此外,請務必適當地配置它們,以免問題的數量使您的用戶不堪重負。

現代開發測試平臺通過將數據統一在一個地方、簡化用戶體驗并創造機會來提供更多價值,從而將測試工具提升到另一個層次。

審核編輯:郭婷

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

    關注

    20

    文章

    3001

    瀏覽量

    116422
  • 源代碼
    +關注

    關注

    96

    文章

    2953

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    動態血糖儀如何讓疾病監測更輕松便捷

    動態血糖儀無需指尖采血,即可提供實時血糖數據,有助于改善糖尿病管理
    的頭像 發表于 02-25 10:42 ?688次閱讀
    動態血糖儀如何讓疾病監測更輕松便捷

    汽車電子供應商風險如何評估

    對汽車電子供應商進行可靠的風險評估,其核心在于超越對單一認證證書(如IATF 16949)的靜態核查,轉而構建一個能夠系統量化其長期穩健運營能力的動態分析框架。有效的風險
    的頭像 發表于 02-10 14:45 ?464次閱讀

    工廠人員定位軟件管理系統從部署實施流程、ROI分析風險與避坑要點詳解(二)

    本文詳解工廠人員定位系統部署全流程,涵蓋勘測、POC驗證、分階段實施及驗收培訓;結合ROI分析風險規避要點,助力企業實現安全、高效、合規的人員管理智能化升級。
    的頭像 發表于 01-14 17:33 ?113次閱讀

    鎖存器的時間借用概念與靜態時序分析

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

    大模型真的有助于自動駕駛落地嗎?

    其實大模型帶來的并不是單一的“萬能解”,而是一個能夠顯著提升認知、生成和推理能力的新工具箱。它能加速數據閉環、提升對復雜場景的理解、改善人機交互、并在工程流程中提高效率。
    的頭像 發表于 08-16 09:43 ?1155次閱讀
    大模型真的<b class='flag-5'>有助于</b>自動駕駛落地嗎?

    動態BGP與靜態BGP的區別?

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

    RFID測溫芯片在新能源電池管理的創新應用

    本文提出無源無線RFID測溫芯片為電池熱管理提供創新解決方案。該芯片通過集成溫度傳感器和RFID芯片,實現無源無線測溫,無需電池供電,實現電池包內部空間維度上的高密度溫度分布監測。其簡化部署和可靠性提升有助于降低系統成本。
    的頭像 發表于 06-11 11:24 ?872次閱讀
    RFID測溫芯片在新能源電池<b class='flag-5'>管理</b><b class='flag-5'>中</b>的創新應用

    山東LP-SCADA故障回溯功能的好處

    ,可以識別出系統的薄弱環節和潛在風險點,從而采取相應的措施進行改進和優化。 提升系統可靠性 通過本平臺的故障回溯功能,企業可以及時發現并處理系統的潛在問題,避免故障的發生或擴大。這有助于提升系統的整體
    發表于 05-29 14:42

    基本電路分析(經典學習指導系列)

    對于電工技術、電氣工程方面的人士是個很好的借鑒,有助于電路分析。 從直流電阻性電路分析開始,一直講到交流電路。 對于數學基礎方面,使用者不需要懂得微分或積分預算,用導數來說明電壓與電流的關系的場合
    發表于 05-13 15:29

    PanDao:光學設計的制造風險管理

    是通過對其加工參數進行系統分析確定的。 1.簡介 在光學制造技術,可預測且穩定的制造工藝對成本與質量進行可靠管理至關重要。本文闡述了針對特定光學元件與系統,如何來確定光學制造鏈應采
    發表于 05-07 09:01

    基于智能穿戴的智慧校園運動健康解決方案NRF52832

    消耗等。這有助于學生了解自己的運動量,鼓勵他們進行適當的運動,保持健康的身體狀態。 2、健康管理:該解決方案還提供健康管理功能,學生可以記錄自己的身體指標,如心率、血壓、睡眠質量等。通過分析
    發表于 04-09 15:37

    高效、超低靜態電流、超低輸出紋波降壓穩壓器DA9232數據手冊

    電流,這些器件的電池壽命顯著延長。降壓穩壓器的動態電壓控制(DVC)有助于優化整個系統電源模式,從而進一步提高系統效率和電池壽命。 *附件:高效、超低靜態電流、超低輸出紋波降壓穩壓器DA9232數據手冊.pdf 優勢 10mV
    的頭像 發表于 04-08 17:22 ?884次閱讀
    高效、超低<b class='flag-5'>靜態</b>電流、超低輸出紋波降壓穩壓器DA9232數據手冊

    PoE交換機在安防監控系統的關鍵作用

    設備宕機和故障的風險。 PoE交換機提供的可靠性確保了穩定且不間斷的數據流,這對于安全監控和訪問控制的有效性至關重要。通過消除數據傳輸的潛在障礙,PoE交換機有助于構建穩定可靠的網絡基礎設施
    發表于 03-24 16:41

    白光干涉儀:表面形貌分析,如何區分波紋度與粗糙度?

    表面形貌分析,波紋度和粗糙度是兩種關鍵特征。通過濾波技術設置截止波長,可將兩者分離。分離后,通過計算參數或FFT驗證效果。這種分析有助于優化加工工藝、提升產品性能和質量。
    的頭像 發表于 03-19 18:04 ?1258次閱讀
    白光干涉儀:表面形貌<b class='flag-5'>分析</b>,如何區分波紋度與粗糙度?

    頻域示波器在電源噪聲分析的應用

    抽樣定律,即采樣率應大于信號最高頻率的兩倍。在電源噪聲分析,通常選擇較高的采樣率以捕捉高頻噪聲。 時基的設置應足夠長,以覆蓋整個有效信號的時間跨度。這有助于減少頻譜泄漏,提高頻譜分析
    發表于 03-14 15:03