FindBugs 是由馬里蘭大學提供的一款開源 Java靜態代碼分析工具。FindBugs通過檢查類文件或 JAR文件,將字節碼與一組缺陷模式進行對比從而發現代碼缺陷,完成靜態代碼分析。FindBugs既提供可視化 UI 界面,同時也可以作為 Eclipse插件使用。文本將主要使用將 FindBugs作為 Eclipse插件。在安裝成功后會在 eclipse中增加 FindBugs perspective,用戶可以對指定 Java類或 JAR文件運行FindBugs,此時 FindBugs會遍歷指定文件,進行靜態代碼分析。
安裝步驟:
1.點擊“Help->InstallNew Software”,如下圖:
2.點擊“Add”,然后在彈出框“Name”輸入“findBugs”,“Location”輸入“http://findbugs.cs.umd.edu/eclipse”,點擊“OK”,如下圖:
3.選擇對應插件,然后點擊“next->next->finish”。
4.完成安裝之后重啟eclipse,右擊項目文件或目錄,會發現多了Findbugs的菜單,如下圖:
當然也可以直接從http://download.csdn.net/detail/hailshao/6593725下載,然后將文件復制到你本地eclipse的plugins目錄,然后重啟eclipse即可。
當然也可選擇某一個文件夾,或者整個包和工程.
配置FindBugs:
在這里可以對FindBugs規則等進行詳細設置。
選擇你的項目,右鍵 => Properties => FindBugs =>
1 Run Automatically開關
當此項選中后,FindBugs將會在你修改Java類時自動運行,如你設置了Eclipse自動編譯開關后,當你修改完Java文件保存,FindBugs就會運行,並將相應的信息顯示出來。
當此項沒有選中,你只能每次在需要的時候自己去運行FindBugs來檢查你的代碼。
2 Detector Configuration選擇項
在這里你可以選擇所要進行檢查的相關的Bug Pattern條目,你可以根據需要選擇或去掉相應的 檢查條件。
3 Minimum priority to report選擇項
這個選擇項是讓你選擇哪個級別的信息進行顯示,有Low、Medium、High三個選擇項可以選擇,很類似於Log4J的級別設置啦。 比如:
你選擇了High選擇項,那么只有是High級別的提示信息才會被顯示。
你選擇了Medium選擇項,那么只有是Medium和High級別的提示信息才會被顯示。
你選擇了Low選擇項,那么所有級別的提示信息都會被顯示。
4 Report bug categories選擇項
在這里是一些顯示Bug分類的選擇:
Malicious code vulnerability 關於惡意破壞代碼相關方面的
Correctness 關於代碼正確性相關方面的
Internationalization 關於代碼國際化相關方面的
Performance 關於代碼性能相關方面的
Multithreaded correctness關於代碼多線程正確性相關方面的
大的分類主要包括以下幾種:
Bad practice |
不好的習慣 |
Correctness |
代碼的正確性 |
Dodgy |
小問題 |
Malicious code vulnerability |
惡意代碼 |
Internationalization |
國際化問題 |
Performance |
性能問題 |
Security |
安全性問題 |
Multithreaded currectness |
線程問題 |
Experrimental |
實驗性問題 |