Facebook giới thiệu mã nguồn mở Infer giúp các nhà phát triển nhận diện các lỗi kỹ thuật

Ngoc Huynh

Vào hôm nay Facebook đã giới thiệu mã nguồn mở Infer, một trình phân tích chương trình tĩnh (static program) mà Facebook sử dụng để tìm bug trong lập trình di động. Các nhân viên của Facebook sử dụng công cụ này để phân tích các ứng dụng của Facebook cho Android và iOS, Facebook Messenger, Instagram và các ứng dụng khác.

Facebook cho biết Infer giúp công ty phát hiện hàng trăm bug tiềm ẩn mỗi tháng bằng cách quét code của các sự cố như lỗi null pointer access, cũng như lỗi memory leak hay resource leak – một loại sự cố mà có thể gây ra hiện tượng ứng dụng bị crash.

Rõ ràng Facebook được biết đến về việc shipping code nhanh. Facebook sửa bug trên web nhanh như việc phát hành code, mặc dù điều đó không phải là một lựa chọn đơn giản cho các ứng dụng di động nơi mà người dùng phải download bản cập nhật để nhận sửa lỗi.

Trong lúc hầu hết người người dùng của Facebook sử dụng Infer cho các dự án Android Java Code và iOS Objective-C, thì không có lý do gì các nhà phát triển không thể sử dụng công cụ tương tự để kiểm tra bất kỳ lập trình C hay Java nào. Thực vậy, Facebook cho biết họ cũng đang mở rộng phạm vi sử dụng của Infer.

Tại Facebook, Infer vận hành một cách tự động bất cứ khi nào mà nhà phát triển kiểm tra sửa đổi code cho mã nguồn chương trình của một trong những ứng dụng chính của công ty, và sau đó công cụ sẽ viết bình luận về code khi nó phát hiện ra các sự cố.

Bạn có thể đọc tất cả các chi tiết kỹ thuật của công cụ này trong bài viết trên blog của Facebook, Infer sử dụng một khái niệm gọi là “separation logic (logic hằng số tách)” để tìm các lỗi này. Đó là một lý thuyết cho phép trình phân tích kiểm tra các phần nhỏ của lưu trữ ứng dụng thay vì toàn bộ ứng dụng. Sử dụng điều này, Infer có thể phân tích hầu hết các thay đổi của code trong vòng 10 phút. Để đẩy nhanh tốc độ thậm chí nhiều hơn, Infer cũng chỉ kiểm tra các phần của code đã trong lúc vận hành. Nếu không có những kỹ thuật như thế này, thì phân tích tĩnh này sẽ gần như không thể thực hiện được.

Hiện tại bạn có thể tải về và tìm hiểu về Infer tại đây.

Chia sẻ bài viết ngay

Nguồn bài viết : http://techcrunch.com/