1、FindBugs介紹
FindBugs是一款Java靜態代碼分析工具,與其他靜態分析工具(如Checkstyle和PMD)不同,FindBugs 不注重樣式或者格式,它專注於尋找真正的缺陷或者潛在的性能問題,它可以幫助java工程師提高代碼質量以及排除隱含的缺陷。有了靜態分析工具,就可以在不實際運行程序的情況對軟件進行分析。
最新版本下載地址http://findbugs.sourceforge.net/downloads.html。
FindBugs運用Apache BCEL 庫分析類文件(class文件)而不是源代碼,將字節碼與一組缺陷模式進行對比以發現可能的問題。FindBugs的檢測器已增至300多條,被分為不同的類型,常見的類型如下:
· 正確性(Correctness):這種歸類下的問題在某種情況下會導致bug,比如錯誤的強制類型轉換等。
· 最佳實踐反例(Bad practice):這種類別下的代碼違反了公認的最佳實踐標准,比如某個類實現了equals方法但未實現hashCode方法等。
· 多線程正確性(Multithreaded correctness):關注於同步和多線程問題。
· 性能(Performance):潛在的性能問題。
· 安全(Security):安全相關。
· 高危(Dodgy):FindBugs團隊認為該類型下的問題代碼導致bug的可能性很高。
2、在Eclipse中安裝FindBugs插件
一.在線安裝
安裝地址:http://findbugs.cs.umd.edu/eclipse
二.下載Eclipse plugin 的版本,解壓zip文件。
將解壓后的文件放到Eclipse的Plugin中。重新啟動Eclipse 。
3、FindBugs插件使用方法
安裝了Findbugs插件后。右擊點擊你要檢查的項目選擇【Find Bugs】->【Find Bugs】進行檢查。
要查看Findbugs檢查出了哪些Bug,可以選擇Windows菜單->Show View->Bug Explorer,打開Bug Explorer面板。
如果想要查看某個Bug詳細的信息,則可以選擇Windows菜單->Open Perspective,然后選擇FindBugs就可以打開FindBugs的Properties面板,在這個面板里面可以看到最詳盡的Bugs信息。
4、FindBugs Bug Descriptions
http://findbugs.sourceforge.net/bugDescriptions.html