1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT

77 1K 7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 1,65 MB

Nội dung

Ngày nay, với tốc độ phát triển cực kỳ nhanh của lĩnh vực công nghệ thông tin tại Việt Nam và trên thế giới, nhất là đối với phần mềm đã thâm nhập vào hầu hết các lĩnh vực của đời sống như mua bán (mua hàng trực tuyến, các ứng dụng về kế toán, quản lý, . . . ), các lĩnh vực ngân hàng (quản lý tài khoản, giao dịch trực tuyến, . . . ), các lĩnh vực giải trí (trò chơi, phim ảnh, . . . ). Với sự bùng nổ về số lượng các phần mềm thì việc đảm bảo về chất lượng đang là những yêu cầu cấp bách trong hoàn cảnh hiện nay. Trên thế giới đã có rất nhiều bài báo, đề tài, công trình nghiên cứu về kiểm chứng mô hình, về các hướng khác nhau của kiểm chứng mô hình nhưng hướng nghiên cứu tập trung vào giải quyết vấn đề bùng nổ không gian trạng thái trong kiểm chứng mô hình luôn luôn là đề tài mang lại nhiều tranh luận, cảm hứng cũng như nghiên cứu nhất. Tác giả muốn nghiên cứu về vấn đề kiểm chứng mô hình liên quan tới vấn đề bùng nổ không gian trạng thái của kiểm chứng mô hình với một kỹ thuật mới nhất hiện nay đó là kiểm chứng mô hình giới hạn dựa trên SAT. Đồng thời dựa trên các kết quả đã được nghiên cứu tìm hiểu, tác giả cũng cài đặt thực nghiệm sử dụng kỹ thuật đã nghiên cứu, tìm hiểu. Bố cục của luận văn bao gồm 4 chương : • Chương 1: Giới thiệu về kiểm chứng mô hình và các kiến thức nền tảng của kiểm chứng mô hình. • Chương 2: 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 và cách giải quyết theo hướng tiếp cận cổ điển. • Chương 3: Trình bày về SAT và cách giải bài toán bùng nổ không gian trạng thái sử dụng kiểm chứng mô hình giới hạn dựa trên SAT. • Chương 4: Trình bày về ngôn ngữ SMV, công cụ NuSMV và thực nghiêm sử dụng NuSMV.

1 Mục lục Lời cam đoan 1 Mục lục 2 Danh mục các hình vẽ 4 Danh mục các ký hiệu và chữ viết tắt 5 1 Kiểm chứng mô hình 7 1.1 Giới thiệu về kiểm chứng mô hình . . . . . . . . . . . . . . . . . . . .7 1.1.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 1.1.2 Kiểm định trong phần cứng và phần mềm . . . . . . . . . . . . .8 1.1.3 Kiểm chứng mô hình . . . . . . . . . . . . . . . . . . . . . . .9 1.1.4 Các tiến trình trong kiểm chứng mô hình . . . . . . . . . . . . 1.1 1.1.5 Mặt mạnh và mặt yếu của kiểm chứng mô hình . . . . . . . . . 1.2 1.2 Các kiến thức nền tảng . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 1.2.1 Hệ thống dịch chuyển . . . . . . . . . . . . . . . . . . . . . . 1.3 1.2.2 Logic thời gian . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 1.2.3 Logic thời gian tuyến tính (LTL) và logic tính toán cây (CTL) . 1.7 2 Vấn đề bùng nổ trạng thái và cách giải quyết sử dụng BDD 22 2.1 Vấn đề của bùng nổ trạng thái trong kiểm chứng mô hình . . . . . . . 2.2 2.2 Cách giải quyết theo hướng tiếp cận cổ điển . . . . . . . . . . . . . . 2.3 2.2.1 Thuật toán điểm cố định . . . . . . . . . . . . . . . . . . . . . 2.3 2.2.2 Kiểm chứng mô hình tương trưng với OBDDs . . . . . . . . . 2.5 3 Kiểm chứng mô hình giới hạn sử dụng bộ giải công cụ SAT 31 3.1 Các thuộc tính an toàn . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 3.2 Giải công cụ SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 2 3.3 Xác định giới hạn . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 3.4 BMC cho các thuộc tính LTL . . . . . . . . . . . . . . . . . . . . . . 3.7 3.5 Giới thiệu về SMT . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 4 Ngôn ngữ SMV, công cụ NuSMV và thực nghiệm 43 4.1 Ngôn ngữ SMV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 4.1.1 Kiểu dữ liệu trong SMV . . . . . . . . . . . . . . . . . . . . . 4.3 4.1.2 Phép toán trong SMV . . . . . . . . . . . . . . . . . . . . . . 4.4 4.2 Công cụ NuSMV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 4.3 Thực nghiệm sử dụng công cụ NuSMV . . . . . . . . . . . . . . . . 4.5 Kết luận 60 Tài liệu tham khảo 61 3.1 Một đường dẫn dạng lasso. . . . . . . . . . . . . . . . . . . . . . . . 3.8 3.2 Chuyển dịch của J f Ug i . . . . . . . . . . . . . . . . . . . . . . . . 4.0 K k 3.3 i . . . . . . . . . . . . . . . . 4.0 4.1 Biểu đồ lớp các yêu cầu của hệ thống thư viện . . . . . . . . . . . . . 4.6 4.2 Kiểm chứng một thuộc tính với BMC . . . . . . . . . . . . . . . . . 5.9 3 Danh sách hình vẽ 1.1 Tàu vũ trụ Ariane-5 vào tháng 4 năm 1996 . . . . . . . . . . . . . . . .8 1.2 Sơ đồ kiểm định hệ thống . . . . . . . . . . . . . . . . . . . . . . . . .9 1.3 Sơ đồ tổng quan hướng tiếp cận kiểm chứng mô hình . . . . . . . . . 1.1 1.4 Một hệ thống dịch chuyển T mà T | = FG p nhưng T | = AFAG p. . . . 2.1 2.1 Minh họa cho việc tính toán EF p . . . . . . . . . . . . . . . . . . . 2.5 2.2 Minh họa OBDD cho công thức (w ∧ x) ∨ (y ∧ z) . . . . . . . . . . . 2.6 2.3 Xây dựng dạng chính tắc OBDD từ một công thức (w ∧ x) ∨ (y ∧ z) . 2.8 Chuyển dịch của l J f UG K k với vòng lặp . 4 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ICT Information and communications technology VHDL VHSIC Hardware Description Language LTL Linear Temporal Logic CTL Computation tree logic PTL Propositional Temporal Logic BDD Binary Decision Diagram BMC Bounded Model Checking SAT Boolean Satisfiability Problem SMT Satisfiability Modulo Theories OBDD Ordered binary decision diagrams DPLL Davis Putnam Logemann Loveland 5 LỜI MỞ ĐẦU Ngày nay, với tốc độ phát triển cực kỳ nhanh của lĩnh vực công nghệ thông tin tại Việt Nam và trên thế giới, nhất là đối với phần mềm đã thâm nhập vào hầu hết các lĩnh vực của đời sống như mua bán (mua hàng trực tuyến, các ứng dụng về kế toán, quản lý, . . . ), các lĩnh vực ngân hàng (quản lý tài khoản, giao dịch trực tuyến, . . . ), các lĩnh vực giải trí (trò chơi, phim ảnh, . . . ). Với sự bùng nổ về số lượng các phần mềm thì việc đảm bảo về chất lượng đang là những yêu cầu cấp bách trong hoàn cảnh hiện nay. Trên thế giới đã có rất nhiều bài báo, đề tài, công trình nghiên cứu về kiểm chứng mô hình, về các hướng khác nhau của kiểm chứng mô hình nhưng hướng nghiên cứu tập trung vào giải quyết vấn đề bùng nổ không gian trạng thái trong kiểm chứng mô hình luôn luôn là đề tài mang lại nhiều tranh luận, cảm hứng cũng như nghiên cứu nhất. Tác giả muốn nghiên cứu về vấn đề kiểm chứng mô hình liên quan tới vấn đề bùng nổ không gian trạng thái của kiểm chứng mô hình với một kỹ thuật mới nhất hiện nay đó là kiểm chứng mô hình giới hạn dựa trên SAT. Đồng thời dựa trên các kết quả đã được nghiên cứu tìm hiểu, tác giả cũng cài đặt thực nghiệm sử dụng kỹ thuật đã nghiên cứu, tìm hiểu. Bố cục của luận văn bao gồm 4 chương : • Chương 1: Giới thiệu về kiểm chứng mô hình và các kiến thức nền tảng của kiểm chứng mô hình. • Chương 2: 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 và cách giải quyết theo hướng tiếp cận cổ điển. • Chương 3: Trình bày về SAT và cách giải bài toán bùng nổ không gian trạng thái sử dụng kiểm chứng mô hình giới hạn dựa trên SAT. • Chương 4: Trình bày về ngôn ngữ SMV, công cụ NuSMV và thực nghiêm sử dụng NuSMV. 6 Chương 1 Kiểm chứng mô hình 1.1. Giới thiệu về kiểm chứng mô hình 1.1.1. Giới thiệu Độ tin cậy của chúng ta về các chức năng của các hệ thống ICT (Công nghệ thông tin và truyền thông) tăng lên nhanh chóng. Những hệ thống này đang trở nên phức tạp hơn và ngày càng chiếm một phần không thể thiếu trong cuộc sống hàng ngày của chúng ta thông qua Internet và các loại hệ thống nhúng như thẻ thông minh (smart cards), điện thoại di động, máy tính bảng, . . . Từ năm 1995, người ta đã ước tính được rằng chúng ta sẽ phải làm việc với khoảng 25 thiết bị ICT trong một ngày. Các dịch vụ như ngân hàng điện tử và mua sắm qua mạng đã trở thành hiện thực. Dòng tiền hàng ngày thông qua Internet là khoảng 10 triệu đô la Mỹ. Khoảng 20% chi phí phát triển các phương tiện giao thông hiện đại như xe hơi, xe lửa tốc độ cao và máy báy được dành cho các hệ thống xử lý thông tin. Các hệ thống thông tin phổ biến có mặt ở khắp mọi nơi. Các hệ thống thông tin điều khiển thị trường chứng khoán, quan trọng với hệ thống Internet và quan trong đối với các hệ thống trong y tế, . . . Độ tin cậy của các hệ thống thông tin có tầm quan trọng trong xã hội. Với các lỗi xảy ra với các hệ thống có thể gây ra những tổn thất rất nghiêm trọng. Một vài ví dụ mà chúng ta đã biết đến như các lỗi trong bộ chia dấu phẩy động của Intel Pentium II trong đầu những năm 90 gây ra thiệt hại khoảng 450 triệu đô la Mỹ để thay thế các bộ vi xử lý lỗi, và danh tiếng của Intel cũng đã bị ảnh hưởng. Các lỗi phần mềm trong hệ thống xử lý hành lý đã làm trì hoãn việc mở cửa sân bay Denver trong 9 tháng, mỗi ngày mất 1.1 triệu USD. Hai mươi bốn giờ sau sự thất bại của hệ thống đặt vé trực tuyến của một công ty máy bay lớn trên thế giới sẽ gây ra phá sản vì các đơn đặt hàng bị bỏ lỡ. Đối với một số 7 lỗi trong các hệ thống có thể gây ra thảm họa[3]. Một ví dụ điển hình là lỗi trong phần mềm điều khiển của tàu vũ trụ Ariane-5 vào tháng 4 năm 1996, sau 36 giây kể từ khi ra khỏi bệ phóng đã bị rơi chỉ do lỗi chuyển đổi số thực 32 bit sang số nguyên 16 bit (hình 1.1). Hình 1.1: Tàu vũ trụ Ariane-5 vào tháng 4 năm 1996 Tầm quan trọng cũng như sự phức tạp của hệ thống ICT tăng lên nhanh chóng. Các hệ thống ICT không còn độc lập, mà được nhúng vào một hệ thống lớn, tương tác và kết nối với các thành phần và hệ thống khác. Do đó, chúng trở nên dễ bị lỗi - số các lỗi phát triển theo cấp số nhân đối với số các tương tác với các thành phần hệ thống. Đặc biệt, tính tương tranh và tính không đơn định của mô hình tương tác hệ thống lại khó xử lý với các kỹ thuật chuẩn. Độ phức tạp của hệ thống ICT ngày càng tăng cùng với những áp lực làm cho thời gian phát triển hệ thống, điều này đã làm cho việc cung cấp các hệ thống ICT với ít khuyết điểm là vô cùng khó khăn và phức tạp. 1.1.2. Kiểm định trong phần cứng và phần mềm Kỹ thuật kiểm định hệ thống đang được áp dụng để thiết kế các hệ thống ICT có độ tin cậy cao. Nói chung, kiểm định hệ thống được sử dụng để xác minh xem hệ thống có đạt được những đặc tính nhất định. Các đặc tính được kiểm chứng có thể rất cơ bản, ví dụ, một hệ thống không nên đến được trạng thái mà ở đó tiến trình không thể thực hiện (kịch bản của deadlock), và chủ yếu được lấy từ đặc tả của hệ thống. Đặc tả này quy định những gì hệ thống phải làm và những gì không, 8 và do đó tạo nên cơ sở cho bất kỳ hoạt động kiểm định nào. Một khuyết điểm được tìm thấy một khi hệ thống không đáp ứng được một trong các thuộc tính của đặc tả. Hệ thống được xem xét là "đúng" khi hệ thống thỏa mãn tất cả các thuộc tính lấy từ đặc tả của hệ thống. Vì vây, tính đúng đắn luôn luôn tương đối với đặc tả, và không có một thuộc tính tuyết đối của hệ thống. Một sơ đồ của kiểm định được mô tả trong hình 1.2. Đặc t ả h ệ th ố ng (System specification ) Thiết k ế (Design) Thuộc tính (Properties) Sản phẩm/ bản th ử (Product/ Prototype) Kiểm ch ứ ng (Verification) Tìm thấy l ỗ i Không tìm thấy l ỗ i Hình 1.2: Sơ đồ kiểm định hệ thống Từ đặc tả hệ thống được sử dụng để thiết kê và từ thiết kế đưa ra các sản phẩm, bản thử. Đồng thời từ đặc tả hệ thống cũng đưa ra được các tính chất của hệ thống. Sau đó, các tính chất và sản phẩm, bản thử sẽ được sử dụng để kiểm chứng. Kết quả thu được có thể là tìm thấy lỗi hoặc không tìm thấy lỗi. 1.1.3. Kiểm chứng mô hình Trong thiết kế phần mềm và phần cứng của các hệ thống phức tạp, nhiều thời gian và công sức dành cho việc kiểm định hơn là việc xây dựng hệ thống. Các kỹ thuật được tìm kiếm để giảm thiểu những nỗ lực kiểm định trong khi gia tăng độ bao phủ. Các phương pháp hình thức đưa ra một triển vọng lớn để có thể tích hợp kiểm chứng trong quá trình thiết kế, cung cấp các kỹ thuật kiểm chứng hiệu quả hơn và giảm bớt thời gian kiểm chứng. Kỹ thuật kiểm chứng dựa trên mô hình được dựa trên sự mô tả mô hình của các hành vi có thể của hệ thông qua những công thức toán học rõ ràng và chính xác. Hóa ra là, trước khi kiểm định bằng bất cứ hình thức nào, việc xây dựng mô hình chính xác của các hệ thống thường dẫn đến việc phát hiện ra sự không đầy đủ, không rõ ràng và không nhất quán trong đặc tả hệ thống. Những vấn đề như vậy thường chỉ được phát hiện ra rất lâu sau giai đoạn thiết kế. Các mô hình cùng với các thuật toán có thể khai thác tất cả các trạng thái của hệ thống. Điều này cung cấp cơ bản cho một loạt các kỹ thuật kiểm chứng khác nhau, từ sự khám phá một cách toàn diện mô hình (kiểm chứng mô hình) tới những thực nghiệm trên một tập hợp các hạn chế của các kịch bản trong mô hình (mô phỏng), hoặc trong thực tế (thử nghiệm). Do không ngừng cải tiến thuật toán và cấu trúc dữ liệu cùng với sự phát triển mạnh mẽ của máy tính với tốc độ xử lý và bộ nhớ tăng lên một cách đáng kể, kỹ thuật kiểm chứng dựa trên mô hình cách đây một thập kỷ chỉ áp dụng với những ví dụ đơn giản thì bây giờ đã có thể áp dụng với những thiết kế thực tế. Kiểm chứng mô hình là một kỹ thuật kiểm chứng xem xét tất cả các trạng thái có thể của hệ thống theo cách vét cạn. Tương tự như chương trình chơi cờ của máy tính kiểm tra những nước đi có thể, công cụ kiểm chứng giúp cho việc kiểm chứng mô hình, xem xét tất cả các kịch bản hệ thống có thể xảy ra theo một cách có hệ thống. Theo cách này, nó có thể chỉ ra rằng mô hình hệ thống thực sự thỏa mãn với một đặc tính nhất định. Đó là một thách thức thật sự để kiểm tra không gian rộng lớn các trạng thái có thể. Những công cụ kiểm chứng tốt nhất hiện tại có thể xử lý không gian trạng thái khoảng 10 8 tới 10 9 trạng thái với không gian trạng thái được liệt kê tường minh, sử dụng khéo léo thuật toán và cấu trúc dữ liệu phù hợp. Một không gian các trạng thái lớn (10 20 thậm chí lên tới 10 476 trạng thái) có thể được xử lý cho những vấn đề cụ thể. Thậm chí những lỗi tinh vi chưa được phát hiện bằng mô phỏng, kiểm tra, và giả lập có thể bị lộ ra bằng cách sử dụng kiểm chứng mô hình. Mô hình hệ thống thường được sinh một cách tự động từ mô tả của hệ thống, và mô tả của hệ thống được xác định trong một số ngôn ngữ chương trình giống như C hoặc Java hoặc ngôn ngữ mô tả hệ thống như Verilog hoặc VHSIC Hardware Description Language. Chú ý rằng, thuộc tính đặc tả quy định cái gì mà hệ thống nên làm, và cái gì mà hệ thống không nên làm, trong khi đó, mô tả của hệ thống xác định hệ thống hoạt động như thế nào? Công cụ kiểm chứng kiểm tra tất cả các trạng thái có liên quan của hệ thống để kiểm tra xem chúng có thỏa mãn với đặc tính mà bạn mong muốn hay không. Nếu trạng thái gặp phải là vi phạm đặc tính đang xem xét, Công cụ kiểm chứng sẽ cung cấp một phản ví dụ cho thấy việc làm thế nào mà mô hình có thể tới được trạng thái không mong muốn. Phản ví dụ cũng mô tả một đường dẫn thực thi có thể dẫn tới từ những trạng thái khởi tạo của hệ thống tới những trạng thái vi phạm thuộc tính đang được kiểm chứng. Với sự giúp đỡ của mô phỏng, người sử dụng có thể xem lại các kịch bản vi phạm để có được những thông tin gỡ lỗi có ích và tích hợp các mô hình phù hợp (xem hình 1.3). Yều c ầ u (Requirements) Hệ th ố ng (System) Hình thức hóa (Formalizing ) Mô hình hóa (Modeling ) Đặc tả thuộc tính (Property specification ) Kiểm chứng mô hình (Model checking ) Mô hình hệ th ố ng (System model ) Thỏa mãn (satisfied ) Vi phạm, phản ví d ụ (Violated, counterexample ) Mô ph ỏ ng (Simulation) Đ ị nh vị l ỗ i (Location error) Hình 1.3: Sơ đồ tổng quan hướng tiếp cận kiểm chứng mô hình Một hệ thống được mô hình hóa qua các trạng thái và các dịch chuyển thành một mô hình hệ thống, các đặc tả yêu cầu được hình thức hóa qua logic thời gian thành các đặc tả thuộc tính. Đây là hai đầu vào của kiểm chứng mô hình. Kiểm chứng mô hình có thể đưa ra kết quả là thỏa mãn hoặc là vi phạm và có phản ví dụ và có thể được mô phỏng nhờ mô hình hệ thống để định vị các lỗi. 1.1.4. Các tiến trình trong kiểm chứng mô hình Trong việc áp dụng kiểm chứng mô hình để thiết kế các pha khác nhau như [...]... nửa), kiểm chứng mô hình nói chung là tính toán không hiệu quả Kiểm chứng mô hình chủ yếu kiểm chứng mô hình của hệ thống, và không kiểm chứng hệ thống thực sự (sản phẩm hoặc bản nguyên mẫu); và kết quả thu được tốt là do mô hình hệ thống Các kỹ thuật bổ xung, như kiểm tra, cần được tìm những sai lầm hư cấu (đối với phần cứng) hoặc những lỗi của mã nguồn (đối với phần mềm) Kiểm chứng mô hình chỉ kiểm. .. công nghiệp; Kiểm chứng mô hình có thể dễ dàng tích hợp trong vòng đời phát triển hiện có; Kiểm chứng mô hình dựa trên một nền tảng toán học vững chắc; Các khuyết điểm của kiểm chứng mô hình được thể hiện qua các điểm như sau, kiểm chứng mô hình chủ yếu thích hợp với các ứng dụng chuyên về điều khiển và chưa phù hợp với các ứng dụng chuyên về cơ sở dữ liệu Các ứng dụng của kiểm chứng mô hình chinh phục... trạng thái hơn Kiểm chứng mô hình không đảm bảo mang lại kết quả chính xác, với bất kỳ công cụ nào, công cụ kiểm chứng mô hình có thể chứa các khiếm khuyết về phần mềm Kiểm chứng mô hình không cho phép kiểm tra một cách tổng quát.// Mặc dù vẫn còn tồn tại những khuyết điểm như vậy nhưng kiểm chứng mô hình vần là một kỹ thuật tiềm năng để phát hiện ra những lỗi trong phần cứng và phần mềm Tiếp theo luận...sau: Pha Mô hình hóa giúp cho việc mô hình hóa hệ thống dưới sự xem xét bằng cách sử dụng ngôn ngữ mô tả mô hình của công cụ kiểm chứng bằng tay Kiểm tra tính đúng đắn trước tiên và các đánh giá nhanh của mô hình để thực thi một vài mô phỏng Mô hình hóa các đặc tính để kiểm tra sử dụng ngôn đặc tả các thuộc tính; Pha Thực thi chạy công cụ kiểm chứng để kiểm tra tính hợp lệ của thuộc tính trong mô hình. .. kiểm chứng mô hình CTL Lichtenstein và Pnueli đã định nghĩa kiểm chứng mô hình cho LTL vào năm 1985 Hợp nhất giữa LTL và CTL, được gọi là CTL*, được định nghĩa bởi Emerson và Halpern vào năm 1986, mặc dù hiện tại vẫn không có công cụ kiểm chứng nào cho ngôn ngữ này Vì cả hai kiểm chứng mô hình nói chung và kiểm chứng mô hình trừu tượng nói riêng ban đầu đều được định nghĩa cho CTL, và do đó, kiểm chứng. .. được những khuyết điểm Một số ưu điểm và khuyết điểm của kiểm chứng mô hình có thể được thể hiện như sau Về ưu điểm kiểm chứng mô hình hướng tiếp cận chung có thể áp dụng với một phạm vi rộng lớn các ứng dụng như các hệ thống nhúng, công nghệ phần mềm và thiết kế phần cứng Kiểm chứng mô hình hỗ trợ kiểm chứng từng phần, các thuộc tính có thể được kiểm tra riêng lẻ, do đó cho phép tập trung vào những đặc... cách làm mịn với mức thích hợp, đủ chính xác để kiểm chứng thuộc tính quan trọng Cuối cùng, kiểm chứng mô hình giới hạn (bounded model checking) khai thác bộ giải công cụ SAT (SAT Solver) để tìm kiếm các phản ví dụ của độ dài giới hạn Luận văn nêu tìm hiểu về kiểm chứng mô hình biểu trưng với BDD và tập trung vào kiểm chứng mô hình giới hạn dựa trên SAT 2.2 Cách giải quyết theo hướng tiếp cận cổ điển... này trái ngược với kiểm tra và mô phỏng nhằm mục đích tìm những khuyết điểm có thể xảy ra nhất Kiểm chứng mô hình cung cấp các chuẩn đoán về thông tin trong trường hợp thuộc tính không có giá trị; điều này có ích trong việc hỗ trợ sửa lỗi Việc sử dụng kiểm chứng mô hình yêu cầu không cần mức độ cao về sự tương tác của người dùng cũng không cần trình độ cao về chuyên môn Kiểm chứng mô hình có được sự quan... của kiểm chứng mô hình và những mặt mạnh và mặt yếu của kiểm chứng mô hình Chương đầu của luận văn cũng đề cập tới các khái niệm về hệ thống dịch chuyển cũng như các loại logic thời gian liên quan và dùng trong các phần trình bày sau của luận văn Chương tiếp theo sẽ trình bày về một vấn đề đang rất được quan tâm hiện nay trong kiểm chứng mô hình là vấn đề bùng nổ không quan trạng thái trong kiểm chứng. .. Phân tích kiểm tra xem thuộc tính có an toàn hay không? sau đó kiểm tra thuộc tính tiếp theo (nếu có thể); Thuộc tính có vi phạm hay không? nếu có thì phân tích phản ví dụ được sinh ra từ mô phỏng, làm mịn mô hình, thiết kế, và các thuộc tính và lặp lại toàn bộ thủ tục Thoát ra khỏi bộ nhớ? sau đó Cố gắng làm giảm mô hình và thử lại 1.1.5 Mặt mạnh và mặt yếu của kiểm chứng mô hình Kiểm chứng mô hình đã . tích hợp kiểm chứng trong quá trình thiết kế, cung cấp các kỹ thuật kiểm chứng hiệu quả hơn và giảm bớt thời gian kiểm chứng. Kỹ thuật kiểm chứng dựa trên mô hình được dựa trên sự mô tả mô hình của. nghiên cứu nhất. Tác giả muốn nghiên cứu về vấn đề kiểm chứng mô hình liên quan tới vấn đề bùng nổ không gian trạng thái của kiểm chứng mô hình với một kỹ thuật mới nhất hiện nay đó là kiểm chứng. ngành công nghiệp; Kiểm chứng mô hình có thể dễ dàng tích hợp trong vòng đời phát triển hiện có; Kiểm chứng mô hình dựa trên một nền tảng toán học vững chắc; Các khuyết điểm của kiểm chứng mô hình được

Ngày đăng: 21/07/2014, 09:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[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 Sách, tạp chí
Tiêu đề: Symbolic model check-ing using SAT procedures instead of BDDs”, "DAC ’99 Proceedings of the 36th annual"ACM/IEEE Design Automation Conference
[2] A. Tarski(1955), “A lattice-theoretical fixpoint theorem and its applications”, Pacific J.Math, 5(2), pp. 285-309 Sách, tạp chí
Tiêu đề: A lattice-theoretical fixpoint theorem and its applications”, "Pacific J."Math
Tác giả: A. Tarski
Năm: 1955
[3] Christel Baier and Joost-Pieter Katoen(2008), Principles of Model Checking, The MIT Press Sách, tạp chí
Tiêu đề: Principles of Model Checking
Tác giả: Christel Baier and Joost-Pieter Katoen
Năm: 2008
[4] Colin Stirling(1992), “Modal and temporal logics”, Handbook of Logic in Computer Sci- ence, volume 2 , pp. 477–563 Sách, tạp chí
Tiêu đề: Modal and temporal logics”, "Handbook of Logic in Computer Sci-"ence
Tác giả: Colin Stirling
Năm: 1992
[5] E. Allen Emerson(1990), “Temporal and modal logic”, Handbook of theoretical computer science, Elsevier Science Publishers B.V., pp. 997–1071 Sách, tạp chí
Tiêu đề: Temporal and modal logic”, "Handbook of theoretical"computer science
Tác giả: E. Allen Emerson
Năm: 1990
[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 Sách, tạp chí
Tiêu đề: Bounded ModelChecking Using Satisfiability Solving”, "Formal Methods in System Design
Tác giả: Edmund M. Clarke, Armin Biere, Richard Raimi, Yunshan Zhu
Năm: 2001
[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 Sách, tạp chí
Tiêu đề: Model Checking and the State Explosion Problem”, "Lecture Notes in Computer Science
Tác giả: Edmund M. Clarke1, William Klieber1, Milos Novacek2, and Paolo Zuliani
Năm: 2012
[8] Fred Kroger(1987), “Temporal Logic of Programs”, EATCS Monographs on Theoretical Computer Science, volume 8 Sách, tạp chí
Tiêu đề: Temporal Logic of Programs”, "EATCS Monographs on Theoretical"Computer Science
Tác giả: Fred Kroger
Năm: 1987
[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 Sách, tạp chí
Tiêu đề: Using SMT solvers to verify high-integrity programs”, "AFM ’07 Proceedings of the second workshop on Automated formal"methods
Tác giả: Paul B. Jackson, Bill J. Ellis, Kathleen Sharp
Năm: 2007
[10] R. E. Bryant(1986), “Graph-based Algorithms for Boolean Function Manipulation”, IEEE Trans. Comput., C-35(8), pp. 677-691 Sách, tạp chí
Tiêu đề: Graph-based Algorithms for Boolean Function Manipulation”, "IEEE Trans. Comput
Tác giả: R. E. Bryant
Năm: 1986
[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 Sách, tạp chí
Tiêu đề: Model Checking: A Tutorial Overview”, "MOVEP ’00 "Proceedings of the 4th Summer School on Modeling and Verification of Parallel "Processes
Tác giả: Stephan Merz
Năm: 2001
[12] T. Balyo(2010), Solving Boolean Satisfiability Problems, Master Thesis, Charles Univer- sity in Prague, Faculty of Mathematics and Physics, Czech Republic Sách, tạp chí
Tiêu đề: Solving Boolean Satisfiability Problems
Tác giả: T. Balyo
Năm: 2010

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Tàu vũ trụ Ariane-5 vào tháng 4 năm 1996 - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình 1.1 Tàu vũ trụ Ariane-5 vào tháng 4 năm 1996 (Trang 7)
Hình 1.2:  Sơ đồ kiểm định hệ thống - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình 1.2 Sơ đồ kiểm định hệ thống (Trang 8)
Hình thức hóa (Formalizing  ) - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình th ức hóa (Formalizing ) (Trang 10)
Hình 2.1:  Minh họa cho việc tính toán EF p - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình 2.1 Minh họa cho việc tính toán EF p (Trang 30)
Hình 2.2:  Minh họa OBDD cho công thức (w ∧ x) ∨ (y ∧ z) - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình 2.2 Minh họa OBDD cho công thức (w ∧ x) ∨ (y ∧ z) (Trang 32)
Hình sau minh họa việc xây dựng dạng chính tắc OBDD từ một công thức đơn  giản. - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình sau minh họa việc xây dựng dạng chính tắc OBDD từ một công thức đơn giản (Trang 35)
Hình 3.2: Chuyển dịch của  f Ug  K k i - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình 3.2 Chuyển dịch của f Ug K k i (Trang 53)
Hình 4.1: Biểu đồ lớp các yêu cầu của hệ thống thư viện - NGHIÊN cứu PHƯƠNG PHÁP KIỂM CHỨNG mô HÌNH PHẦN mềm dựa TRÊN SAT
Hình 4.1 Biểu đồ lớp các yêu cầu của hệ thống thư viện (Trang 61)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w