Chính xác thì Kiểm tra mô hình tượng trưng là gì?


8

Tôi biết rằng Kiểm tra mô hình biểu tượng là truyền tải không gian trạng thái dựa trên biểu diễn của các tập hợp trạng thái và quan hệ chuyển tiếp dưới dạng công thức như trong CTL bằng các mô hình như Mô hình Kripke. Tôi biết lý thuyết. Nhưng tôi cảm thấy khó hiểu ứng dụng thực tế. Chính xác thì nó được sử dụng ở đâu? Chính xác thì nó làm gì và nó hoạt động như thế nào?

Ai đó có thể giải thích với một ví dụ thực tế và liên quan lý thuyết để thực hành?


1
Điều này dường như rộng với tôi. "Nó làm gì?" một phần có thể là phạm vi hợp lý (hoặc không), nhưng "nó được sử dụng ở đâu?" là một) câu hỏi khác hoàn toàn và b) có thể quá rộng.
Raphael

Nhưng một ví dụ có thể được lấy và giải thích dựa trên điều đó. Điều đó không quá rộng.
Xpleria 22/03/2015

2
Tại sao bạn không hài lòng với mô tả Kiểm tra mô hình tượng trưng trong sách giáo khoa tiêu chuẩn, ví dụ: "Nguyên tắc kiểm tra mô hình" của Christel Baier và Joost-Pieter Katoen? Những phần bạn đang bối rối về?
hengxin 22/03/2015

Họ nói về "làm thế nào nó được thực hiện" nhưng không phải "chính xác nó được thực hiện như thế nào". Tôi đang cố gắng liên quan đến lý thuyết và thực hiện thực tế. Tôi vẫn còn mới với điều này và tôi cần một ví dụ.
Xpleria

1
Bạn có thể vào trang web sai sau đó. Khoa học máy tính là về các khái niệm ("nó nên được thực hiện như thế nào"), bạn sẽ phải hỏi các học viên về phần "nó đã được thực hiện như thế nào".
Raphael

Câu trả lời:


4

Kiểm tra mô hình tượng trưng là Kiểm tra mô hình hoạt động trên các trạng thái tượng trưng. Đó là, họ mã hóa các trạng thái thành các biểu tượng tượng trưng, ​​điển hình là Sơ đồ quyết định nhị phân được đặt hàng (OBDD).

Câu hỏi là họ làm gì và làm việc như thế nào.

Trước tiên bạn có mã nguồn của bạn cho một số ứng dụng. Sau đó, bạn chuyển đổi mã nguồn của mình thành một số biểu đồ chuyển trạng thái như Cấu trúc Kripke. Các trạng thái chứa đầy các mệnh đề nguyên tử mô tả những gì là đúng trong trạng thái cụ thể đó. Trong Mô hình tượng trưng Kiểm tra các đề xuất nguyên tử được mã hóa dưới dạng OBDD để tiết kiệm không gian và cải thiện hiệu suất.

Bộ kiểm tra mô hình sau đó bắt đầu ở một số trạng thái ban đầu và khám phá các trạng thái, tìm kiếm các lỗi trong biểu đồ chuyển trạng thái. Nếu nó tìm thấy một lỗi, nó sẽ thường tạo ra một trường hợp thử nghiệm chứng minh lỗi. Nó sử dụng các OBDD tượng trưng để điều hướng tối ưu không gian trạng thái. Ước gì tôi có thể giải thích thêm ở đó nhưng vẫn học.

Nhưng về cơ bản là vậy. Bạn có một chương trình được chuyển đổi thành một mô hình chính thức (biểu đồ chuyển trạng thái) và sau đó bạn sử dụng tối ưu hóa biểu tượng để điều hướng không gian trạng thái để tìm lỗi (bằng cách so sánh nó với đặc tả LTL / CTL). Và nếu tìm thấy lỗi, Trình kiểm tra mô hình cung cấp cho bạn một số nội dung để trợ giúp tài liệu và giải quyết.


5

Kiểm tra mô hình tượng trưng có thể rất hữu ích để xác minh tính chính xác của các giao thức truyền thông và bảo mật. Ví dụ:

  • Một mô hình mang tính biểu tượng của việc triển khai OAUTH2 có thể giúp kiểm tra các hậu quả không lường trước khi đối thủ có được mã thông báo xác thực bí mật hoặc dữ liệu tình huống có liên quan có thể giúp họ chống lại quy trình.
  • Một mô hình biểu tượng của một giao thức mã hóa, chẳng hạn như bắt tay TLS, có thể giúp xác minh rằng thiết kế mật mã không có bất kỳ hậu quả không lường trước.

Điều này hoạt động bằng cách viết mô tả biểu tượng của tất cả các hàm nguyên thủy và thuật toán giao thức, sau đó có trình kiểm tra mô hình biểu tượng, như ProVerif , đi qua không gian trạng thái và cố gắng phát hiện các kết hợp trạng thái tạo ra kết quả bất lợi. Trong trường hợp của ProVerif, các mô hình tượng trưng được mô tả bằng phép tính Pi được áp dụng làm ngôn ngữ mô hình hóa. Điều này cho phép mô tả các giao thức theo một cú pháp giống như ML.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.