Hình 4.8 mô tả các chức năng trên màn hình Verification. iSPIN cung cấp cho người dùng các lựa chọn về kiểm tra tính an toàn (safety), tính hoạt động được
(liveness), các tuỳ chọn thêm về các lưu trữ dữ liệu, có sử dụng các Never Claim hay không, các tuỳ chọn về tìm kiếm để nâng cao khả năng đánh giá mô hình và rút gọn thời gian, cũng như không gian bộ nhớ khi kiểm chứng mô hình. Kiểm chứng tính an toàn của mô hình, iSPIN hỗ trợ kiểm chứng ba điều kiện: kiểm tra tính không hợp lệ của trạng thái kết thúc – mô hình có bị rơi vào trạng thái khoá chết hay không; kiểm tra xem các hàm assertion có bị vi phạm hay không; kiểm tra các kênh gửi/ nhận dữ liệu; và người dùng có thể chọn một hay nhiều tuỳ chọn. iSPIN hỗ trợ kiểm chứng tính hoạt động được của mô hình với các tuỳ chọn: kiểm chứng với các chu kỳ không được thực thi (non-progress cycles); kiểm chứng với các chu kỳ chấp nhận được (acceptance cycles); và tuỳ chọn kiểm chứng với ràng buộc công bằng yếu (enforce weak fairness constraint). iSPIN cũng cung cấp cho người dùng chức năng kiểm chứng theo các Never Claim với tuỳ chọn mặc định là không dùng never claim, người dùng có thể lựa chọn việc dùng các claim đã định nghĩa trong mô hình.
4.2.2. Kiểm chứng một chương trình bằng công cụ SPIN
Theo [10], SPIN là một công cụ kiểm chứng mà kiểm tra tất cả các trạng thái có thể tính toán được của chương trình. Việc kiểm chứng trong SPIN được thực hiện thông qua ba bước:
Sinh bộ kiểm chứng (verifier) từ mã nguồn Promela. Bộ kiểm chứng là một chương trình viết bằng ngôn ngữ C.
Biên dịch bộ kiểm chứng bằng một bộ biên dịch ngôn ngữ C,
Thực thi trên bộ kiểm chứng. Kết quả của quá trình thực thi bộ kiểm chứng là một báo cáo rằng tất cả các tính toán đều hợp lệ hoặc một vài tính toán có chứa lỗi (Trail – là một tệp tin chứa các thông số để tái hiện lại được trạng thái lỗi – trail thường được dùng trong Guided simulation).
Theo [10], kiến trúc của bộ công cụ SPIN được mô tả như trong hình 4.9.