Trong bài này, chúng ta sẽ tìm hiểu về plugin FindBugs của Eclipse và sử dụng nó để phân tích code trong Eclipse.
FindBugs là một bộ phân tích code hoạt động trên bytecode Java và giúp xác định một loạt các lỗi tiềm ẩn hay thực thi code xấu trong các chương trình Java. FindBugs không yêu cầu mã chương trình phải được thực hiện để được phân tích cho lỗi. FindBugs giúp chúng ta phát hiện sớm các vấn đề trong giai đoạn code, nhờ đó giảm được thời gian và chi phí phát triển phần mềm.
Menu
1. Download và cài đặt plugin FindBug
Ở menu Help -> Eclipse Marketplace -> Tìm findbug -> Install.
Sau đó khởi động lại Eclipse.
2. Cấu hình plugin Findbugs
Trên menu, chọn Windows -> Preferences -> Java -> Findbugs
2.1 Minimum Rank to report (thứ hạng tối thiểu để báo cáo)
FindBugs bắt đầu xếp hạng các lỗi với tỷ lệ từ 1 đến 20 để đo mức độ nghiêm trọng của các khiếm khuyết:
- Scariest (Rất nghiêm trọng): xếp hạng giữa 1 và 4.
- Scary (Nghiêm trọng): xếp hạng từ 5 đến 9.
- Troubling (Khó khăn/ phiền phức): xếp hạng giữa 10 và 14.
- Of concern (Quan tâm): xếp hạng từ 15 đến 20.
2.2 Minimum Confidence to report (Độ tin cậy tối thiểu để báo cáo)
Chia làm 3 mức:
- Low: thấp
- Medium: trung bình
- High: cao
Nếu thận trọng trong tất cả các báo cáo FindBugs, chúng ta đặt ở mức thấp (Low) để báo cáo tất cả các sự cố lỗi tiềm ẩn.
2.3 Mark Bugs with rank as (Đánh dấu mức độ cảnh báo dựa trên xếp hạng lỗi)
Tùy chọn này cho phép chúng ta thiết lập các lỗi được báo cáo là Error (Lỗi), Info (Thông tin), Warning (Cảnh báo) dựa trên xếp hạng lỗi Scariest, Scary, Troubling, Of concern.
Ví dụ, chúng ta có chọn lỗi Scariest và Scary sẽ được báo cáo là Lỗi (trong mã).
Các thiết lập khác có thể tham khảo thêm trên trang chủ của Findbugs.
3. Sử dụng plugin Findbugs
Để chạy phân tích lỗi của FindBugs trong một project, nhấp chuột phải vào project và chọn Find Bugs … -> Find Bugs.
FindBugs cung cấp các cửa sổ chuyên biệt để xem thông báo lỗi được báo cáo. Trên menu chính, chọn Window -> Show View -> Other … -> Tìm và chọn Bug Explorer.
Như hình trên: Findbugs chỉ cho chúng ta ở dòng 10, có thể bị lỗi do chưa gán trị cho field students, fix lại bằng cách check trước khi sử dụng, hoặc khởi tạo giá trị.
Trong số trường hợp các lỗi được Findbugs phát hiện có thể tồn tại mà không gây ra bất kỳ tác hại cho chương trình, nghĩa là chúng ta có thể bỏ qua và không cần phải fix nó. Đó là lý do tại sao, trong tình huống thực tế, chúng ta cần phải cấu hình đúng các công cụ phân tích tĩnh bằng cách chọn một số giới hạn một số tùy chọn để kích hoạt trong một dự án cụ thể.
4. Export kết quả kiểm tra của FindBugs
FindBugs cho phép export và load các kết quả phân tích lỗi ra file xml.
Các bạn có thể tham khảo thêm trên trang chủ của Findbugs.