Phân tích trong TVLA

Một phần của tài liệu Nghiên cứu kỹ thuật giải thích trừu tượng (Trang 52)

Kỹ thuật giải thích trừu tượng trong phân tích tĩnh cho phép tóm tắt hành vi (ngữ nghĩa cụ thể) của lệnh trong chương trình trên tập vô hạn các trạng thái có thể của bộ nhớ.

Kết quả sau tóm tắt được gọi là ngữ nghĩa trừu tượng của lệnh đó. Ngữ nghĩa cụ thể của một lệnh trong chương trình thường được biểu diễn thông qua các phương pháp hình thức và được sử dụng khá tự nhiên.

Tuy nhiên, trừu tượng hóa ngữ nghĩa cụ thể để tạo ra ngữ nghĩa trừu tượng đảm bảo tính mạnh, chính xác và có khả năng lập luận được lại là một vấn đề khó khăn. Điều này đặc biệt đúng với một số vấn đề trong thực tế như:

51

phân tích hình dạng (Shape Analysis), phân tích con trỏ, trong đó ngữ nghĩa cụ thể liên quan trực tiếp tới cấu trúc dữ liệu và bộ nhớ.

Trong các kỹ thuật phân tích hình dạng thì phân tích hình dạng dựa trên 3-valued logic (Parametric Shape analysis via 3-valued logic) cho đến nay vẫn là phương pháp chính để phân tích heap của chương trình.

Kỹ thuật này được giới thiệu bởi Sagiv [1]. Sau đó Lev-Ami cài đặt các ý tưởng trong phương pháp này và tạo ra công cụ TVLA [13]. TVLA bắt đầu với ngữ nghĩa cụ thể (ngữ nghĩa thực thi - Operationl semantics) của một chương trình. Ngữ nghĩa thực thi được đặc tả bằng logic vị từ cấp một với bao đóng bắc cầu.

Một đầu vào nữa của TVLA là biểu diễn trừu tượng của tất cả các trạng thái bộ nhớ ở điểm vào của chương trình cần phân tích. TVLA sẽ tự động sinh ra ngữ nghĩa trừu tượng, và với mỗi điểm chương trình (program point) sinh ra một giải thích trừu tượng của các trạng thái bộ nhớ ở điểm đó.

TVLA được cài đặt bằng Java và đã sử dụng thành công trong việc phân tích hình dạng của các chương trình thao tác với các danh sách liên kết (danh sách liên kết đơn, danh sách liên kết kép, ..), để chứng minh tính an toàn của hệ thống Mobile Ambients, và xác minh tính đúng đắn cục bộ của một số chương trình sắp xếp (thao tác trên danh sách liên kết).

Một phần của tài liệu Nghiên cứu kỹ thuật giải thích trừu tượng (Trang 52)

Tải bản đầy đủ (PDF)

(90 trang)