GP Coder

Trang chia sẻ kiến thức lập trình Java

  • Java Core
    • Basic Java
    • OOP
    • Exception Handling
    • Multi-Thread
    • Java I/O
    • Networking
    • Reflection
    • Collection
    • Java 8
  • Design pattern
    • Creational Pattern
    • Structuaral Pattern
    • Behavior Pattern
  • Web Service
    • SOAP
    • REST
  • JPA
  • Java library
    • Report
    • Json
    • Unit Test
  • Message Queue
    • ActiveMQ
    • RabbitMQ
  • All
Trang chủ IDE, Tools Hướng dẫn sử dụng plugin FindBugs trong Eclipse

Hướng dẫn sử dụng plugin FindBugs trong Eclipse

Đăng vào 22/10/2017 . Được đăng bởi GP Coder . 5842 Lượt xem . Toàn màn hình

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.

Nội dung

  • 1 Download và cài đặt plugin JAutodoc
  • 2 Cấu hình plugin Findbugs
  • 3 Sử dụng plugin Findbugs
  • 4 Export kết quả kiểm tra của FindBugs

Download và cài đặt plugin JAutodoc

Các bạn xem hướng dẫn ở bài viết Các plugin Eclipse thường dùng.

Cấu hình plugin Findbugs

Trên menu, chọn Windows -> Preferences -> Java -> Findbugs

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.

Đặt thứ hạng tối thiểu để báo cáo là 20 (Of concern). Điều này sẽ cho phép chúng ta xem tất cả lỗi từ kết quả đánh giá của FindBugs.

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.

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.

Bug Categories (Các loại lỗi được báo cáo bởi Findbugs)

FindBugs chia lỗi thành nhiều loại:

  • Correctness: lỗi chung như vòng lặp vô hạn, sử dụng phương equals() không đúng, …
  • Bad practice: xử lý ngoại lệ (exception), mở luồng, so sánh chuỗi,…
  • Performance: object khai báo nhưng không sử dụng
  • Multithreaded correctness: xử lý bất đồng bộ và các vấn đề khác nhau trong môi trường đa luồng.
  • Internationalization: các vấn đề liên quan đến việc mã hóa (encoding) và áp dụng quốc tế hóa (internationalization) của ứng dụng.
  • Malicious code vulnerability: thu thập các lỗ hổng trong mã, ví dụ: đoạn mã có thể được khai thác để tấn công chương trình.
  • Security: các lỗi bổ mật liên qua đến giao thức (protocols), SQL Injection, …
  • Dodgy: so sánh không cần thiết, kiểm tra null, các biến không sử dụng, …

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ể.

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.

4.3
06
Nếu bạn thấy hay thì hãy chia sẻ bài viết cho mọi người nhé! Và Donate tác giả

Shares

Chuyên mục: IDE, Tools Được gắn thẻ: Eclipse

Hướng dẫn sử dụng JAutodoc để sinh comment trong Eclipse
Hướng dẫn sử dụng plugin SonarLint trong Eclipse

Có thể bạn muốn xem:

  • Hướng dẫn sử dụng VisualVM để đo hiệu năng chương trình Java (25/10/2017)
  • Hướng dẫn sử dụng plugin Vanaraha để kiểm tra code trùng lặp (24/10/2017)
  • Xây dựng dự án nhiều Module với Maven (08/12/2017)
  • Các plugin Eclipse thường dùng (22/10/2017)
  • Hướng dẫn debug code trong eclipse (16/03/2018)

Bình luận

bình luận

Tìm kiếm

Bài viết mới

  • Clean code 13/01/2024
  • Giới thiệu CloudAMQP – Một RabbitMQ server trên Cloud 02/10/2020
  • Kết nối RabbitMQ sử dụng Web STOMP Plugin 19/06/2020
  • Sử dụng publisher confirm trong RabbitMQ 16/06/2020
  • Sử dụng Dead Letter Exchange trong RabbitMQ 13/06/2020

Xem nhiều

  • Hướng dẫn Java Design Pattern – Factory Method (97378 lượt xem)
  • Hướng dẫn Java Design Pattern – Singleton (97026 lượt xem)
  • Giới thiệu Design Patterns (86692 lượt xem)
  • Lập trình đa luồng trong Java (Java Multi-threading) (85525 lượt xem)
  • Giới thiệu về Stream API trong Java 8 (83067 lượt xem)

Nội dung bài viết

  • 1 Download và cài đặt plugin JAutodoc
  • 2 Cấu hình plugin Findbugs
  • 3 Sử dụng plugin Findbugs
  • 4 Export kết quả kiểm tra của FindBugs

Lưu trữ

Thẻ đánh dấu

Annotation Authentication Basic Java Behavior Pattern Collection Creational Design Pattern Cấu trúc điều khiển Database Dependency Injection Design pattern Eclipse Exception Executor Service Google Guice Gson Hibernate How to Interceptor IO Jackson Java 8 Java Core JDBC JDK Jersey JMS JPA json JUnit JWT Message Queue Mockito Multithreading OOP PowerMockito RabbitMQ Reflection Report REST SOAP Structuaral Pattern Swagger Thread Pool Unit Test Webservice

Liên kết

  • Clean Code
  • JavaTpoint
  • Refactoring Guru
  • Source Making
  • TutorialsPoint
  • W3Schools Online Web Tutorials

Giới thiệu

GP Coder là trang web cá nhân, được thành lập với mục đích lưu trữ, chia sẽ kiến thức đã học và làm việc của tôi. Các bài viết trên trang này chủ yếu về ngôn ngữ Java và các công nghệ có liên quan đến Java như: Spring, JSF, Web Services, Unit Test, Hibernate, SQL, ...
Hi vọng góp được chút ít công sức cho sự phát triển cộng đồng Coder Việt.

Donate tác giả

Tìm kiếm các bài viết của GP Coder với Google Search

Liên hệ

Các bạn có thể liên hệ với tôi thông qua:
  • Trang liên hệ
  • Linkedin: gpcoder
  • Email: contact@gpcoder.com
  • Skype: ptgiang56it

Follow me

Copyright 2025 © GP Coder · All Rights Reserved · Giới thiệu · Chính sách · Điều khoản · Liên hệ ·

Share

Blogger
Delicious
Digg
Email
Facebook
Facebook messenger
Flipboard
Google
Hacker News
Line
LinkedIn
Mastodon
Mix
Odnoklassniki
PDF
Pinterest
Pocket
Print
Reddit
Renren
Short link
SMS
Skype
Telegram
Tumblr
Twitter
VKontakte
wechat
Weibo
WhatsApp
X
Xing
Yahoo! Mail

Copy short link

Copy link