java 查找bug的工具 SpotBugs 和 Findbugs


SpotBugs是Findbugs的繼任者(Findbugs已經於2016年后不再維護),用於對代碼進行靜態分析,查找相關的漏洞。

目前SpotBugs 3.1.3 自帶檢測器,其中有90余種Bad practice,155余種Correctness,9種Experimental, 2種 Internationalization,17種Malicious code vulnerability,46種Multithreaded correctness,4種 Bogus random noise,37種Performance,11種 Security,87種Dodgy。

  1. Bad practice 不佳實踐:常見代碼錯誤,用於靜態代碼檢查時進行缺陷模式匹配(如重寫equals但沒重寫
    hashCode,或相反情況等)
  2. Correctness 可能導致錯誤的代碼(如空指針引用、無限循環等)
  3. Experimental 實驗性
  4. Internationalization 國際化相關問題(如錯誤的字符串轉換等)
  5. Malicious code vulnerability 可能受到的惡意攻擊(如訪問權限修飾符的定義等)
  6. Multithreaded correctness 多線程的正確性(如多線程編程時常見的同步,線程調度問題等)
  7. BogusMultithreaded correctness 多線程的正確性(如多線程編程時常見的同步,線程調度問題等)
  8. Performance 運行時性能問題(如由變量定義,方法調用導致的代碼低效問題等)
  9. Security 安全問題(如HTTP,SQL,DB等)
  10. Dodgy code 導致自身錯誤的代碼(如未確認的強制轉換、冗余的空值檢查等)

注: SpotBugs 需要當前的JDK環境為 1.8以上,但可以對1.0~1.9的代碼來進行檢查。

這些插件可以在 IntelliJ IDEA 里安裝,android studio也可以,不知道eclipse行不行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM