Kiểm chứng một thuộc tính với BMC

Một phần của tài liệu Nghiên cứu phương pháp kiểm chứng mô hình phần mềm dựa trên SAT (Trang 60)

4 Ngôn ngữ SMV, công cụ NuSMV và thực nghiệm

4.2Kiểm chứng một thuộc tính với BMC

Sử dụng SAT sẽ giúp tìm các phản ví dụ nhanh hơn so với các hướng tiếp cận dựa trên BDD và tìm các phản ví dụ của độ dài tối thiểu.

KẾT LUẬN

Trong luận văn đã trình bày các kiến thức nền tảng trong kiểm chứng mô hình, vấn đề bùng nổ không gian trạng thái trong kiểm chứng mô hình. Các tư tưởng, nội dung để giải quyết vấn đề bủng nổ không gian trạng thái trong kiểm chứng mô hình theo cách tiếp cận cổ điển sử dụng lược đồ quyết định nhị phân cũng như cách tiếp cận dựa trên bộ giải công cụ SAT. Đồng thời cũng giới thiệu về nguyên lý của bộ giải công cụ SMT. Đây cũng là một hướng đi mới trong kiểm chứng mô hình, đó là kiểm chứng mô hình dựa trên SMT thay vì sử dụng SAT như hiện nay. Phần tiếp theo sẽ tóm tắt các nội dung đóng góp của luận văn.

Nội dung của luận văn được trình bày qua 4 chương. Chương 1, luận văn các vấn đề nền tảng trong kiểm chứng mô hình như cách tiếp cận từ một bài toán cụ thể đưa về bài toán kiểm chứng mô hình, tìm hiểu về các loại logic thời gian được sử dụng rộng rãi trong kiểm chứng mô hình là LTL và CTL và cách sử dụng logic thời gian để đặc tả các thuộc tính cần kiểm chứng. Chương 1 cũng tìm hiểu về hệ thống dịch chuyển trạng thái, cách định nghĩa cơ bản trong hệ dịch chuyển trạng thái và cách thể hiện mô hình hệ thống qua hệ dịch chuyển trạng thái.

Chương 2 của luận văn trình bày về vấn đề bùng nổ không gian trạng thái trong kiểm chứng mô hình, đây là vấn đề quan trọng trong kiểm chứng mô hình và đã có nhiều công trình khoa học trên thế giới tập trung giải quyết vấn đề này. Cách giải quyết theo hướng tiếp cận sử dụng lược đồ quyết định nhị phân đã được phát triển từ những năm 90, luận văn trình bày những điểm liên quan tới hướng tiếp cận này để sử dụng cho phần chính của luận văn là tiếp cận theo hướng SAT. Trong chương 2 luận văn đã tìm hiểu về thuật toán điểm cố định, cách kiểm chứng mô hình tượng trưng với lược đồ quyết định nhị phân và thuật toán kiểm chứng mô hình tượng trưng CTL sử dụng lược đồ quyết định nhị phân.

Chương 3 của luận văn trình bày về giải quyết vấn đề bùng nổ không gian trạng thái trong kiểm chứng mô hình dựa trên SAT. Tiếp cận theo hướng kiểm chứng mô hình giới hạn dựa trên SAT. Tìm hiểu cách thể hiện các trạng thái của mô hình trong kiểm chứng mô hình giới hạn, tìm hiểu về các thuộc tính an toàn trong kiểm chứng mô hình giới hạn, giải công cụ SAT, thuật toán DPLL của SAT, và kiểm chứng mô hình giới hạn cho LTL.

Chương 4 của luận văn trình bày về về một công cụ sử dụng SAT đang được các nhà khoa học phát triển nhiều trong thời gian gần đây là NuSMV, tìm hiểu về ngôn ngữ SMV sử dụng trong công cụ NuSMV, và cài đặt một chương trình quản lý thư viện trên NuSMV.

Trong tương lai luận văn sẽ tiếp tục phát triển theo hướng kiểm chứng mô hình giới hạn dựa trên SMT thay vì sử dụng trên SAT đồng thời có thể áp dụng được những tìm hiểu, nghiên cứu vào những bài toán thực tiễn hiện nay.

Tài liệu tham khảo

[1] A. Biere, A. Cimatti, E. M. Clarke, M. Fujita, Y. Zhu(1999 ), “Symbolic model check- ing using SAT procedures instead of BDDs”, DAC ’99 Proceedings of the 36th annual

ACM/IEEE Design Automation Conference, pp. 317-320.

[2] A. Tarski(1955), “A lattice-theoretical fixpoint theorem and its applications”, Pacific J. Math, 5(2), pp. 285-309.

[3] Christel Baier and Joost-Pieter Katoen(2008), Principles of Model Checking, The MIT Press.

[4] Colin Stirling(1992), “Modal and temporal logics”,Handbook of Logic in Computer Sci- ence, volume 2 , pp. 477–563.

[5] E. Allen Emerson(1990), “Temporal and modal logic”,Handbook of theoretical computer science, Elsevier Science Publishers B.V., pp. 997–1071.

[6] Edmund M. Clarke, Armin Biere, Richard Raimi, Yunshan Zhu(2001), “Bounded Model Checking Using Satisfiability Solving”, Formal Methods in System Design, Volume 19 Issue 1, pp. 7 - 34 .

[7] Edmund M. Clarke1, William Klieber1, Milos Novacek2, and Paolo Zuliani(2012), “Model Checking and the State Explosion Problem”,Lecture Notes in Computer Science, Volume 7682, pp 1-30.

[8] Fred Kroger(1987), “Temporal Logic of Programs”,EATCS Monographs on Theoretical Computer Science, volume 8.

[9] Paul B. Jackson, Bill J. Ellis, Kathleen Sharp(2007), “Using SMT solvers to verify high- integrity programs”,AFM ’07 Proceedings of the second workshop on Automated formal methods, pp. 60-68.

[10] R. E. Bryant(1986), “Graph-based Algorithms for Boolean Function Manipulation”,IEEE Trans. Comput., C-35(8), pp. 677-691.

[11] Stephan Merz(2001),“Model Checking: A Tutorial Overview”,MOVEP ’00 Proceedings of the 4th Summer School on Modeling and Verification of Parallel Processes, pp. 3-38.

[12] T. Balyo(2010),Solving Boolean Satisfiability Problems, Master Thesis, Charles Univer- sity in Prague, Faculty of Mathematics and Physics, Czech Republic.

[13] Thomas Tuerk, Klaus Schneider, Mike Gordon(2006), “Model checking PSL using HOL and SMV”,HVC’06: Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing, pp. 1-15.

[14] Zohar Manna and Amir Pnueli(1992),The temporal logic of reactive and concurrent sys- tems Specification, Springer-Verlag, New York.

Một phần của tài liệu Nghiên cứu phương pháp kiểm chứng mô hình phần mềm dựa trên SAT (Trang 60)